projects/linux·commit b043b673

Merge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb

b043b673 · Linus Torvalds <[email protected]> · 2006-04-02 12:53:57 -07:00

* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (49 commits)
  V4L/DVB (3667b): cpia2: fix function prototype
  V4L/DVB (3702): Make msp3400 routing defines more consistent
  V4L/DVB (3700): Remove obsolete commands from tvp5150.c
  V4L/DVB (3697): More msp3400 and bttv fixes
  V4L/DVB (3696): Previous change for cx2341X boards broke the remote support
  V4L/DVB (3693): Fix msp3400c and bttv stereo/mono/bilingual detection/handling
  V4L/DVB (3692): Keep experimental SLICED_VBI defines under an #if 0
  V4L/DVB (3689): Kconfig: fix VP-3054 Secondary I2C Bus build configuration menu dependencies
  V4L/DVB (3673): Fix budget-av CAM reset
  V4L/DVB (3672): Fix memory leak in dvr open
  V4L/DVB (3671): New module parameter 'tv_standard' (dvb-ttpci driver)
  V4L/DVB (3670): Fix typo in comment
  V4L/DVB (3669): Configurable dma buffer size for saa7146-based budget dvb cards
  V4L/DVB (3653h): Move usb v4l docs into Documentation/video4linux
  V4L/DVB (3667a): Fix SAP + stereo mode at msp3400
  V4L/DVB (3666): Remove trailing newlines
  V4L/DVB (3665): Add new NEC uPD64031A and uPD64083 i2c drivers
  V4L/DVB (3663): Fix msp3400c wait time and better audio mode fallbacks
  V4L/DVB (3662): Don't set msp3400c-non-existent register
  V4L/DVB (3661): Add wm8739 stereo audio ADC i2c driver
  ...
Commit
b043b673dc8a73daa233d5d92cf70b32e7351314
Parents
cd5e25d9 · fb9c280d

Merge commit. Changes below are compared with the first parent: cd5e25d9.

Changes

72 files changed · +2104 −868

