Bonjour,
I installed Mandrake kernel 2.4.22 (2.4.22-5mdk)
Seems that some lm-sensors 2.8 i2c stuff made his way to kernel 2.4.22.
I have made some changes in the driver that compile, load and I am able
to see an image with xawtv -c /dev/video0.

If this makes sense that is the diff -u below.
I am not an expert in #ifdef sp it may more ugly than necessary feel
free to change.

diff -u driver-zoran-cvs-20030905/adv7170.c
driver-zoran-modif-2.4.22/adv7170.c
--- driver-zoran-cvs-20030905/adv7170.c 2003-08-23 17:41:55.000000000
-0400
+++ driver-zoran-modif-2.4.22/adv7170.c 2003-09-06 23:02:37.000000000
-0400
@@ -518,7 +518,7 @@
        return 0;
 }
  
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
 static void
 adv7170_inc_use (struct i2c_client *client)
 {
@@ -546,7 +546,7 @@
        .attach_adapter = adv7170_attach_adapter,
        .detach_client = adv7170_detach_client,
        .command = adv7170_command,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
        .inc_use = adv7170_inc_use,
        .dec_use = adv7170_dec_use,
 #endif
diff -u driver-zoran-cvs-20030905/adv7175.c
driver-zoran-modif-2.4.22/adv7175.c
--- driver-zoran-cvs-20030905/adv7175.c 2003-08-23 17:41:55.000000000
-0400
+++ driver-zoran-modif-2.4.22/adv7175.c 2003-09-06 23:02:37.000000000
-0400
@@ -540,7 +540,7 @@
        return 0;
 }
  
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
 static void
 adv7175_inc_use (struct i2c_client *client)
 {
@@ -568,7 +568,7 @@
        .attach_adapter = adv7175_attach_adapter,
        .detach_client = adv7175_detach_client,
        .command = adv7175_command,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
        .inc_use = adv7175_inc_use,
        .dec_use = adv7175_dec_use,
 #endif
diff -u driver-zoran-cvs-20030905/bt819.c
driver-zoran-modif-2.4.22/bt819.c
--- driver-zoran-cvs-20030905/bt819.c   2003-08-23 17:41:55.000000000
-0400
+++ driver-zoran-modif-2.4.22/bt819.c   2003-09-06 23:02:37.000000000
-0400
@@ -644,7 +644,7 @@
        return 0;
 }
  
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
 static void
 bt819_inc_use (struct i2c_client *client)
 {
@@ -672,7 +672,7 @@
        .attach_adapter = bt819_attach_adapter,
        .detach_client = bt819_detach_client,
        .command = bt819_command,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
        .inc_use = bt819_inc_use,
        .dec_use = bt819_dec_use,
 #endif
diff -u driver-zoran-cvs-20030905/bt856.c
driver-zoran-modif-2.4.22/bt856.c
--- driver-zoran-cvs-20030905/bt856.c   2003-08-23 17:41:55.000000000
-0400
+++ driver-zoran-modif-2.4.22/bt856.c   2003-09-06 23:02:37.000000000
-0400
@@ -425,7 +425,7 @@
        return 0;
 }
  
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
 static void
 bt856_inc_use (struct i2c_client *client)
 {
@@ -453,7 +453,7 @@
        .attach_adapter = bt856_attach_adapter,
        .detach_client = bt856_detach_client,
        .command = bt856_command,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
        .inc_use = bt856_inc_use,
        .dec_use = bt856_dec_use,
 #endif
Common subdirectories: driver-zoran-cvs-20030905/CVS and
driver-zoran-modif-2.4.22/CVS
diff -u driver-zoran-cvs-20030905/saa7110.c
driver-zoran-modif-2.4.22/saa7110.c
--- driver-zoran-cvs-20030905/saa7110.c 2003-08-23 17:41:55.000000000
-0400
+++ driver-zoran-modif-2.4.22/saa7110.c 2003-09-06 23:02:37.000000000
-0400
@@ -600,7 +600,7 @@
        return 0;
 }
  
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
 static void
 saa7110_inc_use (struct i2c_client *client)
 {
@@ -628,7 +628,7 @@
        .attach_adapter = saa7110_attach_adapter,
        .detach_client = saa7110_detach_client,
        .command = saa7110_command,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
        .inc_use = saa7110_inc_use,
        .dec_use = saa7110_dec_use,
 #endif
diff -u driver-zoran-cvs-20030905/saa7111.c
driver-zoran-modif-2.4.22/saa7111.c
--- driver-zoran-cvs-20030905/saa7111.c 2003-08-23 17:41:55.000000000
-0400
+++ driver-zoran-modif-2.4.22/saa7111.c 2003-09-06 23:02:37.000000000
-0400
@@ -561,7 +561,7 @@
        return 0;
 }
  
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
 static void
 saa7111_inc_use (struct i2c_client *client)
 {
@@ -589,7 +589,7 @@
        .attach_adapter = saa7111_attach_adapter,
        .detach_client = saa7111_detach_client,
        .command = saa7111_command,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
        .inc_use = saa7111_inc_use,
        .dec_use = saa7111_dec_use,
 #endif
diff -u driver-zoran-cvs-20030905/saa7114.c
driver-zoran-modif-2.4.22/saa7114.c
--- driver-zoran-cvs-20030905/saa7114.c 2003-08-23 17:41:55.000000000
-0400
+++ driver-zoran-modif-2.4.22/saa7114.c 2003-09-06 23:02:37.000000000
-0400
@@ -1224,7 +1224,7 @@
        return 0;
 }
  
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
 static void
 saa7114_inc_use (struct i2c_client *client)
 {
@@ -1252,7 +1252,7 @@
        .attach_adapter = saa7114_attach_adapter,
        .detach_client = saa7114_detach_client,
        .command = saa7114_command,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
        .inc_use = saa7114_inc_use,
        .dec_use = saa7114_dec_use,
 #endif
diff -u driver-zoran-cvs-20030905/saa7185.c
driver-zoran-modif-2.4.22/saa7185.c
--- driver-zoran-cvs-20030905/saa7185.c 2003-08-23 17:41:55.000000000
-0400
+++ driver-zoran-modif-2.4.22/saa7185.c 2003-09-06 23:02:37.000000000
-0400
@@ -507,7 +507,7 @@
        return 0;
 }
  
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
 static void
 saa7185_inc_use (struct i2c_client *client)
 {
@@ -535,7 +535,7 @@
        .attach_adapter = saa7185_attach_adapter,
        .detach_client = saa7185_detach_client,
        .command = saa7185_command,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
        .inc_use = saa7185_inc_use,
        .dec_use = saa7185_dec_use,
 #endif
diff -u driver-zoran-cvs-20030905/vpx3220.c
driver-zoran-modif-2.4.22/vpx3220.c
--- driver-zoran-cvs-20030905/vpx3220.c 2003-09-01 16:34:54.000000000
-0400
+++ driver-zoran-modif-2.4.22/vpx3220.c 2003-09-06 23:02:37.000000000
-0400
@@ -732,7 +732,7 @@
        return ret;
 }
  
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
 static void
 vpx3220_inc_use (struct i2c_client *client)
 {
@@ -762,7 +762,7 @@
        .attach_adapter = vpx3220_attach_adapter,
        .detach_client = vpx3220_detach_client,
        .command = vpx3220_command,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
        .inc_use = vpx3220_inc_use,
        .dec_use = vpx3220_dec_use,
 #endif
diff -u driver-zoran-cvs-20030905/zoran_driver.c
driver-zoran-modif-2.4.22/zoran_driver.c
--- driver-zoran-cvs-20030905/zoran_driver.c    2003-08-23
17:41:55.000000000 -0400
+++ driver-zoran-modif-2.4.22/zoran_driver.c    2003-09-07
08:36:36.000000000 -0400
@@ -1295,12 +1295,14 @@
                goto open_unlock_and_return;
        }
  
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
        /* try to grab a module lock */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
-       MOD_INC_USE_COUNT;
        i2c_inc_use_client(zr->decoder);
        if (zr->encoder)
                i2c_inc_use_client(zr->encoder);
+#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+       MOD_INC_USE_COUNT;
 #else
        if (!try_module_get(THIS_MODULE)) {
                dprintk(1,
@@ -1393,10 +1395,12 @@
 open_unlock_and_return:
        /* if we grabbed locks, release them accordingly */
        if (have_module_locks) {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
                i2c_dec_use_client(zr->decoder);
                if (zr->encoder)
                        i2c_dec_use_client(zr->encoder);
+#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
                MOD_DEC_USE_COUNT;
 #else
                module_put(zr->decoder->driver->owner);
@@ -1467,11 +1471,13 @@
        kfree(fh->overlay_mask);
        kfree(fh);
  
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
        /* release locks on the i2c modules */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
        i2c_dec_use_client(zr->decoder);
        if (zr->encoder)
                i2c_dec_use_client(zr->encoder);
+#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
        MOD_DEC_USE_COUNT;
 #else
        module_put(zr->decoder->driver->owner);


Benoit





-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Mjpeg-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/mjpeg-users

Reply via email to