summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Francois Moine <moinejf@free.fr>2009-03-24 09:07:56 +0100
committerJean-Francois Moine <moinejf@free.fr>2009-03-24 09:07:56 +0100
commit9bf2b9b868cce9002b2e993e6014e40f0638e920 (patch)
treedc774777beed4b8078bd18c30f2c4037b72b583c
parent7218ee25243cf0fb19b66fb1068a900bb49ba9d6 (diff)
parenta5118d42e7e2f3428a63605e6de010d17843d61e (diff)
downloadmediapointer-dvb-s2-9bf2b9b868cce9002b2e993e6014e40f0638e920.tar.gz
mediapointer-dvb-s2-9bf2b9b868cce9002b2e993e6014e40f0638e920.tar.bz2
merge: v4l-dvb
-rwxr-xr-x[-rw-r--r--]linux/Documentation/dvb/get_dvb_firmware72
-rw-r--r--linux/drivers/media/video/au0828/au0828-video.c2
-rw-r--r--linux/drivers/media/video/em28xx/em28xx-cards.c2
-rw-r--r--linux/drivers/media/video/em28xx/em28xx-core.c2
-rw-r--r--linux/drivers/media/video/hdpvr/Makefile4
-rw-r--r--linux/drivers/media/video/hdpvr/hdpvr-core.c9
-rw-r--r--linux/drivers/media/video/ov7670.c1
-rw-r--r--linux/drivers/media/video/usbvision/usbvision-core.c2
-rw-r--r--v4l/versions.txt1
9 files changed, 85 insertions, 10 deletions
diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware
index 72455b6d9..2f21ecd4c 100644..100755
--- a/linux/Documentation/dvb/get_dvb_firmware
+++ b/linux/Documentation/dvb/get_dvb_firmware
@@ -25,7 +25,7 @@ use IO::Handle;
"tda10046lifeview", "av7110", "dec2000t", "dec2540t",
"dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004",
"or51211", "or51132_qam", "or51132_vsb", "bluebird",
- "opera1", "cx231xx");
+ "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2" );
# Check args
syntax() if (scalar(@ARGV) != 1);
@@ -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);
@@ -358,6 +358,72 @@ sub cx231xx {
$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";
diff --git a/linux/drivers/media/video/au0828/au0828-video.c b/linux/drivers/media/video/au0828/au0828-video.c
index fc76b2e20..5eac5cde5 100644
--- a/linux/drivers/media/video/au0828/au0828-video.c
+++ b/linux/drivers/media/video/au0828/au0828-video.c
@@ -273,7 +273,7 @@ int au0828_init_isoc(struct au0828_dev *dev, int max_packets,
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++) {
diff --git a/linux/drivers/media/video/em28xx/em28xx-cards.c b/linux/drivers/media/video/em28xx/em28xx-cards.c
index fcb8131e6..6b4a204a9 100644
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c
@@ -652,6 +652,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,
@@ -676,6 +677,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,
#if 0 /* FIXME: add an entry at em28xx-dvb */
.has_dvb = 1,
diff --git a/linux/drivers/media/video/em28xx/em28xx-core.c b/linux/drivers/media/video/em28xx/em28xx-core.c
index 0d4c9fcc2..4edd3870e 100644
--- a/linux/drivers/media/video/em28xx/em28xx-core.c
+++ b/linux/drivers/media/video/em28xx/em28xx-core.c
@@ -991,7 +991,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++) {
diff --git a/linux/drivers/media/video/hdpvr/Makefile b/linux/drivers/media/video/hdpvr/Makefile
index 79ad2e16c..e0230fcb2 100644
--- a/linux/drivers/media/video/hdpvr/Makefile
+++ b/linux/drivers/media/video/hdpvr/Makefile
@@ -1,4 +1,6 @@
-hdpvr-objs := hdpvr-control.o hdpvr-core.o hdpvr-i2c.o hdpvr-video.o
+hdpvr-objs := hdpvr-control.o hdpvr-core.o hdpvr-video.o
+
+hdpvr-$(CONFIG_I2C) += hdpvr-i2c.o
obj-$(CONFIG_VIDEO_HDPVR) += hdpvr.o
diff --git a/linux/drivers/media/video/hdpvr/hdpvr-core.c b/linux/drivers/media/video/hdpvr/hdpvr-core.c
index 4a2bbb72b..e96aed42d 100644
--- a/linux/drivers/media/video/hdpvr/hdpvr-core.c
+++ b/linux/drivers/media/video/hdpvr/hdpvr-core.c
@@ -348,13 +348,14 @@ static int hdpvr_probe(struct usb_interface *interface,
goto error;
}
-#if 0 /* until i2c is working properly */
- retval = hdpvr_register_i2c_adapter(dev);
+#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
+#endif /* CONFIG_I2C */
/* save our data pointer in this interface device */
usb_set_intfdata(interface, dev);
@@ -396,12 +397,14 @@ static void hdpvr_disconnect(struct usb_interface *interface)
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);
diff --git a/linux/drivers/media/video/ov7670.c b/linux/drivers/media/video/ov7670.c
index 263f20669..7c97449fd 100644
--- a/linux/drivers/media/video/ov7670.c
+++ b/linux/drivers/media/video/ov7670.c
@@ -13,6 +13,7 @@
#include <linux/init.h>
#include <linux/module.h>
#include <linux/i2c.h>
+#include <linux/delay.h>
#include <linux/videodev2.h>
#include <media/v4l2-device.h>
#include <media/v4l2-chip-ident.h>
diff --git a/linux/drivers/media/video/usbvision/usbvision-core.c b/linux/drivers/media/video/usbvision/usbvision-core.c
index 7fe361668..734df263f 100644
--- a/linux/drivers/media/video/usbvision/usbvision-core.c
+++ b/linux/drivers/media/video/usbvision/usbvision-core.c
@@ -2524,7 +2524,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;
diff --git a/v4l/versions.txt b/v4l/versions.txt
index b4869a157..055028b87 100644
--- a/v4l/versions.txt
+++ b/v4l/versions.txt
@@ -45,6 +45,7 @@ USB_GSPCA_FINEPIX
USB_SI470X
# due to INIT_WORK changes
USB_GSPCA_SQ905
+VIDEO_HDPVR
[2.6.19]
#This driver were developed at kernel 2.6.19, requiring vmalloc_user/remap_vmalloc_range