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

Reply via email to