FileStatusAddDelContent
Documentation/video4linux/CARDLIST.saa7134modified+3−2View file
Documentation/usb/et61x251.txt → Documentation/video4linux/et61x251.txtrenamed+0−0View file
Documentation/usb/ibmcam.txt → Documentation/video4linux/ibmcam.txtrenamed+1−1View file
Documentation/usb/ov511.txt → Documentation/video4linux/ov511.txtrenamed+5−6View file
Documentation/usb/se401.txt → Documentation/video4linux/se401.txtrenamed+0−0View file
Documentation/usb/sn9c102.txt → Documentation/video4linux/sn9c102.txtrenamed+8−8View file
Documentation/usb/stv680.txt → Documentation/video4linux/stv680.txtrenamed+12−14View file
Documentation/usb/w9968cf.txt → Documentation/video4linux/w9968cf.txtrenamed+18−18View file
Documentation/usb/zc0301.txt → Documentation/video4linux/zc0301.txtrenamed+0−0View file
drivers/media/Kconfigmodified+12−12View file
drivers/media/dvb/bt8xx/Kconfigmodified+1−0View file
drivers/media/dvb/dvb-core/dmxdev.cmodified+9−3View file
drivers/media/dvb/dvb-core/dvb_frontend.cmodified+17−1View file
drivers/media/dvb/dvb-core/dvb_frontend.hmodified+2−0View file
drivers/media/dvb/dvb-usb/cxusb.cmodified+54−0View file
drivers/media/dvb/dvb-usb/dtt200u.cmodified+46−1View file
drivers/media/dvb/dvb-usb/dvb-usb-ids.hmodified+2−0View file
drivers/media/dvb/dvb-usb/vp702x-fe.cmodified+3−2View file
drivers/media/dvb/frontends/Kconfigmodified+12−0View file
drivers/media/dvb/frontends/tda1004x.cmodified+0−12View file
drivers/media/dvb/ttpci/av7110.cmodified+7−1View file
drivers/media/dvb/ttpci/av7110_av.cmodified+0−2View file
drivers/media/dvb/ttpci/budget-av.cmodified+8−5View file
drivers/media/dvb/ttpci/budget-core.cmodified+63−15View file
drivers/media/dvb/ttpci/budget-patch.cmodified+12−12View file
drivers/media/dvb/ttpci/budget.hmodified+7−6View file
drivers/media/video/Kconfigmodified+65−168View file
drivers/media/video/Makefilemodified+3−3View file
drivers/media/video/bt8xx/bttv-driver.cmodified+88−82View file
drivers/media/video/bt8xx/bttv-vbi.cmodified+1−1View file
drivers/media/video/cpia.cmodified+6−7View file
drivers/media/video/cpia2/cpia2.hmodified+1−1View file
drivers/media/video/cx25840/cx25840-audio.cmodified+2−1View file
drivers/media/video/cx25840/cx25840-core.cmodified+14−10View file
drivers/media/video/cx25840/cx25840.h → drivers/media/video/cx25840/cx25840-core.hrenamed+3−43View file
drivers/media/video/cx25840/cx25840-firmware.cmodified+13−2View file
drivers/media/video/cx25840/cx25840-vbi.cmodified+5−4View file
drivers/media/video/cx88/Kconfigmodified+10−5View file
drivers/media/video/em28xx/em28xx-cards.cmodified+2−2View file
drivers/media/video/em28xx/em28xx-video.cmodified+5−28View file
drivers/media/video/et61x251/Kconfigadded+14−0View file
drivers/media/video/ir-kbd-i2c.cmodified+3−0View file
drivers/media/video/msp3400-driver.cmodified+42−49View file
drivers/media/video/msp3400-driver.hmodified+4−2View file
drivers/media/video/msp3400-kthreads.cmodified+64−57View file
drivers/media/video/pwc/Kconfigadded+28−0View file
drivers/media/video/saa7115.cmodified+53−12View file
drivers/media/video/saa7127.cmodified+18−25View file
drivers/media/video/saa7134/Kconfigmodified+1−0View file
drivers/media/video/saa7134/saa7134-cards.cmodified+63−3View file
drivers/media/video/saa7134/saa7134-dvb.cmodified+4−0View file
drivers/media/video/saa7134/saa7134.hmodified+1−0View file
drivers/media/video/sn9c102/Kconfigadded+11−0View file
drivers/media/video/tuner-core.cmodified+7−5View file
drivers/media/video/tvaudio.cmodified+0−15View file
drivers/media/video/tveeprom.cmodified+3−3View file
drivers/media/video/tvp5150.cmodified+17−123View file
drivers/media/video/upd64031a.cadded+286−0View file
drivers/media/video/upd64083.cadded+262−0View file
drivers/media/video/usbvideo/Kconfigadded+38−0View file
drivers/media/video/usbvideo/Makefilemodified+4−4View file
drivers/media/video/v4l2-common.cmodified+7−1View file
drivers/media/video/video-buf.cmodified+10−4View file
drivers/media/video/wm8739.cadded+355−0View file
drivers/media/video/zc0301/Kconfigadded+11−0View file
include/linux/videodev2.hmodified+8−57View file
include/media/cx25840.hadded+64−0View file
include/media/msp3400.hmodified+30−30View file
include/media/saa7115.hadded+37−0View file
include/media/saa7127.hadded+41−0View file
include/media/upd64031a.hadded+40−0View file
include/media/upd64083.hadded+58−0View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/video4linux/CARDLIST.saa7134

View file
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index 8c71954..bca5090 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -52,7 +52,7 @@
51 -> ProVideo PV952 [1540:9524]
52 -> AverMedia AverTV/305 [1461:2108]
53 -> ASUS TV-FM 7135 [1043:4845]
- 54 -> LifeView FlyTV Platinum FM [5168:0214,1489:0214]
+ 54 -> LifeView FlyTV Platinum FM / Gold [5168:0214,1489:0214,5168:0304]
55 -> LifeView FlyDVB-T DUO [5168:0306]
56 -> Avermedia AVerTV 307 [1461:a70a]
57 -> Avermedia AVerTV GO 007 FM [1461:f31f]
@@ -84,7 +84,7 @@
83 -> Terratec Cinergy 250 PCI TV [153b:1160]
84 -> LifeView FlyDVB Trio [5168:0319]
85 -> AverTV DVB-T 777 [1461:2c05]
- 86 -> LifeView FlyDVB-T [5168:0301]
+ 86 -> LifeView FlyDVB-T / Genius VideoWonder DVB-T [5168:0301,1489:0301]
87 -> ADS Instant TV Duo Cardbus PTV331 [0331:1421]
88 -> Tevion/KWorld DVB-T 220RF [17de:7201]
89 -> ELSA EX-VISION 700TV [1048:226c]
@@ -92,3 +92,4 @@
91 -> AVerMedia A169 B [1461:7360]
92 -> AVerMedia A169 B1 [1461:6360]
93 -> Medion 7134 Bridge #2 [16be:0005]
+ 94 -> LifeView FlyDVB-T Hybrid Cardbus [5168:3306,5168:3502]

