All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Meunier <meunier.laurent@laposte.net>
To: mmcclell@bigfoot.com
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH] ov511-2.28 patch for 2.6.12 kernel compat.
Date: Tue, 27 Sep 2005 13:24:41 +0200	[thread overview]
Message-ID: <43392BF9.30906@laposte.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 626 bytes --]

Dear Mark,

Here is a patch for you to apply to your ov511-2.28 driver. It's based 
on the patch made by Vassilli Khachaturov 
(http://lkml.org/lkml/2005/6/8/242).

This patch basically remove references to the 'id' field from the static 
struct i2c_client client_template in ovcamchip_core.c, tda7313.c and 
saa7111-new.c) and update a deprecated function (usb_unlink_urb -> 
usb_kill_urb).

Tested on ArchLinux 0.7 with kernel v2.6.12 and webcam philips toucam II.

Regards,
Laurent


PS: I haven't subscribed to the linux-kernel mailing list and I would 
like to be personally CC'ed the answers/comments posted to the list

[-- Attachment #2: ov511-2.28_linux-2.6.12.patch --]
[-- Type: text/plain, Size: 3839 bytes --]

diff -rbup ov511-2.28-orig/ov511_core.c ov511-2.28-new/ov511_core.c
--- ov511-2.28-orig/ov511_core.c	2004-07-13 13:54:22.000000000 +0200
+++ ov511-2.28-new/ov511_core.c	2005-09-24 13:59:04.000000000 +0200
@@ -3547,7 +3547,11 @@ ov51x_unlink_isoc(struct usb_ov511 *ov)
 	/* Unschedule all of the iso td's */
 	for (n = OV511_NUMSBUF - 1; n >= 0; n--) {
 		if (ov->sbuf[n].urb) {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 12)
+			usb_kill_urb(ov->sbuf[n].urb);
+#else
 			usb_unlink_urb(ov->sbuf[n].urb);
+#endif
 			usb_free_urb(ov->sbuf[n].urb);
 			ov->sbuf[n].urb = NULL;
 		}
@@ -4881,12 +4885,18 @@ ov51x_mmap(struct file *file, struct vm_
 
 	pos = (unsigned long)ov->fbuf;
 	while (size > 0) {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11)
+		page = vmalloc_to_pfn((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 LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 3) || defined(RH9_REMAP)
 		if (remap_page_range(vma, start, page, PAGE_SIZE,
 				     PAGE_SHARED)) {
-#else
+# else
 		if (remap_page_range(start, page, PAGE_SIZE, PAGE_SHARED)) {
+# endif
 #endif
 			up(&ov->lock);
 			return -EAGAIN;
diff -rbup ov511-2.28-orig/ovcamchip_core.c ov511-2.28-new/ovcamchip_core.c
--- ov511-2.28-orig/ovcamchip_core.c	2004-07-16 12:58:25.000000000 +0200
+++ ov511-2.28-new/ovcamchip_core.c	2005-09-24 13:54:11.000000000 +0200
@@ -582,7 +582,9 @@ static struct i2c_driver driver = {
 
 static struct i2c_client client_template = {
 	I2C_DEVNAME("(unset)"),
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12)
 	.id =		-1,
+#endif
 	.driver =	&driver,
 };
 
diff -rbup ov511-2.28-orig/ovfx2.c ov511-2.28-new/ovfx2.c
--- ov511-2.28-orig/ovfx2.c	2004-07-16 01:32:08.000000000 +0200
+++ ov511-2.28-new/ovfx2.c	2005-09-24 14:00:12.000000000 +0200
@@ -1678,7 +1678,11 @@ ovfx2_unlink_bulk(struct usb_ovfx2 *ov)
 	/* Unschedule all of the bulk td's */
 	for (n = OVFX2_NUMSBUF - 1; n >= 0; n--) {
 		if (ov->sbuf[n].urb) {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 12)
 			usb_unlink_urb(ov->sbuf[n].urb);
+#else
+			usb_unlink_urb(ov->sbuf[n].urb);
+#endif
 			usb_free_urb(ov->sbuf[n].urb);
 			ov->sbuf[n].urb = NULL;
 		}
@@ -2502,12 +2506,18 @@ ovfx2_mmap(struct file *file, struct vm_
 
 	pos = (unsigned long)ov->fbuf;
 	while (size > 0) {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11)
+		page = vmalloc_to_pfn((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 LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 3) || defined(RH9_REMAP)
 		if (remap_page_range(vma, start, page, PAGE_SIZE,
 				     PAGE_SHARED)) {
-#else
+# else
 		if (remap_page_range(start, page, PAGE_SIZE, PAGE_SHARED)) {
+# endif
 #endif
 			up(&ov->lock);
 			return -EAGAIN;
diff -rbup ov511-2.28-orig/saa7111-new.c ov511-2.28-new/saa7111-new.c
--- ov511-2.28-orig/saa7111-new.c	2004-07-13 14:04:46.000000000 +0200
+++ ov511-2.28-new/saa7111-new.c	2005-09-24 13:54:56.000000000 +0200
@@ -520,7 +520,9 @@ static struct i2c_driver driver = {
 
 static struct i2c_client client_template = {
 	I2C_DEVNAME("(unset)"),
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12)
 	.id =		-1,
+#endif
 	.driver =	&driver
 };
 
diff -rbup ov511-2.28-orig/tda7313.c ov511-2.28-new/tda7313.c
--- ov511-2.28-orig/tda7313.c	2004-07-15 12:06:44.000000000 +0200
+++ ov511-2.28-new/tda7313.c	2005-09-24 13:56:13.000000000 +0200
@@ -202,7 +202,9 @@ static struct i2c_driver driver = {
 
 static struct i2c_client client_template = {
 	I2C_DEVNAME("tda7313"),
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12)
 	.id      = -1,
+#endif
 	.driver  = &driver,
 };
 

             reply	other threads:[~2005-09-27 13:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-27 11:24 Laurent Meunier [this message]
2005-09-27 17:23 ` [PATCH] ov511-2.28 patch for 2.6.12 kernel compat Gregor Jasny
2005-09-27 18:19   ` Laurent Meunier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43392BF9.30906@laposte.net \
    --to=meunier.laurent@laposte.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mmcclell@bigfoot.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.