Package: ov511-source
Version: 1.65-2
Severity: important
Tags: patch
Here is attached a better patch (including some personnal modifications
to have it work with new directives from the kernel dev :
http://www.ussg.iu.edu/hypermail/linux/kernel/0503.0/1742.html )
Sorry for the double post ;)
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12.5
Locale: LANG=fr_FR, LC_CTYPE=fr_FR (charmap=ISO-8859-1)
ov511-source depends on no packages.
Versions of packages ov511-source recommends:
ii kernel-package 9.006 A utility for building Linux kerne
-- no debconf information
diff -ur ov511-2.28-orig/ov511_core.c ov511-2.28/ov511_core.c
--- ov511-2.28-orig/ov511_core.c 2005-08-22 16:30:51.500162104 +0200
+++ ov511-2.28/ov511_core.c 2005-08-22 16:36:35.100926848 +0200
@@ -3547,7 +3547,7 @@
/* Unschedule all of the iso td's */
for (n = OV511_NUMSBUF - 1; n >= 0; n--) {
if (ov->sbuf[n].urb) {
- usb_unlink_urb(ov->sbuf[n].urb);
+ usb_kill_urb(ov->sbuf[n].urb);
usb_free_urb(ov->sbuf[n].urb);
ov->sbuf[n].urb = NULL;
}
@@ -4881,13 +4881,19 @@
pos = (unsigned long)ov->fbuf;
while (size > 0) {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)
+ page = page_to_pfn(vmalloc_to_page((void *)pos));
+ if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) {
+#else
page = kvirt_to_pa(pos);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 3) || defined(RH9_REMAP)
if (remap_page_range(vma, start, page, PAGE_SIZE,
PAGE_SHARED)) {
+
#else
if (remap_page_range(start, page, PAGE_SIZE, PAGE_SHARED)) {
#endif
+#endif
up(&ov->lock);
return -EAGAIN;
}
@@ -5627,7 +5633,7 @@
ov->tuner_type = tuner;
ov->sensor = CC_UNKNOWN;
- switch (dev->descriptor.idProduct) {
+ switch (le16_to_cpu(dev->descriptor.idProduct)) {
case PROD_OV511:
ov->bridge = BRG_OV511;
ov->bclass = BCL_OV511;
@@ -5645,13 +5651,13 @@
ov->bclass = BCL_OV518;
break;
case PROD_ME2CAM:
- if (dev->descriptor.idVendor != VEND_MATTEL)
+ if (le16_to_cpu(dev->descriptor.idVendor) != VEND_MATTEL)
goto error;
ov->bridge = BRG_OV511PLUS;
ov->bclass = BCL_OV511;
break;
default:
- err("Unknown product ID 0x%04x", dev->descriptor.idProduct);
+ err("Unknown product ID 0x%04x", le16_to_cpu(dev->descriptor.idProduct));
goto error;
}
Seulement dans ov511-2.28: ov511_core.o
Seulement dans ov511-2.28: .ov511_core.o.cmd
Seulement dans ov511-2.28: ov511_decomp.o
Seulement dans ov511-2.28: .ov511_decomp.o.cmd
Seulement dans ov511-2.28: ov511.ko
Seulement dans ov511-2.28: .ov511.ko.cmd
Seulement dans ov511-2.28: ov511.mod.c
Seulement dans ov511-2.28: ov511.mod.o
Seulement dans ov511-2.28: .ov511.mod.o.cmd
Seulement dans ov511-2.28: ov511.o
Seulement dans ov511-2.28: .ov511.o.cmd
Seulement dans ov511-2.28: ov518_decomp.o
Seulement dans ov511-2.28: .ov518_decomp.o.cmd
Seulement dans ov511-2.28: ov6x20.o
Seulement dans ov511-2.28: .ov6x20.o.cmd
Seulement dans ov511-2.28: ov6x30.o
Seulement dans ov511-2.28: .ov6x30.o.cmd
Seulement dans ov511-2.28: ov76be.o
Seulement dans ov511-2.28: .ov76be.o.cmd
Seulement dans ov511-2.28: ov7x10.o
Seulement dans ov511-2.28: .ov7x10.o.cmd
Seulement dans ov511-2.28: ov7x20.o
Seulement dans ov511-2.28: .ov7x20.o.cmd
diff -ur ov511-2.28-orig/ovcamchip_core.c ov511-2.28/ovcamchip_core.c
--- ov511-2.28-orig/ovcamchip_core.c 2005-08-22 16:30:51.511160432 +0200
+++ ov511-2.28/ovcamchip_core.c 2005-08-22 16:35:33.325318168 +0200
@@ -582,7 +582,7 @@
static struct i2c_client client_template = {
I2C_DEVNAME("(unset)"),
- .id = -1,
+ //.id = -1,
.driver = &driver,
};
Seulement dans ov511-2.28: ovcamchip_core.o
Seulement dans ov511-2.28: .ovcamchip_core.o.cmd
Seulement dans ov511-2.28: ovcamchip.ko
Seulement dans ov511-2.28: .ovcamchip.ko.cmd
Seulement dans ov511-2.28: ovcamchip.mod.c
Seulement dans ov511-2.28: ovcamchip.mod.o
Seulement dans ov511-2.28: .ovcamchip.mod.o.cmd
Seulement dans ov511-2.28: ovcamchip.o
Seulement dans ov511-2.28: .ovcamchip.o.cmd
diff -ur ov511-2.28-orig/ovfx2.c ov511-2.28/ovfx2.c
--- ov511-2.28-orig/ovfx2.c 2005-08-22 16:30:51.509160736 +0200
+++ ov511-2.28/ovfx2.c 2005-08-22 16:36:35.103926392 +0200
@@ -1678,7 +1678,7 @@
/* Unschedule all of the bulk td's */
for (n = OVFX2_NUMSBUF - 1; n >= 0; n--) {
if (ov->sbuf[n].urb) {
- usb_unlink_urb(ov->sbuf[n].urb);
+ usb_kill_urb(ov->sbuf[n].urb);
usb_free_urb(ov->sbuf[n].urb);
ov->sbuf[n].urb = NULL;
}
@@ -2502,6 +2502,10 @@
pos = (unsigned long)ov->fbuf;
while (size > 0) {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)
+ page = page_to_pfn(vmalloc_to_page((void *)pos));
+ if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) {
+#else
page = kvirt_to_pa(pos);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 3) || defined(RH9_REMAP)
if (remap_page_range(vma, start, page, PAGE_SIZE,
@@ -2509,6 +2513,7 @@
#else
if (remap_page_range(start, page, PAGE_SIZE, PAGE_SHARED)) {
#endif
+#endif
up(&ov->lock);
return -EAGAIN;
}
Seulement dans ov511-2.28: ovfx2.ko
Seulement dans ov511-2.28: .ovfx2.ko.cmd
Seulement dans ov511-2.28: ovfx2.mod.c
Seulement dans ov511-2.28: ovfx2.mod.o
Seulement dans ov511-2.28: .ovfx2.mod.o.cmd
Seulement dans ov511-2.28: ovfx2.o
Seulement dans ov511-2.28: .ovfx2.o.cmd
diff -ur ov511-2.28-orig/saa7111-new.c ov511-2.28/saa7111-new.c
--- ov511-2.28-orig/saa7111-new.c 2005-08-22 16:30:51.508160888 +0200
+++ ov511-2.28/saa7111-new.c 2005-08-22 16:37:08.204894280 +0200
@@ -520,7 +520,7 @@
static struct i2c_client client_template = {
I2C_DEVNAME("(unset)"),
- .id = -1,
+ //.id = -1,
.driver = &driver
};
Seulement dans ov511-2.28: saa7111-new.ko
Seulement dans ov511-2.28: .saa7111-new.ko.cmd
Seulement dans ov511-2.28: saa7111-new.mod.c
Seulement dans ov511-2.28: saa7111-new.mod.o
Seulement dans ov511-2.28: .saa7111-new.mod.o.cmd
Seulement dans ov511-2.28: saa7111-new.o
Seulement dans ov511-2.28: .saa7111-new.o.cmd
diff -ur ov511-2.28-orig/tda7313.c ov511-2.28/tda7313.c
--- ov511-2.28-orig/tda7313.c 2005-08-22 16:30:51.510160584 +0200
+++ ov511-2.28/tda7313.c 2005-08-22 16:37:23.279602576 +0200
@@ -202,7 +202,7 @@
static struct i2c_client client_template = {
I2C_DEVNAME("tda7313"),
- .id = -1,
+ //.id = -1,
.driver = &driver,
};
Seulement dans ov511-2.28: tda7313.ko
Seulement dans ov511-2.28: .tda7313.ko.cmd
Seulement dans ov511-2.28: tda7313.mod.c
Seulement dans ov511-2.28: tda7313.mod.o
Seulement dans ov511-2.28: .tda7313.mod.o.cmd
Seulement dans ov511-2.28: tda7313.o
Seulement dans ov511-2.28: .tda7313.o.cmd
Seulement dans ov511-2.28: .tmp_versions
Seulement dans ov511-2.28: tuner.ko
Seulement dans ov511-2.28: .tuner.ko.cmd
Seulement dans ov511-2.28: tuner.mod.c
Seulement dans ov511-2.28: tuner.mod.o
Seulement dans ov511-2.28: .tuner.mod.o.cmd
Seulement dans ov511-2.28: tuner.o
Seulement dans ov511-2.28: .tuner.o.cmd