Documentation/video4linux/et61x251.txt

View file
diff --git a/Documentation/usb/et61x251.txt b/Documentation/video4linux/et61x251.txt
similarity index 100%
rename from Documentation/usb/et61x251.txt
rename to Documentation/video4linux/et61x251.txt

Documentation/video4linux/ibmcam.txt

View file
diff --git a/Documentation/usb/ibmcam.txt b/Documentation/video4linux/ibmcam.txt
similarity index 100%
rename from Documentation/usb/ibmcam.txt
rename to Documentation/video4linux/ibmcam.txt
index c250036..4a40a2e 100644
--- a/Documentation/usb/ibmcam.txt
+++ b/Documentation/video4linux/ibmcam.txt
@@ -122,7 +122,7 @@ WHAT YOU NEED:
- A Linux box with USB support (2.3/2.4; 2.2 w/backport may work)
- A Video4Linux compatible frame grabber program such as xawtv.
-
+
HOW TO COMPILE THE DRIVER:
You need to compile the driver only if you are a developer

Documentation/video4linux/ov511.txt

View file
diff --git a/Documentation/usb/ov511.txt b/Documentation/video4linux/ov511.txt
similarity index 98%
rename from Documentation/usb/ov511.txt
rename to Documentation/video4linux/ov511.txt
index a7fc043..142741e 100644
--- a/Documentation/usb/ov511.txt
+++ b/Documentation/video4linux/ov511.txt
@@ -9,7 +9,7 @@ INTRODUCTION:
This is a driver for the OV511, a USB-only chip used in many "webcam" devices.
Any camera using the OV511/OV511+ and the OV6620/OV7610/20/20AE should work.
-Video capture devices that use the Philips SAA7111A decoder also work. It
+Video capture devices that use the Philips SAA7111A decoder also work. It
supports streaming and capture of color or monochrome video via the Video4Linux
API. Most V4L apps are compatible with it. Most resolutions with a width and
height that are a multiple of 8 are supported.
@@ -52,15 +52,15 @@ from it:
chmod 666 /dev/video
chmod 666 /dev/video0 (if necessary)
-
+
Now you are ready to run a video app! Both vidcat and xawtv work well for me
at 640x480.
-
+
[Using vidcat:]
vidcat -s 640x480 -p c > test.jpg
xview test.jpg
-
+
[Using xawtv:]
From the main xawtv directory:
@@ -70,7 +70,7 @@ From the main xawtv directory:
make
make install
-Now you should be able to run xawtv. Right click for the options dialog.
+Now you should be able to run xawtv. Right click for the options dialog.
MODULE PARAMETERS:
@@ -286,4 +286,3 @@ Randy Dunlap, and others. Big thanks to them for their pioneering work on that
and the USB stack. Thanks to Bret Wallach for getting camera reg IO, ISOC, and
image capture working. Thanks to Orion Sky Lawlor, Kevin Moore, and Claudio
Matsuoka for their work as well.
-

Documentation/video4linux/se401.txt

View file
diff --git a/Documentation/usb/se401.txt b/Documentation/video4linux/se401.txt
similarity index 100%
rename from Documentation/usb/se401.txt
rename to Documentation/video4linux/se401.txt

Documentation/video4linux/sn9c102.txt

