[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: FC4:ToUcam Pro II webcam (and astronomy.)



>>>>> "Colin" == Colin Paul Adams <colin colina demon co uk> writes:

>>>>> "Andrew" == Andrew Jordan <aj dapcourt com> writes:
    Andrew> Hi All, Has anyone here managed to get the Phillips ToUcam
    Andrew> webcam working under Fedora Core 4?

    Colin> Yes - I had it working (it's not working now - I think
    Colin> probably because of an automatic kernel upgrade - I suspect
    Colin> if I just relink, that will do the trick).  Hm. Just tried
    Colin> that - it's not quite so simple. I'll check it out soon.

Well, it nearly was.
First I had to do a rmmod ov511 and rmmod ovcamchip

Then within the patched 2.28 driver directory:

make clean
make
make install

then modprobe ov511

and it works.

    Colin> BTW, I had to patch the driver.

I emailed my changes to the maintainer of the driver, but heard
nothing. Since the 2.28 sources are rather old (over a year), I guess
it is not under development.

So here is my patch against a 2.28 source tree:

diff -u ov511-2.28/ov511_core.c ov511-2.28-patched/ov511_core.c
--- ov511-2.28/ov511_core.c	2004-07-13 12:54:22.000000000 +0100
+++ ov511-2.28-patched/ov511_core.c	2005-06-20 19:58:07.000000000 +0100
@@ -4883,7 +4883,7 @@
 	while (size > 0) {
 		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,
+		if (remap_pfn_range(vma, start, page >> PAGE_SHIFT, PAGE_SIZE,
 				     PAGE_SHARED)) {
 #else
 		if (remap_page_range(start, page, PAGE_SIZE, PAGE_SHARED)) {
diff -u ov511-2.28/ovcamchip_core.c ov511-2.28-patched/ovcamchip_core.c
--- ov511-2.28/ovcamchip_core.c	2004-07-16 11:58:25.000000000 +0100
+++ ov511-2.28-patched/ovcamchip_core.c	2005-06-19 16:57:36.000000000 +0100
@@ -582,7 +582,7 @@
 
 static struct i2c_client client_template = {
 	I2C_DEVNAME("(unset)"),
-	.id =		-1,
+	/*	.id =		-1,*/
 	.driver =	&driver,
 };
 
diff -u ov511-2.28/ovfx2.c ov511-2.28-patched/ovfx2.c
--- ov511-2.28/ovfx2.c	2004-07-16 00:32:08.000000000 +0100
+++ ov511-2.28-patched/ovfx2.c	2005-06-20 19:58:13.000000000 +0100
@@ -2504,7 +2504,7 @@
 	while (size > 0) {
 		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,
+		if (remap_pfn_range(vma, start, page >> PAGE_SHIFT, PAGE_SIZE,
 				     PAGE_SHARED)) {
 #else
 		if (remap_page_range(start, page, PAGE_SIZE, PAGE_SHARED)) {
diff -u ov511-2.28/saa7111-new.c ov511-2.28-patched/saa7111-new.c
--- ov511-2.28/saa7111-new.c	2004-07-13 13:04:46.000000000 +0100
+++ ov511-2.28-patched/saa7111-new.c	2005-06-19 16:58:08.000000000 +0100
@@ -520,7 +520,7 @@
 
 static struct i2c_client client_template = {
 	I2C_DEVNAME("(unset)"),
-	.id =		-1,
+	/*	.id =		-1,*/
 	.driver =	&driver
 };
 
diff -u ov511-2.28/tda7313.c ov511-2.28-patched/tda7313.c
--- ov511-2.28/tda7313.c	2004-07-15 11:06:44.000000000 +0100
+++ ov511-2.28-patched/tda7313.c	2005-06-19 16:58:33.000000000 +0100
@@ -202,7 +202,7 @@
 
 static struct i2c_client client_template = {
 	I2C_DEVNAME("tda7313"),
-	.id      = -1,
+	/*	.id      = -1,*/
 	.driver  = &driver,
 };
 

-- 
Colin Adams
Preston Lancashire


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]