rpms/kernel/devel config-generic, 1.260, 1.261 kernel.spec, 1.1461, 1.1462 linux-2.6-v4l-dvb-fixes.patch, 1.7, 1.8 linux-2.6-v4l-dvb-update.patch, 1.11, 1.12
Mauro Carvalho Chehab
mchehab at fedoraproject.org
Tue Mar 24 01:01:48 UTC 2009
Author: mchehab
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12964
Modified Files:
config-generic kernel.spec linux-2.6-v4l-dvb-fixes.patch
linux-2.6-v4l-dvb-update.patch
Log Message:
Adds drivers/media patches:
V4L/DVB (11125): fix mispelled Hauppauge in HD PVR and PVR USB2 driver comments
V4L/DVB (11127): Kconfig: replace all occurrences of CUSTOMIZE to CUSTOMISE
V4L/DVB (11136): get_dvb_firmware: Add download code for cx18 firmwares
V4L/DVB (11137): get_dvb_firmware: add cx23885 firmwares
V4L/DVB (11138): get_dvb_firmware: add support for downloading the cx2584x firmware for pvrusb2
V4L/DVB (11139): em28xx: add remote control definition for HVR-900 (both versions)
V4L/DVB (11140): usbvision: fix oops on ARM platform when allocating transfer buffers
V4L/DVB (11141): em28xx: fix oops on ARM platform when allocating transfer buffers
V4L/DVB (11142): au0828: fix oops on ARM platform when allocating transfer buffers
V4L/DVB (11143): gspca - t613: Bad sensor detection.
V4L/DVB (11144): gspca - t613: Don't re-read the ID registers at probe time.
V4L/DVB (11145): gspca - t613: Greater delay after om6802 reset.
V4L/DVB (11146): gspca - vc032x: Change the probe sequence.
V4L/DVB (11152): hdpvr: Fix build with Config_I2C not set
While here, fixes also some wrong items for drivers/media at config-generic
Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.260
retrieving revision 1.261
diff -u -r1.260 -r1.261
--- config-generic 19 Mar 2009 16:29:11 -0000 1.260
+++ config-generic 24 Mar 2009 01:01:16 -0000 1.261
@@ -2243,8 +2243,6 @@
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_OVCAMCHIP=m
CONFIG_VIDEO_PVRUSB2_DVB=y
-CONFIG_VIDEO_PVRUSB2_ONAIR_CREATOR=y
-CONFIG_VIDEO_PVRUSB2_ONAIR_USB2=y
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_SAA5246A=m
CONFIG_VIDEO_SAA5249=m
@@ -2264,8 +2262,6 @@
CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN_ZR36060=m
CONFIG_VIDEO_FB_IVTV=m
-CONFIG_TUNER_3036=m
-# CONFIG_TUNER_TEA5761 is not set
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
@@ -2278,14 +2274,13 @@
CONFIG_RADIO_MAESTRO=m
CONFIG_MEDIA_ATTACH=y
-# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
#
# Digital Video Broadcasting Devices
#
CONFIG_DVB_CAPTURE_DRIVERS=y
CONFIG_DVB_CORE=m
-CONFIG_DVB_CORE_ATTACH=y
# CONFIG_DVB_FE_CUSTOMISE is not set
@@ -2310,7 +2305,6 @@
#
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
-# CONFIG_DVB_AV7110_FIRMWARE is not set
CONFIG_DVB_BUDGET=m
CONFIG_DVB_BUDGET_CI=m
CONFIG_DVB_BUDGET_AV=m
@@ -2324,17 +2318,11 @@
#
# Supported FlexCopII (B2C2) Adapters
#
-CONFIG_DVB_CINERGYT2=m
+CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_B2C2_FLEXCOP=m
CONFIG_DVB_B2C2_FLEXCOP_PCI=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-CONFIG_DVB_CINERGYT2_TUNING=y
-CONFIG_DVB_CINERGYT2_STREAM_URB_COUNT=32
-CONFIG_DVB_CINERGYT2_STREAM_BUF_SIZE=512
-CONFIG_DVB_CINERGYT2_QUERY_INTERVAL=250
-CONFIG_DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE=y
-CONFIG_DVB_CINERGYT2_RC_QUERY_INTERVAL=100
CONFIG_DVB_USB=m
# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_A800=m
@@ -2358,13 +2346,10 @@
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_TUNER_MT2131
-CONFIG_DVB_TUNER_QT1010=m
-
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_TUNER=m
-# CONFIG_VIDEO_TUNER_CUSTOMIZE is not set
+# CONFIG_VIDEO_TUNER_CUSTOMISE is not set
CONFIG_VIDEO_BTCX=m
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_24XXX=y
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1461
retrieving revision 1.1462
diff -u -r1.1461 -r1.1462
--- kernel.spec 23 Mar 2009 20:58:38 -0000 1.1461
+++ kernel.spec 24 Mar 2009 01:01:16 -0000 1.1462
@@ -1820,6 +1820,11 @@
# and build.
%changelog
+* Mon Mar 23 2009 Mauro Carvalho Chehab <mchehab at rehat.com>
+- Some fixes on drivers/media
+- Removed inexistent drivers/media items from config-generic
+- Cinergy T2 option were renamed. Use the current syntax
+
* Mon Mar 23 2009 Matthew Garrett <mjg at redhat.com>
- linux-2.6-sony-laptop-rfkill.patch
Update to support hotkeys and rfkill switch
linux-2.6-v4l-dvb-fixes.patch:
Index: linux-2.6-v4l-dvb-fixes.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-v4l-dvb-fixes.patch,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- linux-2.6-v4l-dvb-fixes.patch 15 Mar 2009 16:57:35 -0000 1.7
+++ linux-2.6-v4l-dvb-fixes.patch 24 Mar 2009 01:01:16 -0000 1.8
@@ -0,0 +1,16 @@
+Devin Heitmueller (1):
+ V4L/DVB (11141): em28xx: fix oops on ARM platform when allocating transfer buffers
+
+diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c
+index 94fb1b6..f3c18ed 100644
+--- a/drivers/media/video/em28xx/em28xx-core.c
++++ b/drivers/media/video/em28xx/em28xx-core.c
+@@ -963,7 +963,7 @@ int em28xx_init_isoc(struct em28xx *dev, int max_packets,
+ em28xx_irq_callback, dma_q, 1);
+
+ urb->number_of_packets = max_packets;
+- urb->transfer_flags = URB_ISO_ASAP;
++ urb->transfer_flags = URB_ISO_ASAP | URB_NO_TRANSFER_DMA_MAP;
+
+ k = 0;
+ for (j = 0; j < max_packets; j++) {
linux-2.6-v4l-dvb-update.patch:
Index: linux-2.6-v4l-dvb-update.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-v4l-dvb-update.patch,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- linux-2.6-v4l-dvb-update.patch 20 Mar 2009 07:36:33 -0000 1.11
+++ linux-2.6-v4l-dvb-update.patch 24 Mar 2009 01:01:16 -0000 1.12
@@ -94,7 +94,7 @@
Bruno Christo (1):
V4L/DVB (10827): Add support for GeoVision GV-800(S)
-Devin Heitmueller (32):
+Devin Heitmueller (35):
V4L/DVB (10320): dib0700: fix i2c error message to make data type clear
V4L/DVB (10321): dib0700: Report dib0700_i2c_enumeration failures
V4L/DVB (11059): xc5000: fix bug for hybrid xc5000 devices with IF other than 5380
@@ -127,6 +127,9 @@
V4L/DVB (11086): au0828: rename macro for currently non-function VBI support
V4L/DVB (11088): au0828: finish videodev/subdev conversion
V4L/DVB (11089): au8522: finish conversion to v4l2_device/subdev
+ V4L/DVB (11139): em28xx: add remote control definition for HVR-900 (both versions)
+ V4L/DVB (11140): usbvision: fix oops on ARM platform when allocating transfer buffers
+ V4L/DVB (11142): au0828: fix oops on ARM platform when allocating transfer buffers
Douglas Kosovic (1):
V4L/DVB (10299): bttv: Add support for IVCE-8784 support for V4L2 bttv driver
@@ -337,10 +340,12 @@
Jan Engelhardt (1):
V4L/DVB (10391): dvb: constify VFTs
-Janne Grunau (3):
+Janne Grunau (5):
V4L/DVB (11095): adds V4L2_CID_SHARPNESS to v4l2_ctrl_query_fill()
V4L/DVB (11096): V4L2 Driver for the Hauppauge HD PVR usb capture device
V4L/DVB (11097): use video_ioctl2 as ioctl handler directly
+ V4L/DVB (11125): fix mispelled Hauppauge in HD PVR and PVR USB2 driver comments
+ V4L/DVB (11152): hdpvr: Fix build with Config_I2C not set
Jean Delvare (8):
V4L/DVB (10867): vino: fold i2c-algo-sgi code into vino.
@@ -352,7 +357,7 @@
V4L/DVB (10943): cx88: Prevent general protection fault on rmmod
V4L/DVB (11111a): MAINTAINERS: Drop references to deprecated video4linux list
-Jean-Francois Moine (64):
+Jean-Francois Moine (68):
V4L/DVB (10332): gspca - main: Version change.
V4L/DVB (10333): gspca - main and many subdrivers: Remove the epaddr variable.
V4L/DVB (10337): gspca - common: Simplify the debug macros.
@@ -417,6 +422,10 @@
V4L/DVB (11104): gspca - ov534: Bad frame pointer after adding the last packet
V4L/DVB (11105): gspca - ov534: Adjust the packet scan function
V4L/DVB (11106): gspca - ov534: New sensor ov965x and re-enable the webcam 06f8:3003
+ V4L/DVB (11143): gspca - t613: Bad sensor detection.
+ V4L/DVB (11144): gspca - t613: Don't re-read the ID registers at probe time.
+ V4L/DVB (11145): gspca - t613: Greater delay after om6802 reset.
+ V4L/DVB (11146): gspca - vc032x: Change the probe sequence.
Jochen Friedrich (2):
V4L/DVB (10452): Add Freescale MC44S803 tuner driver
@@ -468,7 +477,7 @@
V4L/DVB (10823): saa7134: add DVB support for Avermedia A700 cards
V4L/DVB (10948): flexcop-pci: Print a message in case the new stream watchdog detects a problem
-Mauro Carvalho Chehab (42):
+Mauro Carvalho Chehab (46):
V4L/DVB (10211): vivi: Implements 4 inputs on vivi
V4L/DVB (10298): remove err macro from few usb devices
V4L/DVB (10305): videobuf-vmalloc: Fix: videobuf memory were never freed
@@ -510,6 +519,10 @@
V4L/DVB (11109): au0828: Fix compilation when VIDEO_ADV_DEBUG = n
V4L/DVB (11110): au8522/au0828: Fix Kconfig dependencies
V4L/DVB (11111): dvb_dummy_fe: Fix compilation breakage
+ V4L/DVB (11127): Kconfig: replace all occurrences of CUSTOMIZE to CUSTOMISE
+ V4L/DVB (11136): get_dvb_firmware: Add download code for cx18 firmwares
+ V4L/DVB (11137): get_dvb_firmware: add cx23885 firmwares
+ V4L/DVB (11138): get_dvb_firmware: add support for downloading the cx2584x firmware for pvrusb2
Merge branch 'next' of ../devel into Fedora
Michael Krufky (35):
@@ -682,7 +695,7 @@
V4L/DVB (10824): Add "Sony PlayTV" to dibcom driver
diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware
-index f2e908d..72455b6 100644
+index f2e908d..2f21ecd 100644
--- a/Documentation/dvb/get_dvb_firmware
+++ b/Documentation/dvb/get_dvb_firmware
@@ -25,7 +25,7 @@ use IO::Handle;
@@ -690,11 +703,22 @@
"dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004",
"or51211", "or51132_qam", "or51132_vsb", "bluebird",
- "opera1");
-+ "opera1", "cx231xx");
++ "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2" );
# Check args
syntax() if (scalar(@ARGV) != 1);
-@@ -345,6 +345,19 @@ sub or51211 {
+@@ -37,8 +37,8 @@ for ($i=0; $i < scalar(@components); $i++) {
+ $outfile = eval($cid);
+ die $@ if $@;
+ print STDERR <<EOF;
+-Firmware $outfile extracted successfully.
+-Now copy it to either /usr/lib/hotplug/firmware or /lib/firmware
++Firmware(s) $outfile extracted successfully.
++Now copy it(they) to either /usr/lib/hotplug/firmware or /lib/firmware
+ (depending on configuration of firmware hotplug).
+ EOF
+ exit(0);
+@@ -345,6 +345,85 @@ sub or51211 {
$fwfile;
}
@@ -711,6 +735,72 @@
+ $fwfile;
+}
+
++sub cx18 {
++ my $url = "http://linuxtv.org/downloads/firmware/";
++
++ my %files = (
++ 'v4l-cx23418-apu.fw' => '588f081b562f5c653a3db1ad8f65939a',
++ 'v4l-cx23418-cpu.fw' => 'b6c7ed64bc44b1a6e0840adaeac39d79',
++ 'v4l-cx23418-dig.fw' => '95bc688d3e7599fd5800161e9971cc55',
++ );
++
++ checkstandard();
++
++ my $allfiles;
++ foreach my $fwfile (keys %files) {
++ wgetfile($fwfile, "$url/$fwfile");
++ verify($fwfile, $files{$fwfile});
++ $allfiles .= " $fwfile";
++ }
++
++ $allfiles =~ s/^\s//;
++
++ $allfiles;
++}
++
++sub cx23885 {
++ my $url = "http://linuxtv.org/downloads/firmware/";
++
++ my %files = (
++ 'v4l-cx23885-avcore-01.fw' => 'a9f8f5d901a7fb42f552e1ee6384f3bb',
++ 'v4l-cx23885-enc.fw' => 'a9f8f5d901a7fb42f552e1ee6384f3bb',
++ );
++
++ checkstandard();
++
++ my $allfiles;
++ foreach my $fwfile (keys %files) {
++ wgetfile($fwfile, "$url/$fwfile");
++ verify($fwfile, $files{$fwfile});
++ $allfiles .= " $fwfile";
++ }
++
++ $allfiles =~ s/^\s//;
++
++ $allfiles;
++}
++
++sub pvrusb2 {
++ my $url = "http://linuxtv.org/downloads/firmware/";
++
++ my %files = (
++ 'v4l-cx25840.fw' => 'dadb79e9904fc8af96e8111d9cb59320',
++ );
++
++ checkstandard();
++
++ my $allfiles;
++ foreach my $fwfile (keys %files) {
++ wgetfile($fwfile, "$url/$fwfile");
++ verify($fwfile, $files{$fwfile});
++ $allfiles .= " $fwfile";
++ }
++
++ $allfiles =~ s/^\s//;
++
++ $allfiles;
++}
++
sub or51132_qam {
my $fwfile = "dvb-fe-or51132-qam.fw";
my $url = "http://linuxtv.org/downloads/firmware/$fwfile";
@@ -3320,23 +3410,67 @@
/*********************************************************************************/
/* buffer handling functions */
diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig
-index 6f92bea..724e687 100644
+index 6f92bea..52c3f65 100644
--- a/drivers/media/common/tuners/Kconfig
+++ b/drivers/media/common/tuners/Kconfig
-@@ -29,6 +29,7 @@ config MEDIA_TUNER
- select MEDIA_TUNER_TEA5767 if !MEDIA_TUNER_CUSTOMIZE
- select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
- select MEDIA_TUNER_TDA9887 if !MEDIA_TUNER_CUSTOMIZE
-+ select MEDIA_TUNER_MC44S803 if !MEDIA_TUNER_CUSTOMIZE
-
- menuconfig MEDIA_TUNER_CUSTOMIZE
+@@ -21,16 +21,17 @@ config MEDIA_TUNER
+ tristate
+ default VIDEO_MEDIA && I2C
+ depends on VIDEO_MEDIA && I2C
+- select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_MT20XX if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_TEA5761 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_TEA5767 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_TDA9887 if !MEDIA_TUNER_CUSTOMIZE
+-
+-menuconfig MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_MT20XX if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_TEA5761 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_TEA5767 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_TDA9887 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_MC44S803 if !MEDIA_TUNER_CUSTOMISE
++
++menuconfig MEDIA_TUNER_CUSTOMISE
bool "Customize analog and hybrid tuner modules to build"
-@@ -65,14 +66,14 @@ config MEDIA_TUNER_TDA8290
+ depends on MEDIA_TUNER
+ default n
+@@ -43,13 +44,13 @@ menuconfig MEDIA_TUNER_CUSTOMIZE
+
+ If unsure say N.
+
+-if MEDIA_TUNER_CUSTOMIZE
++if MEDIA_TUNER_CUSTOMISE
+
+ config MEDIA_TUNER_SIMPLE
+ tristate "Simple tuner support"
+ depends on VIDEO_MEDIA && I2C
+ select MEDIA_TUNER_TDA9887
+- default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to include support for various simple tuners.
+
+@@ -58,28 +59,28 @@ config MEDIA_TUNER_TDA8290
+ depends on VIDEO_MEDIA && I2C
+ select MEDIA_TUNER_TDA827X
+ select MEDIA_TUNER_TDA18271
+- default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to include support for Philips TDA8290+8275(a) tuner.
+
config MEDIA_TUNER_TDA827X
tristate "Philips TDA827X silicon tuner"
depends on VIDEO_MEDIA && I2C
- default m if DVB_FE_CUSTOMISE
-+ default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
help
A DVB-T silicon tuner module. Say Y when you want to support this tuner.
@@ -3344,16 +3478,48 @@
tristate "NXP TDA18271 silicon tuner"
depends on VIDEO_MEDIA && I2C
- default m if DVB_FE_CUSTOMISE
-+ default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
help
A silicon tuner module. Say Y when you want to support this tuner.
-@@ -109,28 +110,28 @@ config MEDIA_TUNER_MT20XX
+ config MEDIA_TUNER_TDA9887
+ tristate "TDA 9885/6/7 analog IF demodulator"
+ depends on VIDEO_MEDIA && I2C
+- default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to include support for Philips TDA9885/6/7
+ analog IF demodulator.
+@@ -88,63 +89,63 @@ config MEDIA_TUNER_TEA5761
+ tristate "TEA 5761 radio tuner (EXPERIMENTAL)"
+ depends on VIDEO_MEDIA && I2C
+ depends on EXPERIMENTAL
+- default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to include support for the Philips TEA5761 radio tuner.
+
+ config MEDIA_TUNER_TEA5767
+ tristate "TEA 5767 radio tuner"
+ depends on VIDEO_MEDIA && I2C
+- default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to include support for the Philips TEA5767 radio tuner.
+
+ config MEDIA_TUNER_MT20XX
+ tristate "Microtune 2032 / 2050 tuners"
+ depends on VIDEO_MEDIA && I2C
+- default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to include support for the MT2032 / MT2050 tuner.
+
config MEDIA_TUNER_MT2060
tristate "Microtune MT2060 silicon IF tuner"
depends on VIDEO_MEDIA && I2C
- default m if DVB_FE_CUSTOMISE
-+ default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon IF tuner MT2060 from Microtune.
@@ -3361,7 +3527,7 @@
tristate "Microtune MT2266 silicon tuner"
depends on VIDEO_MEDIA && I2C
- default m if DVB_FE_CUSTOMISE
-+ default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon baseband tuner MT2266 from Microtune.
@@ -3369,7 +3535,7 @@
tristate "Microtune MT2131 silicon tuner"
depends on VIDEO_MEDIA && I2C
- default m if DVB_FE_CUSTOMISE
-+ default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon baseband tuner MT2131 from Microtune.
@@ -3377,16 +3543,23 @@
tristate "Quantek QT1010 silicon tuner"
depends on VIDEO_MEDIA && I2C
- default m if DVB_FE_CUSTOMISE
-+ default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon tuner QT1010 from Quantek.
-@@ -144,7 +145,7 @@ config MEDIA_TUNER_XC2028
+ config MEDIA_TUNER_XC2028
+ tristate "XCeive xc2028/xc3028 tuners"
+ depends on VIDEO_MEDIA && I2C
+- default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to include support for the xc2028/xc3028 tuners.
+
config MEDIA_TUNER_XC5000
tristate "Xceive XC5000 silicon tuner"
depends on VIDEO_MEDIA && I2C
- default m if DVB_FE_CUSTOMISE
-+ default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon tuner XC5000 from Xceive.
This device is only used inside a SiP called togther with a
@@ -3395,7 +3568,7 @@
tristate "MaxLinear MSL5005S silicon tuner"
depends on VIDEO_MEDIA && I2C
- default m if DVB_FE_CUSTOMISE
-+ default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon tuner MXL5005S from MaxLinear.
@@ -3403,18 +3576,19 @@
tristate "MaxLinear MxL5007T silicon tuner"
depends on VIDEO_MEDIA && I2C
- default m if DVB_FE_CUSTOMISE
-+ default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon tuner MxL5007T from MaxLinear.
+-endif # MEDIA_TUNER_CUSTOMIZE
+config MEDIA_TUNER_MC44S803
+ tristate "Freescale MC44S803 Low Power CMOS Broadband tuners"
+ depends on VIDEO_MEDIA && I2C
-+ default m if MEDIA_TUNER_CUSTOMIZE
++ default m if MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to support the Freescale MC44S803 based tuners
+
- endif # MEDIA_TUNER_CUSTOMIZE
++endif # MEDIA_TUNER_CUSTOMISE
diff --git a/drivers/media/common/tuners/Makefile b/drivers/media/common/tuners/Makefile
index 4dfbe5b..4132b2b 100644
--- a/drivers/media/common/tuners/Makefile
@@ -5433,6 +5607,19 @@
/* Check if firmware has been loaded. It is possible that another
instance of the driver has loaded the firmware.
*/
+diff --git a/drivers/media/dvb/b2c2/Kconfig b/drivers/media/dvb/b2c2/Kconfig
+index a8c6249..9e57814 100644
+--- a/drivers/media/dvb/b2c2/Kconfig
++++ b/drivers/media/dvb/b2c2/Kconfig
+@@ -13,7 +13,7 @@ config DVB_B2C2_FLEXCOP
+ select DVB_TUNER_ITD1000 if !DVB_FE_CUSTOMISE
+ select DVB_ISL6421 if !DVB_FE_CUSTOMISE
+ select DVB_CX24123 if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE
+ select DVB_TUNER_CX24113 if !DVB_FE_CUSTOMISE
+ help
+ Support for the digital TV receiver chip made by B2C2 Inc. included in
diff --git a/drivers/media/dvb/b2c2/flexcop-pci.c b/drivers/media/dvb/b2c2/flexcop-pci.c
index 76e37fd..84d2252 100644
--- a/drivers/media/dvb/b2c2/flexcop-pci.c
@@ -5445,6 +5632,19 @@
spin_lock_irq(&fc->demux.lock);
list_for_each_entry(feed, &fc->demux.feed_list,
+diff --git a/drivers/media/dvb/bt8xx/Kconfig b/drivers/media/dvb/bt8xx/Kconfig
+index 27edb0e..8668e63 100644
+--- a/drivers/media/dvb/bt8xx/Kconfig
++++ b/drivers/media/dvb/bt8xx/Kconfig
+@@ -8,7 +8,7 @@ config DVB_BT8XX
+ select DVB_OR51211 if !DVB_FE_CUSTOMISE
+ select DVB_LGDT330X if !DVB_FE_CUSTOMISE
+ select DVB_ZL10353 if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE
+ help
+ Support for PCI cards based on the Bt8xx PCI bridge. Examples are
+ the Nebula cards, the Pinnacle PCTV cards, the Twinhan DST cards,
diff --git a/drivers/media/dvb/bt8xx/dst_ca.c b/drivers/media/dvb/bt8xx/dst_ca.c
index 0258451..6c68f02 100644
--- a/drivers/media/dvb/bt8xx/dst_ca.c
@@ -5898,9 +6098,36 @@
int type;
int minor;
diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig
-index 49f7b20..b899d50 100644
+index 49f7b20..5b0c8cc 100644
--- a/drivers/media/dvb/dvb-usb/Kconfig
+++ b/drivers/media/dvb/dvb-usb/Kconfig
+@@ -25,7 +25,7 @@ config DVB_USB_A800
+ depends on DVB_USB
+ select DVB_DIB3000MC
+ select DVB_PLL if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to support the AVerMedia AverTV DVB-T USB 2.0 (A800) receiver.
+
+@@ -34,7 +34,7 @@ config DVB_USB_DIBUSB_MB
+ depends on DVB_USB
+ select DVB_PLL if !DVB_FE_CUSTOMISE
+ select DVB_DIB3000MB
+- select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE
+ help
+ Support for USB 1.1 and 2.0 DVB-T receivers based on reference designs made by
+ DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-B demodulator.
+@@ -55,7 +55,7 @@ config DVB_USB_DIBUSB_MC
+ tristate "DiBcom USB DVB-T devices (based on the DiB3000M-C/P) (see help for device list)"
+ depends on DVB_USB
+ select DVB_DIB3000MC
+- select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE
+ help
+ Support for USB2.0 DVB-T receivers based on reference designs made by
+ DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-C/P demodulator.
@@ -69,15 +69,17 @@ config DVB_USB_DIBUSB_MC
config DVB_USB_DIB0700
tristate "DiBcom DiB0700 USB DVB devices (see help for supported devices)"
@@ -5913,36 +6140,115 @@
+ select DVB_DIB3000MC if !DVB_FE_CUSTOMISE
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
- select DVB_TUNER_DIB0070
+- select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_MT2266 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMIZE
+ select DVB_LGDT3305 if !DVB_FE_CUSTOMISE
+ select DVB_TUNER_DIB0070 if !DVB_FE_CUSTOMISE
- select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
- select MEDIA_TUNER_MT2266 if !MEDIA_TUNER_CUSTOMIZE
- select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMIZE
- select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMIZE
-+ select MEDIA_TUNER_MXL5007T if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_MT2266 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_MXL5007T if !MEDIA_TUNER_CUSTOMISE
help
Support for USB2.0/1.1 DVB receivers based on the DiB0700 USB bridge. The
USB bridge is also present in devices having the DiB7700 DVB-T-USB
-@@ -96,6 +98,7 @@ config DVB_USB_UMT_010
+@@ -95,7 +97,8 @@ config DVB_USB_UMT_010
+ depends on DVB_USB
select DVB_PLL if !DVB_FE_CUSTOMISE
select DVB_DIB3000MC
- select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE
+ select DVB_MT352 if !DVB_FE_CUSTOMISE
help
Say Y here to support the HanfTek UMT-010 USB2.0 stick-sized DVB-T receiver.
-@@ -108,6 +111,7 @@ config DVB_USB_CXUSB
+@@ -108,10 +111,11 @@ config DVB_USB_CXUSB
select DVB_MT352 if !DVB_FE_CUSTOMISE
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
select DVB_DIB7000P if !DVB_FE_CUSTOMISE
+ select DVB_LGS8GL5 if !DVB_FE_CUSTOMISE
select DVB_TUNER_DIB0070 if !DVB_FE_CUSTOMISE
- select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
- select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMIZE
-@@ -297,5 +301,6 @@ config DVB_USB_AF9015
- select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
- select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMIZE
- select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to support the Conexant USB2.0 hybrid reference design.
+ Currently, only DVB and ATSC modes are supported, analog mode
+@@ -125,8 +129,8 @@ config DVB_USB_M920X
+ depends on DVB_USB
+ select DVB_MT352 if !DVB_FE_CUSTOMISE
+ select DVB_TDA1004X if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to support the MSI Mega Sky 580 USB2.0 DVB-T receiver.
+ Currently, only devices with a product id of
+@@ -137,7 +141,7 @@ config DVB_USB_GL861
+ tristate "Genesys Logic GL861 USB2.0 support"
+ depends on DVB_USB
+ select DVB_ZL10353 if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to support the MSI Megasky 580 (55801) DVB-T USB2.0
+ receiver with USB ID 0db0:5581.
+@@ -146,7 +150,7 @@ config DVB_USB_AU6610
+ tristate "Alcor Micro AU6610 USB2.0 support"
+ depends on DVB_USB
+ select DVB_ZL10353 if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to support the Sigmatek DVB-110 DVB-T USB2.0 receiver.
+
+@@ -199,7 +203,7 @@ config DVB_USB_NOVA_T_USB2
+ depends on DVB_USB
+ select DVB_DIB3000MC
+ select DVB_PLL if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to support the Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 receiver.
+
+@@ -235,8 +239,8 @@ config DVB_USB_OPERA1
+ config DVB_USB_AF9005
+ tristate "Afatech AF9005 DVB-T USB1.1 support"
+ depends on DVB_USB && EXPERIMENTAL
+- select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to support the Afatech AF9005 based DVB-T USB1.1 receiver
+ and the TerraTec Cinergy T USB XE (Rev.1)
+@@ -284,7 +288,7 @@ config DVB_USB_DTV5100
+ tristate "AME DTV-5100 USB2.0 DVB-T support"
+ depends on DVB_USB
+ select DVB_ZL10353 if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMISE
+ help
+ Say Y here to support the AME DTV-5100 USB2.0 DVB-T receiver.
+
+@@ -293,9 +297,10 @@ config DVB_USB_AF9015
+ depends on DVB_USB && EXPERIMENTAL
+ select DVB_AF9013
+ select DVB_PLL if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMISE
+ select MEDIA_TUNER_MC44S803 if !MEDIA_TUNER_CUSTOMISE
help
Say Y here to support the Afatech AF9015 based DVB-T USB2.0 receiver
@@ -22989,6 +23295,19 @@
+MODULE_DESCRIPTION("Driver for the Siano SMS1XXX USB dongle");
+MODULE_AUTHOR("Siano Mobile Silicon, INC. (uris at siano-ms.com)");
+MODULE_LICENSE("GPL");
+diff --git a/drivers/media/dvb/ttpci/Kconfig b/drivers/media/dvb/ttpci/Kconfig
+index ab0bcd2..7729904 100644
+--- a/drivers/media/dvb/ttpci/Kconfig
++++ b/drivers/media/dvb/ttpci/Kconfig
+@@ -108,7 +108,7 @@ config DVB_BUDGET_CI
+ select DVB_STB6100 if !DVB_FE_CUSTOMISE
+ select DVB_LNBP21 if !DVB_FE_CUSTOMISE
+ select DVB_TDA10023 if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMISE
+ select VIDEO_IR
+ help
+ Support for simple SAA7146 based DVB cards
diff --git a/drivers/media/dvb/ttpci/av7110.c b/drivers/media/dvb/ttpci/av7110.c
index aa1ff52..4624cee 100644
--- a/drivers/media/dvb/ttpci/av7110.c
@@ -34068,7 +34387,7 @@
.remove = adv7175_remove,
.id_table = adv7175_id,
diff --git a/drivers/media/video/au0828/Kconfig b/drivers/media/video/au0828/Kconfig
-index 018f72b..551f9ba 100644
+index 018f72b..05cdf49 100644
--- a/drivers/media/video/au0828/Kconfig
+++ b/drivers/media/video/au0828/Kconfig
@@ -1,13 +1,13 @@
@@ -34084,9 +34403,9 @@
- select MEDIA_TUNER_MXL5007T if !DVB_FE_CUSTOMIZE
- select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMIZE
+ select DVB_AU8522 if !DVB_FE_CUSTOMISE
-+ select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMIZE
-+ select MEDIA_TUNER_MXL5007T if !MEDIA_TUNER_CUSTOMIZE
-+ select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_MXL5007T if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE
---help---
This is a video4linux driver for Auvitek's USB device.
@@ -34572,7 +34891,7 @@
#define REG_600 0x600
diff --git a/drivers/media/video/au0828/au0828-video.c b/drivers/media/video/au0828/au0828-video.c
new file mode 100644
-index 0000000..d3a388a
+index 0000000..f7ad495
--- /dev/null
+++ b/drivers/media/video/au0828/au0828-video.c
@@ -0,0 +1,1712 @@
@@ -34845,7 +35164,7 @@
+ au0828_irq_callback, dma_q, 1);
+
+ urb->number_of_packets = max_packets;
-+ urb->transfer_flags = URB_ISO_ASAP;
++ urb->transfer_flags = URB_ISO_ASAP | URB_NO_TRANSFER_DMA_MAP;
+
+ k = 0;
+ for (j = 0; j < max_packets; j++) {
@@ -42972,6 +43291,19 @@
.command = cs53l32a_command,
.remove = cs53l32a_remove,
.probe = cs53l32a_probe,
+diff --git a/drivers/media/video/cx18/Kconfig b/drivers/media/video/cx18/Kconfig
+index 8940b53..e8a50a6 100644
+--- a/drivers/media/video/cx18/Kconfig
++++ b/drivers/media/video/cx18/Kconfig
+@@ -9,7 +9,7 @@ config VIDEO_CX18
+ select VIDEO_CX2341X
+ select VIDEO_CS5345
+ select DVB_S5H1409 if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMISE
+ ---help---
+ This is a video4linux driver for Conexant cx23418 based
+ PCI combo video recorder devices.
diff --git a/drivers/media/video/cx18/cx18-audio.c b/drivers/media/video/cx18/cx18-audio.c
index 57beddf..bb5c516 100644
--- a/drivers/media/video/cx18/cx18-audio.c
@@ -48745,7 +49077,7 @@
p->audio_mute ? " (muted)" : "");
if (p->audio_mode == V4L2_MPEG_AUDIO_MODE_JOINT_STEREO)
diff --git a/drivers/media/video/cx23885/Kconfig b/drivers/media/video/cx23885/Kconfig
-index 00f1e2e..e603ceb 100644
+index 00f1e2e..fd3fc3e 100644
--- a/drivers/media/video/cx23885/Kconfig
+++ b/drivers/media/video/cx23885/Kconfig
@@ -15,12 +15,15 @@ config VIDEO_CX23885
@@ -48753,19 +49085,20 @@
select DVB_LGDT330X if !DVB_FE_CUSTOMISE
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
- select DVB_TDA10048 if !DVB_FE_CUSTOMIZE
-+ select DVB_TDA10048 if !DVB_FE_CUSTOMISE
-+ select DVB_LNBP21 if !DVB_FE_CUSTOMISE
-+ select DVB_STV6110 if !DVB_FE_CUSTOMISE
-+ select DVB_STV0900 if !DVB_FE_CUSTOMISE
- select MEDIA_TUNER_MT2131 if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_MT2131 if !MEDIA_TUNER_CUSTOMIZE
- select MEDIA_TUNER_XC2028 if !DVB_FE_CUSTOMIZE
- select MEDIA_TUNER_TDA8290 if !DVB_FE_CUSTOMIZE
- select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMIZE
- select MEDIA_TUNER_XC5000 if !DVB_FE_CUSTOMIZE
-+ select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMIZE
-+ select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMIZE
-+ select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMIZE
-+ select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMIZE
++ select DVB_TDA10048 if !DVB_FE_CUSTOMISE
++ select DVB_LNBP21 if !DVB_FE_CUSTOMISE
++ select DVB_STV6110 if !DVB_FE_CUSTOMISE
++ select DVB_STV0900 if !DVB_FE_CUSTOMISE
++ select MEDIA_TUNER_MT2131 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMISE
---help---
This is a video4linux driver for Conexant 23885 based
TV cards.
@@ -50183,6 +50516,19 @@
default:
return -EINVAL;
}
+diff --git a/drivers/media/video/cx88/Kconfig b/drivers/media/video/cx88/Kconfig
+index 2d250a2..4995298 100644
+--- a/drivers/media/video/cx88/Kconfig
++++ b/drivers/media/video/cx88/Kconfig
+@@ -61,7 +61,7 @@ config VIDEO_CX88_DVB
+ select DVB_STV0299 if !DVB_FE_CUSTOMISE
+ select DVB_STV0288 if !DVB_FE_CUSTOMISE
+ select DVB_STB6000 if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE
+ ---help---
+ This adds support for DVB/ATSC cards based on the
+ Conexant 2388x chip.
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index 733ede3..b9def8c 100644
--- a/drivers/media/video/cx88/cx88-cards.c
@@ -50942,7 +51288,7 @@
return hwptr_done;
}
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
-index 3b3ca3f..650ccfd 100644
+index 3b3ca3f..0f48c0f 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -122,6 +122,22 @@ static struct em28xx_reg_seq default_tuner_gpio[] = {
@@ -51039,7 +51385,23 @@
.decoder = EM28XX_TVP5150,
.input = { {
.type = EM28XX_VMUX_TELEVISION,
-@@ -842,11 +857,11 @@ struct em28xx_board em28xx_boards[] = {
+@@ -604,6 +619,7 @@ struct em28xx_board em28xx_boards[] = {
+ .mts_firmware = 1,
+ .has_dvb = 1,
+ .dvb_gpio = hauppauge_wintv_hvr_900_digital,
++ .ir_codes = ir_codes_hauppauge_new,
+ .decoder = EM28XX_TVP5150,
+ .input = { {
+ .type = EM28XX_VMUX_TELEVISION,
+@@ -628,6 +644,7 @@ struct em28xx_board em28xx_boards[] = {
+ .tuner_type = TUNER_XC2028,
+ .tuner_gpio = default_tuner_gpio,
+ .mts_firmware = 1,
++ .ir_codes = ir_codes_hauppauge_new,
+ .decoder = EM28XX_TVP5150,
+ .input = { {
+ .type = EM28XX_VMUX_TELEVISION,
+@@ -842,11 +859,11 @@ struct em28xx_board em28xx_boards[] = {
} },
},
[EM2800_BOARD_GRABBEEX_USB2800] = {
@@ -51056,7 +51418,7 @@
.type = EM28XX_VMUX_COMPOSITE1,
.vmux = SAA7115_COMPOSITE0,
.amux = EM28XX_AMUX_LINE_IN,
-@@ -897,7 +912,7 @@ struct em28xx_board em28xx_boards[] = {
+@@ -897,7 +914,7 @@ struct em28xx_board em28xx_boards[] = {
} },
},
[EM2820_BOARD_PINNACLE_DVC_90] = {
@@ -51065,7 +51427,7 @@
.tuner_type = TUNER_ABSENT, /* capture only board */
.decoder = EM28XX_SAA711X,
.input = { {
-@@ -952,7 +967,7 @@ struct em28xx_board em28xx_boards[] = {
+@@ -952,7 +969,7 @@ struct em28xx_board em28xx_boards[] = {
} },
},
[EM2820_BOARD_PROLINK_PLAYTV_USB2] = {
@@ -51074,7 +51436,7 @@
.has_snapshot_button = 1,
.tda9887_conf = TDA9887_PRESENT,
.tuner_type = TUNER_YMEC_TVF_5533MF,
-@@ -1198,7 +1213,9 @@ struct em28xx_board em28xx_boards[] = {
+@@ -1198,7 +1215,9 @@ struct em28xx_board em28xx_boards[] = {
.has_dvb = 1,
.dvb_gpio = kworld_330u_digital,
.xclk = EM28XX_XCLK_FREQUENCY_12MHZ,
@@ -51085,7 +51447,7 @@
.input = { {
.type = EM28XX_VMUX_TELEVISION,
.vmux = TVP5150_COMPOSITE0,
-@@ -1223,21 +1240,88 @@ struct em28xx_board em28xx_boards[] = {
+@@ -1223,21 +1242,88 @@ struct em28xx_board em28xx_boards[] = {
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
.tda9887_conf = TDA9887_PRESENT,
.decoder = EM28XX_TVP5150,
@@ -51175,7 +51537,7 @@
{ USB_DEVICE(0xeb1a, 0x2750),
.driver_info = EM2750_BOARD_UNKNOWN },
{ USB_DEVICE(0xeb1a, 0x2751),
-@@ -1260,6 +1344,8 @@ struct usb_device_id em28xx_id_table [] = {
+@@ -1260,6 +1346,8 @@ struct usb_device_id em28xx_id_table [] = {
.driver_info = EM2820_BOARD_UNKNOWN },
{ USB_DEVICE(0xeb1a, 0xe300),
.driver_info = EM2861_BOARD_KWORLD_PVRTV_300U },
@@ -51184,7 +51546,7 @@
{ USB_DEVICE(0xeb1a, 0xe305),
.driver_info = EM2880_BOARD_KWORLD_DVB_305U },
{ USB_DEVICE(0xeb1a, 0xe310),
-@@ -1278,6 +1364,8 @@ struct usb_device_id em28xx_id_table [] = {
+@@ -1278,6 +1366,8 @@ struct usb_device_id em28xx_id_table [] = {
.driver_info = EM2800_BOARD_GRABBEEX_USB2800 },
{ USB_DEVICE(0xeb1a, 0xe357),
.driver_info = EM2870_BOARD_KWORLD_355U },
@@ -51193,7 +51555,7 @@
{ USB_DEVICE(0x0ccd, 0x0036),
.driver_info = EM2820_BOARD_TERRATEC_CINERGY_250 },
{ USB_DEVICE(0x0ccd, 0x004c),
-@@ -1330,6 +1418,8 @@ struct usb_device_id em28xx_id_table [] = {
+@@ -1330,6 +1420,8 @@ struct usb_device_id em28xx_id_table [] = {
.driver_info = EM2800_BOARD_LEADTEK_WINFAST_USBII },
{ USB_DEVICE(0x093b, 0xa005),
.driver_info = EM2861_BOARD_PLEXTOR_PX_TV100U },
@@ -51202,7 +51564,7 @@
{ },
};
MODULE_DEVICE_TABLE(usb, em28xx_id_table);
-@@ -1337,7 +1427,7 @@ MODULE_DEVICE_TABLE(usb, em28xx_id_table);
+@@ -1337,7 +1429,7 @@ MODULE_DEVICE_TABLE(usb, em28xx_id_table);
/*
* EEPROM hash table for devices with generic USB IDs
*/
@@ -51211,7 +51573,7 @@
/* P/N: SA 60002070465 Tuner: TVF7533-MF */
{0x6ce05a8f, EM2820_BOARD_PROLINK_PLAYTV_USB2, TUNER_YMEC_TVF_5533MF},
{0x72cc5a8b, EM2820_BOARD_PROLINK_PLAYTV_BOX4_USB2, TUNER_YMEC_TVF_5533MF},
-@@ -1349,6 +1439,7 @@ static struct em28xx_hash_table em28xx_i2c_hash[] = {
+@@ -1349,6 +1441,7 @@ static struct em28xx_hash_table em28xx_i2c_hash[] = {
{0xb06a32c3, EM2800_BOARD_TERRATEC_CINERGY_200, TUNER_LG_PAL_NEW_TAPC},
{0xf51200e3, EM2800_BOARD_VGEAR_POCKETTV, TUNER_LG_PAL_NEW_TAPC},
{0x1ba50080, EM2860_BOARD_POINTNIX_INTRAORAL_CAMERA, TUNER_ABSENT},
@@ -51219,7 +51581,7 @@
};
int em28xx_tuner_callback(void *ptr, int component, int command, int arg)
-@@ -1368,7 +1459,7 @@ int em28xx_tuner_callback(void *ptr, int component, int command, int arg)
+@@ -1368,7 +1461,7 @@ int em28xx_tuner_callback(void *ptr, int component, int command, int arg)
}
EXPORT_SYMBOL_GPL(em28xx_tuner_callback);
@@ -51228,7 +51590,7 @@
{
memcpy(&dev->board, &em28xx_boards[dev->model], sizeof(dev->board));
-@@ -1504,6 +1595,34 @@ void em28xx_pre_card_setup(struct em28xx *dev)
+@@ -1504,6 +1597,34 @@ void em28xx_pre_card_setup(struct em28xx *dev)
/* enables audio for that devices */
em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xfd);
break;
@@ -51263,7 +51625,7 @@
}
em28xx_gpio_set(dev, dev->board.tuner_gpio);
-@@ -1610,7 +1729,7 @@ static int em28xx_hint_board(struct em28xx *dev)
+@@ -1610,7 +1731,7 @@ static int em28xx_hint_board(struct em28xx *dev)
em28xx_errdev("If the board were missdetected, "
"please email this log to:\n");
em28xx_errdev("\tV4L Mailing List "
@@ -51272,7 +51634,7 @@
em28xx_errdev("Board detected as %s\n",
em28xx_boards[dev->model].name);
-@@ -1642,7 +1761,7 @@ static int em28xx_hint_board(struct em28xx *dev)
+@@ -1642,7 +1763,7 @@ static int em28xx_hint_board(struct em28xx *dev)
em28xx_errdev("If the board were missdetected, "
"please email this log to:\n");
em28xx_errdev("\tV4L Mailing List "
@@ -51281,7 +51643,7 @@
em28xx_errdev("Board detected as %s\n",
em28xx_boards[dev->model].name);
-@@ -1655,7 +1774,7 @@ static int em28xx_hint_board(struct em28xx *dev)
+@@ -1655,7 +1776,7 @@ static int em28xx_hint_board(struct em28xx *dev)
em28xx_errdev("You may try to use card=<n> insmod option to "
"workaround that.\n");
em28xx_errdev("Please send an email with this log to:\n");
@@ -51290,7 +51652,7 @@
em28xx_errdev("Board eeprom hash is 0x%08lx\n", dev->hash);
em28xx_errdev("Board i2c devicelist hash is 0x%08lx\n", dev->i2c_hash);
-@@ -1800,6 +1919,8 @@ void em28xx_card_setup(struct em28xx *dev)
+@@ -1800,6 +1921,8 @@ void em28xx_card_setup(struct em28xx *dev)
request_module("tvp5150");
if (dev->board.tuner_type != TUNER_ABSENT)
request_module("tuner");
@@ -51300,7 +51662,7 @@
em28xx_config_tuner(dev);
diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c
-index 94fb1b6..c896d24 100644
+index f3c18ed..8f1999c 100644
--- a/drivers/media/video/em28xx/em28xx-core.c
+++ b/drivers/media/video/em28xx/em28xx-core.c
@@ -33,8 +33,8 @@
@@ -60184,7 +60546,7 @@
return 0;
}
diff --git a/drivers/media/video/gspca/t613.c b/drivers/media/video/gspca/t613.c
-index 6ee111a..3539310 100644
+index 6ee111a..f63e37e 100644
--- a/drivers/media/video/gspca/t613.c
+++ b/drivers/media/video/gspca/t613.c
@@ -37,20 +37,21 @@ MODULE_LICENSE("GPL");
@@ -60695,6 +61057,15 @@
0xdf, 0x6d,
0xdd, 0x18,
0x5a, 0xe0,
+@@ -497,7 +495,7 @@ static void om6802_sensor_init(struct gspca_dev *gspca_dev)
+ };
+
+ reg_w_buf(gspca_dev, sensor_reset, sizeof sensor_reset);
+- msleep(5);
++ msleep(100);
+ i = 4;
+ while (--i > 0) {
+ byte = reg_r(gspca_dev, 0x0060);
@@ -538,20 +536,20 @@ static int sd_config(struct gspca_dev *gspca_dev,
struct cam *cam;
@@ -60784,15 +61155,17 @@
struct sd *sd = (struct sd *) gspca_dev;
int i;
- __u8 byte, test_byte;
+-
+- static const __u8 read_indexs[] =
+- { 0x06, 0x07, 0x0a, 0x0b, 0x66, 0x80, 0x81, 0x8e, 0x8f, 0xa5,
+- 0xa6, 0xa8, 0xbb, 0xbc, 0xc6, 0x00, 0x00 };
+- static const __u8 n1[] =
+ u16 sensor_id;
+ u8 test_byte = 0;
+ u16 reg80, reg8e;
-
-- static const __u8 read_indexs[] =
++
+ static const u8 read_indexs[] =
- { 0x06, 0x07, 0x0a, 0x0b, 0x66, 0x80, 0x81, 0x8e, 0x8f, 0xa5,
-- 0xa6, 0xa8, 0xbb, 0xbc, 0xc6, 0x00, 0x00 };
-- static const __u8 n1[] =
++ { 0x0a, 0x0b, 0x66, 0x80, 0x81, 0x8e, 0x8f, 0xa5,
+ 0xa6, 0xa8, 0xbb, 0xbc, 0xc6, 0x00 };
+ static const u8 n1[] =
{0x08, 0x03, 0x09, 0x03, 0x12, 0x04};
@@ -60847,7 +61220,7 @@
+
+ sensor_id = (reg_r(gspca_dev, 0x06) << 8)
+ | reg_r(gspca_dev, 0x07);
-+ switch (sensor_id) {
++ switch (sensor_id & 0xff0f) {
+ case 0x0801:
+ PDEBUG(D_PROBE, "sensor tas5130a");
sd->sensor = SENSOR_TAS5130A;
@@ -61786,7 +62159,7 @@
return 0;
}
diff --git a/drivers/media/video/gspca/vc032x.c b/drivers/media/video/gspca/vc032x.c
-index 0525ea5..ca96cbc 100644
+index 0525ea5..728fff9 100644
--- a/drivers/media/video/gspca/vc032x.c
+++ b/drivers/media/video/gspca/vc032x.c
@@ -149,6 +149,11 @@ static const struct v4l2_pix_format vc0323_mode[] = {
@@ -62317,7 +62690,62 @@
};
static const __u8 mi1320_gamma[17] = {
-@@ -1814,44 +1927,40 @@ static void reg_w(struct usb_device *dev,
+@@ -1764,26 +1877,42 @@ static const __u8 po1200_initVGA_data[][4] = {
+ };
+
+ struct sensor_info {
+- int sensorId;
+- __u8 I2cAdd;
+- __u8 IdAdd;
+- __u16 VpId;
+- __u8 m1;
+- __u8 m2;
+- __u8 op;
+- };
++ s8 sensorId;
++ u8 I2cAdd;
++ u8 IdAdd;
++ u16 VpId;
++ u8 m1;
++ u8 m2;
++ u8 op;
++};
+
+ static const struct sensor_info sensor_info_data[] = {
+ /* sensorId, I2cAdd, IdAdd, VpId, m1, m2, op */
+- {SENSOR_HV7131R, 0x80 | 0x11, 0x00, 0x0209, 0x24, 0x25, 0x01},
+- {SENSOR_OV7660, 0x80 | 0x21, 0x0a, 0x7660, 0x26, 0x26, 0x05},
++ {-1, 0x80 | 0x30, 0x0a, 0x0000, 0x25, 0x24, 0x05},
++ {-1, 0x80 | 0x20, 0x82, 0x0000, 0x24, 0x25, 0x01},
++/* (tested in vc032x_probe_sensor) */
++/* {-1, 0x80 | 0x20, 0x83, 0x0000, 0x24, 0x25, 0x01}, */
+ {SENSOR_PO3130NC, 0x80 | 0x76, 0x00, 0x3130, 0x24, 0x25, 0x01},
+- {SENSOR_MI1320, 0x80 | 0xc8, 0x00, 0x148c, 0x64, 0x65, 0x01},
+- {SENSOR_OV7670, 0x80 | 0x21, 0x0a, 0x7673, 0x66, 0x67, 0x05},
+ {SENSOR_MI1310_SOC, 0x80 | 0x5d, 0x00, 0x143a, 0x24, 0x25, 0x01},
+ /* (tested in vc032x_probe_sensor) */
+ /* {SENSOR_MI0360, 0x80 | 0x5d, 0x00, 0x8243, 0x24, 0x25, 0x01}, */
++ {SENSOR_HV7131R, 0x80 | 0x11, 0x00, 0x0209, 0x24, 0x25, 0x01},
++ {-1, 0x80 | 0x21, 0x0a, 0x0000, 0x21, 0x20, 0x05},
++ {-1, 0x80 | 0x40, 0x00, 0x0000, 0x20, 0x22, 0x05},
++ {SENSOR_OV7660, 0x80 | 0x21, 0x0a, 0x7660, 0x26, 0x26, 0x05},
++/* {SENSOR_PO3130NC, 0x80 | 0x76, 0x00, 0x0000, 0x24, 0x25, 0x01}, */
++ {-1, 0x80 | 0x6e, 0x00, 0x0000, 0x24, 0x25, 0x01},
++/* {SENSOR_MI1310_SOC, 0x80 | 0x5d, 0x00, 0x0000, 0x24, 0x25, 0x01}, */
++/* {-1, 0x80 | 0x30, 0x0a, 0x0000, 0x25, 0x24, 0x05}, */
++ {-1, 0x80 | 0x11, 0x39, 0x0000, 0x24, 0x25, 0x01},
+ {SENSOR_PO1200, 0x80 | 0x5c, 0x00, 0x1200, 0x67, 0x67, 0x01},
++ {-1, 0x80 | 0x2d, 0x00, 0x0000, 0x65, 0x67, 0x01},
++ {-1, 0x80 | 0x6e, 0x00, 0x0000, 0x24, 0x25, 0x01},
++ {-1, 0x80 | 0x56, 0x01, 0x0000, 0x64, 0x67, 0x01},
++ {-1, 0x80 | 0x48, 0x00, 0x0000, 0x64, 0x67, 0x01},
++/*fixme: not in the ms-win probe - may be found before?*/
++ {SENSOR_MI1320, 0x80 | 0x48, 0x00, 0x148c, 0x64, 0x65, 0x01},
++ {SENSOR_OV7670, 0x80 | 0x21, 0x0a, 0x7673, 0x66, 0x67, 0x05},
+ };
+
+ /* read 'len' bytes in gspca_dev->usb_buf */
+@@ -1814,51 +1943,49 @@ static void reg_w(struct usb_device *dev,
500);
}
@@ -62327,7 +62755,8 @@
+ u16 address)
{
struct usb_device *dev = gspca_dev->dev;
- __u8 ldata, mdata, hdata;
+- __u8 ldata, mdata, hdata;
++ u8 ldata, mdata, hdata;
int retry = 50;
- *value = 0;
@@ -62348,12 +62777,14 @@
- reg_r(gspca_dev, 0xa1, 0xb33b, 1);
- while (retry-- && gspca_dev->usb_buf[0]) {
+ do {
-+ msleep(8);
reg_r(gspca_dev, 0xa1, 0xb33b, 1);
-/* PDEBUG(D_PROBE, "Read again 0xb33b %d", tmpvalue); */
- msleep(1);
- }
-+ } while (retry-- && gspca_dev->usb_buf[0]);
++ if (gspca_dev->usb_buf[0] == 0x00)
++ break;
++ msleep(40);
++ } while (--retry >= 0);
+
reg_r(gspca_dev, 0xa1, 0xb33e, 1);
ldata = gspca_dev->usb_buf[0];
@@ -62376,16 +62807,44 @@
}
static int vc032x_probe_sensor(struct gspca_dev *gspca_dev)
-@@ -1872,7 +1981,7 @@ static int vc032x_probe_sensor(struct gspca_dev *gspca_dev)
+ {
+ struct usb_device *dev = gspca_dev->dev;
+ int i;
+- __u16 value;
++ u16 value;
+ const struct sensor_info *ptsensor_info;
+
+ reg_r(gspca_dev, 0xa1, 0xbfcf, 1);
+@@ -1872,25 +1999,37 @@ static int vc032x_probe_sensor(struct gspca_dev *gspca_dev)
reg_w(dev, 0xa0, 0x0c, 0xb309);
reg_w(dev, 0xa0, ptsensor_info->I2cAdd, 0xb335);
reg_w(dev, 0xa0, ptsensor_info->op, 0xb301);
- read_sensor_register(gspca_dev, ptsensor_info->IdAdd, &value);
+- if (value == ptsensor_info->VpId)
+- return ptsensor_info->sensorId;
+-
+- /* special case for MI0360 */
+- if (ptsensor_info->sensorId == SENSOR_MI1310_SOC
+- && value == 0x8243)
+- return SENSOR_MI0360;
+ value = read_sensor_register(gspca_dev, ptsensor_info->IdAdd);
- if (value == ptsensor_info->VpId)
- return ptsensor_info->sensorId;
-
-@@ -1884,13 +1993,16 @@ static int vc032x_probe_sensor(struct gspca_dev *gspca_dev)
++ if (value == 0 && ptsensor_info->IdAdd == 0x82)
++ value = read_sensor_register(gspca_dev, 0x83);
++ if (value != 0) {
++ PDEBUG(D_ERR|D_PROBE, "Sensor ID %04x (%d)",
++ value, i);
++ if (value == ptsensor_info->VpId)
++ return ptsensor_info->sensorId;
++
++ switch (value) {
++ case 0x7673:
++ return SENSOR_OV7670;
++ case 0x8243:
++ return SENSOR_MI0360;
++ }
++/*fixme: should return here*/
++ }
+ }
return -1;
}
@@ -62404,7 +62863,7 @@
reg_r(gspca_dev, 0xa1, 0xb33f, 1);
reg_w(dev, 0xa0, size, 0xb334);
reg_w(dev, 0xa0, reg, 0xb33a);
-@@ -1902,18 +2014,23 @@ static __u8 i2c_write(struct gspca_dev *gspca_dev,
+@@ -1902,18 +2041,23 @@ static __u8 i2c_write(struct gspca_dev *gspca_dev,
reg_w(dev, 0xa0, val[0], 0xb336);
reg_w(dev, 0xa0, val[1], 0xb337);
break;
@@ -62434,7 +62893,7 @@
}
static void put_tab_to_reg(struct gspca_dev *gspca_dev,
-@@ -1938,7 +2055,7 @@ static void usb_exchange(struct gspca_dev *gspca_dev,
+@@ -1938,7 +2082,7 @@ static void usb_exchange(struct gspca_dev *gspca_dev,
return;
case 0xcc: /* normal write */
reg_w(dev, 0xa0, data[i][2],
@@ -62443,7 +62902,7 @@
break;
case 0xaa: /* i2c op */
i2c_write(gspca_dev, data[i][1], &data[i][2], 1);
-@@ -1955,19 +2072,6 @@ static void usb_exchange(struct gspca_dev *gspca_dev,
+@@ -1955,19 +2099,6 @@ static void usb_exchange(struct gspca_dev *gspca_dev,
/*not reached*/
}
@@ -62463,7 +62922,7 @@
/* this function is called at probe time */
static int sd_config(struct gspca_dev *gspca_dev,
-@@ -1979,10 +2083,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
+@@ -1979,10 +2110,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
int sensor;
cam = &gspca_dev->cam;
@@ -62474,7 +62933,7 @@
sensor = vc032x_probe_sensor(gspca_dev);
switch (sensor) {
case -1:
-@@ -2022,7 +2123,10 @@ static int sd_config(struct gspca_dev *gspca_dev,
+@@ -2022,7 +2150,10 @@ static int sd_config(struct gspca_dev *gspca_dev,
} else {
if (sensor != SENSOR_PO1200) {
cam->cam_mode = vc0323_mode;
@@ -62486,7 +62945,7 @@
} else {
cam->cam_mode = svga_mode;
cam->nmodes = ARRAY_SIZE(svga_mode);
-@@ -2061,7 +2165,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
+@@ -2061,7 +2192,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
return 0;
}
@@ -62495,7 +62954,7 @@
static int sd_init(struct gspca_dev *gspca_dev)
{
return 0;
-@@ -2124,6 +2228,7 @@ static void setsharpness(struct gspca_dev *gspca_dev)
+@@ -2124,6 +2255,7 @@ static void setsharpness(struct gspca_dev *gspca_dev)
static int sd_start(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
@@ -62503,7 +62962,7 @@
const __u8 *GammaT = NULL;
const __u8 *MatrixT = NULL;
int mode;
-@@ -2141,115 +2246,82 @@ static int sd_start(struct gspca_dev *gspca_dev)
+@@ -2141,115 +2273,82 @@ static int sd_start(struct gspca_dev *gspca_dev)
case SENSOR_HV7131R:
GammaT = hv7131r_gamma;
MatrixT = hv7131r_matrix;
@@ -62661,7 +63120,7 @@
/* set the led on 0x0892 0x0896 */
if (sd->sensor != SENSOR_PO1200) {
reg_w(gspca_dev->dev, 0x89, 0xffff, 0xfdff);
-@@ -2399,7 +2471,8 @@ static int sd_querymenu(struct gspca_dev *gspca_dev,
+@@ -2399,7 +2498,8 @@ static int sd_querymenu(struct gspca_dev *gspca_dev,
case 1: /* V4L2_CID_POWER_LINE_FREQUENCY_50HZ */
strcpy((char *) menu->name, "50 Hz");
return 0;
@@ -62671,7 +63130,7 @@
strcpy((char *) menu->name, "60 Hz");
return 0;
}
-@@ -2424,6 +2497,7 @@ static const struct sd_desc sd_desc = {
+@@ -2424,6 +2524,7 @@ static const struct sd_desc sd_desc = {
/* -- module initialisation -- */
static const __devinitdata struct usb_device_id device_table[] = {
@@ -62679,7 +63138,7 @@
{USB_DEVICE(0x046d, 0x0892), .driver_info = BRIDGE_VC0321},
{USB_DEVICE(0x046d, 0x0896), .driver_info = BRIDGE_VC0321},
{USB_DEVICE(0x046d, 0x0897), .driver_info = BRIDGE_VC0321},
-@@ -2460,8 +2534,11 @@ static struct usb_driver sd_driver = {
+@@ -2460,8 +2561,11 @@ static struct usb_driver sd_driver = {
/* -- module insert / remove -- */
static int __init sd_mod_init(void)
{
@@ -64084,11 +64543,13 @@
+
diff --git a/drivers/media/video/hdpvr/Makefile b/drivers/media/video/hdpvr/Makefile
new file mode 100644
-index 0000000..79ad2e1
+index 0000000..e0230fc
--- /dev/null
+++ b/drivers/media/video/hdpvr/Makefile
-@@ -0,0 +1,7 @@
-+hdpvr-objs := hdpvr-control.o hdpvr-core.o hdpvr-i2c.o hdpvr-video.o
+@@ -0,0 +1,9 @@
++hdpvr-objs := hdpvr-control.o hdpvr-core.o hdpvr-video.o
++
++hdpvr-$(CONFIG_I2C) += hdpvr-i2c.o
+
+obj-$(CONFIG_VIDEO_HDPVR) += hdpvr.o
+
@@ -64097,12 +64558,12 @@
+EXTRA_CFLAGS += $(extra-cflags-y) $(extra-cflags-m)
diff --git a/drivers/media/video/hdpvr/hdpvr-control.c b/drivers/media/video/hdpvr/hdpvr-control.c
new file mode 100644
-index 0000000..ecf02c6
+index 0000000..51de74a
--- /dev/null
+++ b/drivers/media/video/hdpvr/hdpvr-control.c
@@ -0,0 +1,201 @@
+/*
-+ * Hauppage HD PVR USB driver - video 4 linux 2 interface
++ * Hauppauge HD PVR USB driver - video 4 linux 2 interface
+ *
+ * Copyright (C) 2008 Janne Grunau (j at jannau.net)
+ *
@@ -64304,12 +64765,12 @@
+}
diff --git a/drivers/media/video/hdpvr/hdpvr-core.c b/drivers/media/video/hdpvr/hdpvr-core.c
new file mode 100644
-index 0000000..e7300b5
+index 0000000..e96aed4
--- /dev/null
+++ b/drivers/media/video/hdpvr/hdpvr-core.c
-@@ -0,0 +1,439 @@
+@@ -0,0 +1,449 @@
+/*
-+ * Hauppage HD PVR USB driver
++ * Hauppauge HD PVR USB driver
+ *
+ * Copyright (C) 2001-2004 Greg Kroah-Hartman (greg at kroah.com)
+ * Copyright (C) 2008 Janne Grunau (j at jannau.net)
@@ -64658,6 +65119,14 @@
+ goto error;
+ }
+
++#ifdef CONFIG_I2C
++ /* until i2c is working properly */
++ retval = 0; /* hdpvr_register_i2c_adapter(dev); */
++ if (retval < 0) {
++ err("registering i2c adapter failed");
++ goto error;
++ }
++#endif /* CONFIG_I2C */
+
+ /* save our data pointer in this interface device */
+ usb_set_intfdata(interface, dev);
@@ -64699,12 +65168,14 @@
+ mutex_unlock(&dev->io_mutex);
+
+ /* deregister I2C adapter */
++#ifdef CONFIG_I2C
+ mutex_lock(&dev->i2c_mutex);
+ if (dev->i2c_adapter)
+ i2c_del_adapter(dev->i2c_adapter);
+ kfree(dev->i2c_adapter);
+ dev->i2c_adapter = NULL;
+ mutex_unlock(&dev->i2c_mutex);
++#endif /* CONFIG_I2C */
+
+ atomic_dec(&dev_nr);
+
@@ -64749,13 +65220,13 @@
+MODULE_DESCRIPTION("Hauppauge HD PVR driver");
diff --git a/drivers/media/video/hdpvr/hdpvr-i2c.c b/drivers/media/video/hdpvr/hdpvr-i2c.c
new file mode 100644
-index 0000000..35096de
+index 0000000..c4b5d15
--- /dev/null
+++ b/drivers/media/video/hdpvr/hdpvr-i2c.c
@@ -0,0 +1,145 @@
+
+/*
-+ * Hauppage HD PVR USB driver
++ * Hauppauge HD PVR USB driver
+ *
+ * Copyright (C) 2008 Janne Grunau (j at jannau.net)
+ *
@@ -64900,12 +65371,12 @@
+}
diff --git a/drivers/media/video/hdpvr/hdpvr-video.c b/drivers/media/video/hdpvr/hdpvr-video.c
new file mode 100644
-index 0000000..6dd11f4
+index 0000000..2359780
--- /dev/null
+++ b/drivers/media/video/hdpvr/hdpvr-video.c
@@ -0,0 +1,1225 @@
+/*
-+ * Hauppage HD PVR USB driver - video 4 linux 2 interface
++ * Hauppauge HD PVR USB driver - video 4 linux 2 interface
+ *
+ * Copyright (C) 2008 Janne Grunau (j at jannau.net)
+ *
@@ -66131,12 +66602,12 @@
+}
diff --git a/drivers/media/video/hdpvr/hdpvr.h b/drivers/media/video/hdpvr/hdpvr.h
new file mode 100644
-index 0000000..17db74f
+index 0000000..9bc8051
--- /dev/null
+++ b/drivers/media/video/hdpvr/hdpvr.h
@@ -0,0 +1,298 @@
+/*
-+ * Hauppage HD PVR USB driver
++ * Hauppauge HD PVR USB driver
+ *
+ * Copyright (C) 2008 Janne Grunau (j at jannau.net)
+ *
@@ -73027,22 +73498,22 @@
vfd->minor = -1;
vfd->ioctl_ops = &omap24xxcam_ioctl_fops;
diff --git a/drivers/media/video/ov7670.c b/drivers/media/video/ov7670.c
-index 05c14a2..4c1384e 100644
+index 05c14a2..0e2184e 100644
--- a/drivers/media/video/ov7670.c
+++ b/drivers/media/video/ov7670.c
-@@ -12,18 +12,21 @@
+@@ -12,18 +12,22 @@
*/
#include <linux/init.h>
#include <linux/module.h>
-#include <linux/slab.h>
--#include <linux/delay.h>
++#include <linux/i2c.h>
+ #include <linux/delay.h>
-#include <linux/videodev.h>
-#include <media/v4l2-common.h>
--#include <media/v4l2-chip-ident.h>
- #include <linux/i2c.h>
+#include <linux/videodev2.h>
+#include <media/v4l2-device.h>
-+#include <media/v4l2-chip-ident.h>
+ #include <media/v4l2-chip-ident.h>
+-#include <linux/i2c.h>
+#include <media/v4l2-i2c-drv.h>
@@ -73057,7 +73528,7 @@
/*
* Basic window sizes. These probably belong somewhere more globally
* useful.
-@@ -189,11 +192,16 @@ MODULE_LICENSE("GPL");
+@@ -189,11 +193,16 @@ MODULE_LICENSE("GPL");
*/
struct ov7670_format_struct; /* coming later */
struct ov7670_info {
@@ -73074,7 +73545,7 @@
-@@ -400,24 +408,27 @@ static struct regval_list ov7670_fmt_raw[] = {
+@@ -400,24 +409,27 @@ static struct regval_list ov7670_fmt_raw[] = {
* Low-level register I/O.
*/
@@ -73107,7 +73578,7 @@
if (reg == REG_COM7 && (value & COM7_RESET))
msleep(2); /* Wait for reset to run */
return ret;
-@@ -427,10 +438,10 @@ static int ov7670_write(struct i2c_client *c, unsigned char reg,
+@@ -427,10 +439,10 @@ static int ov7670_write(struct i2c_client *c, unsigned char reg,
/*
* Write a list of register settings; ff/ff stops the process.
*/
@@ -73120,7 +73591,7 @@
if (ret < 0)
return ret;
vals++;
-@@ -442,34 +453,35 @@ static int ov7670_write_array(struct i2c_client *c, struct regval_list *vals)
+@@ -442,34 +454,35 @@ static int ov7670_write_array(struct i2c_client *c, struct regval_list *vals)
/*
* Stuff that knows about the sensor.
*/
@@ -73164,7 +73635,7 @@
if (ret < 0)
return ret;
if (v != 0xa2)
-@@ -477,12 +489,12 @@ static int ov7670_detect(struct i2c_client *client)
+@@ -477,12 +490,12 @@ static int ov7670_detect(struct i2c_client *client)
/*
* OK, we know we have an OmniVision chip...but which one?
*/
@@ -73179,7 +73650,7 @@
if (ret < 0)
return ret;
if (v != 0x73) /* PID + VER = 0x76 / 0x73 */
-@@ -627,7 +639,7 @@ static struct ov7670_win_size {
+@@ -627,7 +640,7 @@ static struct ov7670_win_size {
/*
* Store a set of start/stop values into the camera.
*/
@@ -73188,7 +73659,7 @@
int vstart, int vstop)
{
int ret;
-@@ -637,26 +649,26 @@ static int ov7670_set_hw(struct i2c_client *client, int hstart, int hstop,
+@@ -637,26 +650,26 @@ static int ov7670_set_hw(struct i2c_client *client, int hstart, int hstop,
* hstart are in href[2:0], bottom 3 of hstop in href[5:3]. There is
* a mystery "edge offset" value in the top two bits of href.
*/
@@ -73224,7 +73695,7 @@
{
struct ov7670_format_struct *ofmt;
-@@ -671,7 +683,8 @@ static int ov7670_enum_fmt(struct i2c_client *c, struct v4l2_fmtdesc *fmt)
+@@ -671,7 +684,8 @@ static int ov7670_enum_fmt(struct i2c_client *c, struct v4l2_fmtdesc *fmt)
}
@@ -73234,7 +73705,7 @@
struct ov7670_format_struct **ret_fmt,
struct ov7670_win_size **ret_wsize)
{
-@@ -715,18 +728,23 @@ static int ov7670_try_fmt(struct i2c_client *c, struct v4l2_format *fmt,
+@@ -715,18 +729,23 @@ static int ov7670_try_fmt(struct i2c_client *c, struct v4l2_format *fmt,
return 0;
}
@@ -73262,7 +73733,7 @@
if (ret)
return ret;
/*
-@@ -735,7 +753,7 @@ static int ov7670_s_fmt(struct i2c_client *c, struct v4l2_format *fmt)
+@@ -735,7 +754,7 @@ static int ov7670_s_fmt(struct i2c_client *c, struct v4l2_format *fmt)
* the colors.
*/
if (fmt->fmt.pix.pixelformat == V4L2_PIX_FMT_RGB565) {
@@ -73271,7 +73742,7 @@
if (ret)
return ret;
}
-@@ -747,20 +765,20 @@ static int ov7670_s_fmt(struct i2c_client *c, struct v4l2_format *fmt)
+@@ -747,20 +766,20 @@ static int ov7670_s_fmt(struct i2c_client *c, struct v4l2_format *fmt)
*/
com7 = ovfmt->regs[0].value;
com7 |= wsize->com7_bit;
@@ -73297,7 +73768,7 @@
return ret;
}
-@@ -768,7 +786,7 @@ static int ov7670_s_fmt(struct i2c_client *c, struct v4l2_format *fmt)
+@@ -768,7 +787,7 @@ static int ov7670_s_fmt(struct i2c_client *c, struct v4l2_format *fmt)
* Implement G/S_PARM. There is a "high quality" mode we could try
* to do someday; for now, we just do the frame rate tweak.
*/
@@ -73306,7 +73777,7 @@
{
struct v4l2_captureparm *cp = &parms->parm.capture;
unsigned char clkrc;
-@@ -776,7 +794,7 @@ static int ov7670_g_parm(struct i2c_client *c, struct v4l2_streamparm *parms)
+@@ -776,7 +795,7 @@ static int ov7670_g_parm(struct i2c_client *c, struct v4l2_streamparm *parms)
if (parms->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
return -EINVAL;
@@ -73315,7 +73786,7 @@
if (ret < 0)
return ret;
memset(cp, 0, sizeof(struct v4l2_captureparm));
-@@ -788,7 +806,7 @@ static int ov7670_g_parm(struct i2c_client *c, struct v4l2_streamparm *parms)
+@@ -788,7 +807,7 @@ static int ov7670_g_parm(struct i2c_client *c, struct v4l2_streamparm *parms)
return 0;
}
@@ -73324,7 +73795,7 @@
{
struct v4l2_captureparm *cp = &parms->parm.capture;
struct v4l2_fract *tpf = &cp->timeperframe;
-@@ -802,7 +820,7 @@ static int ov7670_s_parm(struct i2c_client *c, struct v4l2_streamparm *parms)
+@@ -802,7 +821,7 @@ static int ov7670_s_parm(struct i2c_client *c, struct v4l2_streamparm *parms)
/*
* CLKRC has a reserved bit, so let's preserve it.
*/
@@ -73333,7 +73804,7 @@
if (ret < 0)
return ret;
if (tpf->numerator == 0 || tpf->denominator == 0)
-@@ -816,7 +834,7 @@ static int ov7670_s_parm(struct i2c_client *c, struct v4l2_streamparm *parms)
+@@ -816,7 +835,7 @@ static int ov7670_s_parm(struct i2c_client *c, struct v4l2_streamparm *parms)
clkrc = (clkrc & 0x80) | div;
tpf->numerator = 1;
tpf->denominator = OV7670_FRAME_RATE/div;
@@ -73342,7 +73813,7 @@
}
-@@ -829,7 +847,7 @@ static int ov7670_s_parm(struct i2c_client *c, struct v4l2_streamparm *parms)
+@@ -829,7 +848,7 @@ static int ov7670_s_parm(struct i2c_client *c, struct v4l2_streamparm *parms)
@@ -73351,7 +73822,7 @@
int matrix[CMATRIX_LEN])
{
int i, ret;
-@@ -839,7 +857,7 @@ static int ov7670_store_cmatrix(struct i2c_client *client,
+@@ -839,7 +858,7 @@ static int ov7670_store_cmatrix(struct i2c_client *client,
* Weird crap seems to exist in the upper part of
* the sign bits register, so let's preserve it.
*/
@@ -73360,7 +73831,7 @@
signbits &= 0xc0;
for (i = 0; i < CMATRIX_LEN; i++) {
-@@ -858,9 +876,9 @@ static int ov7670_store_cmatrix(struct i2c_client *client,
+@@ -858,9 +877,9 @@ static int ov7670_store_cmatrix(struct i2c_client *client,
else
raw = matrix[i] & 0xff;
}
@@ -73372,7 +73843,7 @@
return ret;
}
-@@ -943,29 +961,29 @@ static void ov7670_calc_cmatrix(struct ov7670_info *info,
+@@ -943,29 +962,29 @@ static void ov7670_calc_cmatrix(struct ov7670_info *info,
@@ -73409,7 +73880,7 @@
int matrix[CMATRIX_LEN];
int ret;
-@@ -973,14 +991,14 @@ static int ov7670_t_hue(struct i2c_client *client, int value)
+@@ -973,14 +992,14 @@ static int ov7670_t_hue(struct i2c_client *client, int value)
return -EINVAL;
info->hue = value;
ov7670_calc_cmatrix(info, matrix);
@@ -73427,7 +73898,7 @@
*value = info->hue;
return 0;
-@@ -994,8 +1012,7 @@ static unsigned char ov7670_sm_to_abs(unsigned char v)
+@@ -994,8 +1013,7 @@ static unsigned char ov7670_sm_to_abs(unsigned char v)
{
if ((v & 0x80) == 0)
return v + 128;
@@ -73437,7 +73908,7 @@
}
-@@ -1003,369 +1020,275 @@ static unsigned char ov7670_abs_to_sm(unsigned char v)
+@@ -1003,369 +1021,275 @@ static unsigned char ov7670_abs_to_sm(unsigned char v)
{
if (v > 127)
return v & 0x7f;
@@ -74767,7 +75238,7 @@
extern struct ovcamchip_ops ov6x30_ops;
extern struct ovcamchip_ops ov7x10_ops;
diff --git a/drivers/media/video/pvrusb2/Kconfig b/drivers/media/video/pvrusb2/Kconfig
-index 854c2a8..17cde17 100644
+index 854c2a8..f9b6001 100644
--- a/drivers/media/video/pvrusb2/Kconfig
+++ b/drivers/media/video/pvrusb2/Kconfig
@@ -40,10 +40,10 @@ config VIDEO_PVRUSB2_DVB
@@ -74776,14 +75247,28 @@
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
- select DVB_TDA10048 if !DVB_FE_CUSTOMIZE
- select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMIZE
-+ select DVB_TDA10048 if !DVB_FE_CUSTOMISE
-+ select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMIZE
- select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
- select MEDIA_TUNER_TDA8290 if !DVB_FE_CUSTOMIZE
-+ select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMIZE
++ select DVB_TDA10048 if !DVB_FE_CUSTOMISE
++ select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMISE
---help---
This option enables a DVB interface for the pvrusb2 driver.
+diff --git a/drivers/media/video/pvrusb2/pvrusb2-encoder.c b/drivers/media/video/pvrusb2/pvrusb2-encoder.c
+index 273d2a1..54ac534 100644
+--- a/drivers/media/video/pvrusb2/pvrusb2-encoder.c
++++ b/drivers/media/video/pvrusb2/pvrusb2-encoder.c
+@@ -347,7 +347,7 @@ static int pvr2_encoder_prep_config(struct pvr2_hdw *hdw)
+ int encMisc3Arg = 0;
+
+ #if 0
+- /* This inexplicable bit happens in the Hauppage windows
++ /* This inexplicable bit happens in the Hauppauge windows
+ driver (for both 24xxx and 29xxx devices). However I
+ currently see no difference in behavior with or without
+ this stuff. Leave this here as a note of its existence,
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h b/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
index de7ee72..d96f0f5 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
@@ -78535,23 +79020,25 @@
.remove = saa7127_remove,
.id_table = saa7127_id,
diff --git a/drivers/media/video/saa7134/Kconfig b/drivers/media/video/saa7134/Kconfig
-index fc2164e..e62b299 100644
+index fc2164e..a2089ac 100644
--- a/drivers/media/video/saa7134/Kconfig
+++ b/drivers/media/video/saa7134/Kconfig
@@ -35,8 +35,16 @@ config VIDEO_SAA7134_DVB
select DVB_TDA10086 if !DVB_FE_CUSTOMISE
select DVB_TDA826X if !DVB_FE_CUSTOMISE
select DVB_ISL6421 if !DVB_FE_CUSTOMISE
+- select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMIZE
+- select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
+ select DVB_ISL6405 if !DVB_FE_CUSTOMISE
- select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMIZE
- select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE
+ select DVB_ZL10036 if !DVB_FE_CUSTOMISE
+ select DVB_MT312 if !DVB_FE_CUSTOMISE
+ select DVB_LNBP21 if !DVB_FE_CUSTOMISE
+ select DVB_ZL10353 if !DVB_FE_CUSTOMISE
+ select DVB_LGDT3305 if !DVB_FE_CUSTOMISE
-+ select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMIZE
-+ select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMIZE
++ select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE
++ select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMISE
---help---
This adds support for DVB cards based on the
Philips saa7134 chip.
@@ -83647,7 +84134,7 @@
.probe = upd64083_probe,
.remove = upd64083_remove,
diff --git a/drivers/media/video/usbvision/usbvision-core.c b/drivers/media/video/usbvision/usbvision-core.c
-index 9e4f506..71cb4aa 100644
+index 9e4f506..a0feb1c 100644
--- a/drivers/media/video/usbvision/usbvision-core.c
+++ b/drivers/media/video/usbvision/usbvision-core.c
@@ -36,7 +36,6 @@
@@ -83755,6 +84242,15 @@
return -ENOMEM;
}
usbvision->sbuf[bufIdx].urb = urb;
+@@ -2496,7 +2503,7 @@ int usbvision_init_isoc(struct usb_usbvision *usbvision)
+ urb->dev = dev;
+ urb->context = usbvision;
+ urb->pipe = usb_rcvisocpipe(dev, usbvision->video_endp);
+- urb->transfer_flags = URB_ISO_ASAP;
++ urb->transfer_flags = URB_ISO_ASAP | URB_NO_TRANSFER_DMA_MAP;
+ urb->interval = 1;
+ urb->transfer_buffer = usbvision->sbuf[bufIdx].data;
+ urb->complete = usbvision_isocIrq;
@@ -2516,8 +2523,9 @@ int usbvision_init_isoc(struct usb_usbvision *usbvision)
errCode = usb_submit_urb(usbvision->sbuf[bufIdx].urb,
GFP_KERNEL);
More information about the scm-commits
mailing list