View file
diff --git a/Documentation/usb/sn9c102.txt b/Documentation/video4linux/sn9c102.txt
similarity index 95%
rename from Documentation/usb/sn9c102.txt
rename to Documentation/video4linux/sn9c102.txt
index b957bea..142920b 100644
--- a/Documentation/usb/sn9c102.txt
+++ b/Documentation/video4linux/sn9c102.txt
@@ -174,7 +174,7 @@ Module parameters are listed below:
-------------------------------------------------------------------------------
Name: video_nr
Type: short array (min = 0, max = 64)
-Syntax: <-1|n[,...]>
+Syntax: <-1|n[,...]>
Description: Specify V4L2 minor mode number:
-1 = use next available
n = use minor number n
@@ -187,7 +187,7 @@ Default: -1
-------------------------------------------------------------------------------
Name: force_munmap
Type: bool array (min = 0, max = 64)
-Syntax: <0|1[,...]>
+Syntax: <0|1[,...]>
Description: Force the application to unmap previously mapped buffer memory
before calling any VIDIOC_S_CROP or VIDIOC_S_FMT ioctl's. Not
all the applications support this feature. This parameter is
@@ -206,7 +206,7 @@ Default: 2
-------------------------------------------------------------------------------
Name: debug
Type: ushort
-Syntax: <n>
+Syntax: <n>
Description: Debugging information level, from 0 to 3:
0 = none (use carefully)
1 = critical errors
@@ -267,7 +267,7 @@ The sysfs interface also provides the "frame_header" entry, which exports the
frame header of the most recent requested and captured video frame. The header
is always 18-bytes long and is appended to every video frame by the SN9C10x
controllers. As an example, this additional information can be used by the user
-application for implementing auto-exposure features via software.
+application for implementing auto-exposure features via software.
The following table describes the frame header:
@@ -441,7 +441,7 @@ blue pixels in one video frame. Each pixel is associated with a 8-bit long
value and is disposed in memory according to the pattern shown below:
B[0] G[1] B[2] G[3] ... B[m-2] G[m-1]
-G[m] R[m+1] G[m+2] R[m+2] ... G[2m-2] R[2m-1]
+G[m] R[m+1] G[m+2] R[m+2] ... G[2m-2] R[2m-1]
...
... B[(n-1)(m-2)] G[(n-1)(m-1)]
... G[n(m-2)] R[n(m-1)]
@@ -472,12 +472,12 @@ The pixel reference value is calculated as follows:
The algorithm purely describes the conversion from compressed Bayer code used
in the SN9C10x chips to uncompressed Bayer. Additional steps are required to
convert this to a color image (i.e. a color interpolation algorithm).
-
+
The following Huffman codes have been found:
-0: +0 (relative to reference pixel value)
+0: +0 (relative to reference pixel value)
100: +4
101: -4?
-1110xxxx: set absolute value to xxxx.0000
+1110xxxx: set absolute value to xxxx.0000
1101: +11
1111: -11
11001: +20

Documentation/video4linux/stv680.txt

View file
diff --git a/Documentation/usb/stv680.txt b/Documentation/video4linux/stv680.txt
similarity index 68%
rename from Documentation/usb/stv680.txt
rename to Documentation/video4linux/stv680.txt
index 6448041..4f8946f 100644
--- a/Documentation/usb/stv680.txt
+++ b/Documentation/video4linux/stv680.txt
@@ -5,15 +5,15 @@ Copyright, 2001, Kevin Sisson
INTRODUCTION:
-STMicroelectronics produces the STV0680B chip, which comes in two
-types, -001 and -003. The -003 version allows the recording and downloading
-of sound clips from the camera, and allows a flash attachment. Otherwise,
-it uses the same commands as the -001 version. Both versions support a
-variety of SDRAM sizes and sensors, allowing for a maximum of 26 VGA or 20
-CIF pictures. The STV0680 supports either a serial or a usb interface, and
+STMicroelectronics produces the STV0680B chip, which comes in two
+types, -001 and -003. The -003 version allows the recording and downloading
+of sound clips from the camera, and allows a flash attachment. Otherwise,
+it uses the same commands as the -001 version. Both versions support a
+variety of SDRAM sizes and sensors, allowing for a maximum of 26 VGA or 20
+CIF pictures. The STV0680 supports either a serial or a usb interface, and
video is possible through the usb interface.
-The following cameras are known to work with this driver, although any
+The following cameras are known to work with this driver, although any
camera with Vendor/Product codes of 0553/0202 should work:
Aiptek Pencam (various models)
@@ -34,15 +34,15 @@ http://www.linux-usb.org
MODULE OPTIONS:
When the driver is compiled as a module, you can set a "swapRGB=1"
-option, if necessary, for those applications that require it
-(such as xawtv). However, the driver should detect and set this
+option, if necessary, for those applications that require it
+(such as xawtv). However, the driver should detect and set this
automatically, so this option should not normally be used.
KNOWN PROBLEMS:
-The driver seems to work better with the usb-ohci than the usb-uhci host
-controller driver.
+The driver seems to work better with the usb-ohci than the usb-uhci host
+controller driver.
HELP:
@@ -50,6 +50,4 @@ The latest info on this driver can be found at:
http://personal.clt.bellsouth.net/~kjsisson or at
http://stv0680-usb.sourceforge.net
-Any questions to me can be send to: [email protected]
-
-
+Any questions to me can be send to: [email protected]
\ No newline at end of file

Documentation/video4linux/w9968cf.txt

View file
diff --git a/Documentation/usb/w9968cf.txt b/Documentation/video4linux/w9968cf.txt
similarity index 90%
rename from Documentation/usb/w9968cf.txt
rename to Documentation/video4linux/w9968cf.txt
index 9d46cd0..3b704f2 100644
--- a/Documentation/usb/w9968cf.txt
+++ b/Documentation/video4linux/w9968cf.txt
@@ -1,5 +1,5 @@
- W996[87]CF JPEG USB Dual Mode Camera Chip
+ W996[87]CF JPEG USB Dual Mode Camera Chip
Driver for Linux 2.6 (basic version)
=========================================
@@ -115,7 +115,7 @@ additional testing and full support, would be much appreciated.
======================
For it to work properly, the driver needs kernel support for Video4Linux, USB
and I2C, and the "ovcamchip" module for the image sensor. Make sure you are not
-actually using any external "ovcamchip" module, given that the W996[87]CF
+actually using any external "ovcamchip" module, given that the W996[87]CF
driver depends on the version of the module present in the official kernels.
The following options of the kernel configuration file must be enabled and
@@ -197,16 +197,16 @@ Note: The kernel must be compiled with the CONFIG_KMOD option
enabled for the 'ovcamchip' module to be loaded and for
this parameter to be present.
-------------------------------------------------------------------------------
-Name: simcams
-Type: int
-Syntax: <n>
+Name: simcams
+Type: int
+Syntax: <n>
Description: Number of cameras allowed to stream simultaneously.
n may vary from 0 to 32.
Default: 32
-------------------------------------------------------------------------------
Name: video_nr
Type: int array (min = 0, max = 32)
-Syntax: <-1|n[,...]>
+Syntax: <-1|n[,...]>
Description: Specify V4L minor mode number.
-1 = use next available
n = use minor number n
@@ -219,7 +219,7 @@ Default: -1
-------------------------------------------------------------------------------
Name: packet_size
Type: int array (min = 0, max = 32)
-Syntax: <n[,...]>
+Syntax: <n[,...]>
Description: Specify the maximum data payload size in bytes for alternate
settings, for each device. n is scaled between 63 and 1023.
Default: 1023
@@ -234,7 +234,7 @@ Default: 2
-------------------------------------------------------------------------------
Name: double_buffer
Type: bool array (min = 0, max = 32)
-Syntax: <0|1[,...]>
+Syntax: <0|1[,...]>
Description: Hardware double buffering: 0 disabled, 1 enabled.
It should be enabled if you want smooth video output: if you
obtain out of sync. video, disable it, or try to
@@ -243,13 +243,13 @@ Default: 1 for every device.
-------------------------------------------------------------------------------
Name: clamping
Type: bool array (min = 0, max = 32)
-Syntax: <0|1[,...]>
+Syntax: <0|1[,...]>
Description: Video data clamping: 0 disabled, 1 enabled.
Default: 0 for every device.
-------------------------------------------------------------------------------
Name: filter_type
Type: int array (min = 0, max = 32)
-Syntax: <0|1|2[,...]>
+Syntax: <0|1|2[,...]>
Description: Video filter type.
0 none, 1 (1-2-1) 3-tap filter, 2 (2-3-6-3-2) 5-tap filter.
The filter is used to reduce noise and aliasing artifacts
@@ -258,13 +258,13 @@ Default: 0 for every device.
-------------------------------------------------------------------------------
Name: largeview
Type: bool array (min = 0, max = 32)
-Syntax: <0|1[,...]>
+Syntax: <0|1[,...]>
Description: Large view: 0 disabled, 1 enabled.
Default: 1 for every device.
-------------------------------------------------------------------------------
Name: upscaling
Type: bool array (min = 0, max = 32)
-Syntax: <0|1[,...]>
+Syntax: <0|1[,...]>
Description: Software scaling (for non-compressed video only):
0 disabled, 1 enabled.
Disable it if you have a slow CPU or you don't have enough
@@ -341,8 +341,8 @@ Default: 50 for every device.
-------------------------------------------------------------------------------
Name: bandingfilter
Type: bool array (min = 0, max = 32)
-Syntax: <0|1[,...]>
-Description: Banding filter to reduce effects of fluorescent
+Syntax: <0|1[,...]>
+Description: Banding filter to reduce effects of fluorescent
lighting:
0 disabled, 1 enabled.
This filter tries to reduce the pattern of horizontal
@@ -374,7 +374,7 @@ Default: 0 for every device.
-------------------------------------------------------------------------------
Name: monochrome
Type: bool array (min = 0, max = 32)
-Syntax: <0|1[,...]>
+Syntax: <0|1[,...]>
Description: The image sensor is monochrome:
0 = no, 1 = yes
Default: 0 for every device.
@@ -400,19 +400,19 @@ Default: 32768 for every device.
-------------------------------------------------------------------------------
Name: contrast
Type: long array (min = 0, max = 32)
-Syntax: <n[,...]>
+Syntax: <n[,...]>
Description: Set picture contrast (0-65535).
Default: 50000 for every device.
-------------------------------------------------------------------------------
Name: whiteness
Type: long array (min = 0, max = 32)
-Syntax: <n[,...]>
+Syntax: <n[,...]>
Description: Set picture whiteness (0-65535).
Default: 32768 for every device.
-------------------------------------------------------------------------------
Name: debug
Type: int
-Syntax: <n>
+Syntax: <n>
Description: Debugging information level, from 0 to 6:
0 = none (use carefully)
1 = critical errors

Documentation/video4linux/zc0301.txt

View file
diff --git a/Documentation/usb/zc0301.txt b/Documentation/video4linux/zc0301.txt
similarity index 100%
rename from Documentation/usb/zc0301.txt
rename to Documentation/video4linux/zc0301.txt

drivers/media/Kconfig

View file
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index baa9f58..fffc711 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -51,18 +51,18 @@ config VIDEO_TVEEPROM
tristate
config USB_DABUSB
- tristate "DABUSB driver"
- depends on USB
- ---help---
- A Digital Audio Broadcasting (DAB) Receiver for USB and Linux
- brought to you by the DAB-Team
- <http://wwwbode.cs.tum.edu/Par/arch/dab/>. This driver can be taken
- as an example for URB-based bulk, control, and isochronous
- transactions. URB's are explained in
- <Documentation/usb/URB.txt>.
-
- To compile this driver as a module, choose M here: the
- module will be called dabusb.
+ tristate "DABUSB driver"
+ depends on USB
+ ---help---
+ A Digital Audio Broadcasting (DAB) Receiver for USB and Linux
+ brought to you by the DAB-Team
+ <http://wwwbode.cs.tum.edu/Par/arch/dab/>. This driver can be taken
+ as an example for URB-based bulk, control, and isochronous
+ transactions. URB's are explained in
+ <Documentation/usb/URB.txt>.
+
+ To compile this driver as a module, choose M here: the
+ module will be called dabusb.
endmenu

drivers/media/dvb/bt8xx/Kconfig

View file
diff --git a/drivers/media/dvb/bt8xx/Kconfig b/drivers/media/dvb/bt8xx/Kconfig
index 2337b41..376ca48 100644
--- a/drivers/media/dvb/bt8xx/Kconfig
+++ b/drivers/media/dvb/bt8xx/Kconfig
@@ -7,6 +7,7 @@ config DVB_BT8XX
select DVB_CX24110
select DVB_OR51211
select DVB_LGDT330X
+ select FW_LOADER
help
Support for PCI cards based on the Bt8xx PCI bridge. Examples are
the Nebula cards, the Pinnacle PCTV cards, the Twinhan DST cards,

drivers/media/dvb/dvb-core/dmxdev.c

View file
diff --git a/drivers/media/dvb/dvb-core/dmxdev.c b/drivers/media/dvb/dvb-core/dmxdev.c
index 09e96e9..04578df 100644
--- a/drivers/media/dvb/dvb-core/dmxdev.c
+++ b/drivers/media/dvb/dvb-core/dmxdev.c
@@ -141,12 +141,18 @@ static int dvb_dvr_open(struct inode *inode, struct file *file)
}
if ((file->f_flags & O_ACCMODE) == O_RDONLY) {
- void *mem = vmalloc(DVR_BUFFER_SIZE);
+ void *mem;
+ if (!dvbdev->readers) {
+ mutex_unlock(&dmxdev->mutex);
+ return -EBUSY;
+ }
+ mem = vmalloc(DVR_BUFFER_SIZE);
if (!mem) {
mutex_unlock(&dmxdev->mutex);
return -ENOMEM;
}
dvb_ringbuffer_init(&dmxdev->dvr_buffer, mem, DVR_BUFFER_SIZE);
+ dvbdev->readers--;
}
if ((file->f_flags & O_ACCMODE) == O_WRONLY) {
@@ -184,6 +190,7 @@ static int dvb_dvr_release(struct inode *inode, struct file *file)
dmxdev->dvr_orig_fe);
}
if ((file->f_flags & O_ACCMODE) == O_RDONLY) {
+ dvbdev->readers++;
if (dmxdev->dvr_buffer.data) {
void *mem = dmxdev->dvr_buffer.data;
mb();
@@ -1029,8 +1036,7 @@ static struct file_operations dvb_dvr_fops = {
static struct dvb_device dvbdev_dvr = {
.priv = NULL,
- .users = 1,
- .writers = 1,
+ .readers = 1,
.fops = &dvb_dvr_fops
};

drivers/media/dvb/dvb-core/dvb_frontend.c

View file
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 2c3ea8f..4f8f257 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -105,6 +105,7 @@ struct dvb_frontend_private {
fe_status_t status;
unsigned long tune_mode_flags;
unsigned int delay;
+ unsigned int reinitialise;
/* swzigzag values */
unsigned int state;
@@ -121,6 +122,7 @@ struct dvb_frontend_private {
unsigned int check_wrapped;
};
+static void dvb_frontend_wakeup(struct dvb_frontend *fe);
static void dvb_frontend_add_event(struct dvb_frontend *fe, fe_status_t status)
{
@@ -213,6 +215,15 @@ static void dvb_frontend_init(struct dvb_frontend *fe)
fe->ops->init(fe);
}
+void dvb_frontend_reinitialise(struct dvb_frontend *fe)
+{
+ struct dvb_frontend_private *fepriv = fe->frontend_priv;
+
+ fepriv->reinitialise = 1;
+ dvb_frontend_wakeup(fe);
+}
+EXPORT_SYMBOL(dvb_frontend_reinitialise);
+
static void dvb_frontend_swzigzag_update_delay(struct dvb_frontend_private *fepriv, int locked)
{
int q2;
@@ -505,8 +516,8 @@ static int dvb_frontend_thread(void *data)
fepriv->quality = 0;
fepriv->delay = 3*HZ;
fepriv->status = 0;
- dvb_frontend_init(fe);
fepriv->wakeup = 0;
+ fepriv->reinitialise = 1;
while (1) {
up(&fepriv->sem); /* is locked when we enter the thread... */
@@ -524,6 +535,11 @@ static int dvb_frontend_thread(void *data)
if (down_interruptible(&fepriv->sem))
break;
+ if (fepriv->reinitialise) {
+ dvb_frontend_init(fe);
+ fepriv->reinitialise = 0;
+ }
+
/* do an iteration of the tuning loop */
if (fe->ops->tune) {
/* have we been asked to retune? */

drivers/media/dvb/dvb-core/dvb_frontend.h

View file
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
index d5aee5a..5926a3b 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -112,6 +112,8 @@ extern int dvb_register_frontend(struct dvb_adapter* dvb,
extern int dvb_unregister_frontend(struct dvb_frontend* fe);
+extern void dvb_frontend_reinitialise(struct dvb_frontend *fe);
+
extern void dvb_frontend_sleep_until(struct timeval *waketime, u32 add_usec);
extern s32 timeval_usec_diff(struct timeval lasttime, struct timeval curtime);

drivers/media/dvb/dvb-usb/cxusb.c

View file
diff --git a/drivers/media/dvb/dvb-usb/cxusb.c b/drivers/media/dvb/dvb-usb/cxusb.c
index a14e737..7edd636 100644
--- a/drivers/media/dvb/dvb-usb/cxusb.c
+++ b/drivers/media/dvb/dvb-usb/cxusb.c
@@ -233,6 +233,45 @@ static struct dvb_usb_rc_key dvico_mce_rc_keys[] = {
{ 0xfe, 0x4e, KEY_POWER },
};
+static struct dvb_usb_rc_key dvico_portable_rc_keys[] = {
+ { 0xfc, 0x02, KEY_SETUP }, /* Profile */
+ { 0xfc, 0x43, KEY_POWER2 },
+ { 0xfc, 0x06, KEY_EPG },
+ { 0xfc, 0x5a, KEY_BACK },
+ { 0xfc, 0x05, KEY_MENU },
+ { 0xfc, 0x47, KEY_INFO },
+ { 0xfc, 0x01, KEY_TAB },
+ { 0xfc, 0x42, KEY_PREVIOUSSONG },/* Replay */
+ { 0xfc, 0x49, KEY_VOLUMEUP },
+ { 0xfc, 0x09, KEY_VOLUMEDOWN },
+ { 0xfc, 0x54, KEY_CHANNELUP },
+ { 0xfc, 0x0b, KEY_CHANNELDOWN },
+ { 0xfc, 0x16, KEY_CAMERA },
+ { 0xfc, 0x40, KEY_TUNER }, /* ATV/DTV */
+ { 0xfc, 0x45, KEY_OPEN },
+ { 0xfc, 0x19, KEY_1 },
+ { 0xfc, 0x18, KEY_2 },
+ { 0xfc, 0x1b, KEY_3 },
+ { 0xfc, 0x1a, KEY_4 },
+ { 0xfc, 0x58, KEY_5 },
+ { 0xfc, 0x59, KEY_6 },
+ { 0xfc, 0x15, KEY_7 },
+ { 0xfc, 0x14, KEY_8 },
+ { 0xfc, 0x17, KEY_9 },
+ { 0xfc, 0x44, KEY_ANGLE }, /* Aspect */
+ { 0xfc, 0x55, KEY_0 },
+ { 0xfc, 0x07, KEY_ZOOM },
+ { 0xfc, 0x0a, KEY_REWIND },
+ { 0xfc, 0x08, KEY_PLAYPAUSE },
+ { 0xfc, 0x4b, KEY_FASTFORWARD },
+ { 0xfc, 0x5b, KEY_MUTE },
+ { 0xfc, 0x04, KEY_STOP },
+ { 0xfc, 0x56, KEY_RECORD },
+ { 0xfc, 0x57, KEY_POWER },
+ { 0xfc, 0x41, KEY_UNKNOWN }, /* INPUT */
+ { 0xfc, 0x00, KEY_UNKNOWN }, /* HD */
+};
+
static int cxusb_dee1601_demod_init(struct dvb_frontend* fe)
{
static u8 clock_config [] = { CLOCK_CTL, 0x38, 0x28 };
@@ -511,6 +550,11 @@ static struct dvb_usb_properties cxusb_bluebird_lgh064f_properties = {
.i2c_algo = &cxusb_i2c_algo,
+ .rc_interval = 100,
+ .rc_key_map = dvico_portable_rc_keys,
+ .rc_key_map_size = ARRAY_SIZE(dvico_portable_rc_keys),
+ .rc_query = cxusb_rc_query,
+
.generic_bulk_ctrl_endpoint = 0x01,
/* parameter for the MPEG2-data transfer */
.urb = {
@@ -600,6 +644,11 @@ static struct dvb_usb_properties cxusb_bluebird_lgz201_properties = {
.i2c_algo = &cxusb_i2c_algo,
+ .rc_interval = 100,
+ .rc_key_map = dvico_portable_rc_keys,
+ .rc_key_map_size = ARRAY_SIZE(dvico_portable_rc_keys),
+ .rc_query = cxusb_rc_query,
+
.generic_bulk_ctrl_endpoint = 0x01,

This diff is incomplete. Download the complete patch.

drivers/media/dvb/dvb-usb/dtt200u.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/dvb/dvb-usb/dvb-usb-ids.h

View file

This diff is incomplete. Download the complete patch.

drivers/media/dvb/dvb-usb/vp702x-fe.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/dvb/frontends/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/media/dvb/frontends/tda1004x.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/dvb/ttpci/av7110.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/dvb/ttpci/av7110_av.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/dvb/ttpci/budget-av.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/dvb/ttpci/budget-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/dvb/ttpci/budget-patch.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/dvb/ttpci/budget.h

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/bt8xx/bttv-driver.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/bt8xx/bttv-vbi.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/cpia.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/cpia2/cpia2.h

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/cx25840/cx25840-audio.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/cx25840/cx25840-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/cx25840/cx25840-core.h

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/cx25840/cx25840-firmware.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/cx25840/cx25840-vbi.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/cx88/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/em28xx/em28xx-cards.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/em28xx/em28xx-video.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/et61x251/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/ir-kbd-i2c.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/msp3400-driver.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/msp3400-driver.h

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/msp3400-kthreads.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/pwc/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/saa7115.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/saa7127.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/saa7134/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/saa7134/saa7134-cards.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/saa7134/saa7134-dvb.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/saa7134/saa7134.h

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/sn9c102/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/tuner-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/tvaudio.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/tveeprom.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/tvp5150.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/upd64031a.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/upd64083.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/usbvideo/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/usbvideo/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/v4l2-common.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/video-buf.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/wm8739.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/video/zc0301/Kconfig

View file

This diff is incomplete. Download the complete patch.

include/linux/videodev2.h

View file

This diff is incomplete. Download the complete patch.

include/media/cx25840.h

View file

This diff is incomplete. Download the complete patch.

include/media/msp3400.h

View file

This diff is incomplete. Download the complete patch.

include/media/saa7115.h

View file

This diff is incomplete. Download the complete patch.

include/media/saa7127.h

View file

This diff is incomplete. Download the complete patch.

include/media/upd64031a.h

View file

This diff is incomplete. Download the complete patch.

include/media/upd64083.h

View file

This diff is incomplete. Download the complete patch.