BUG in changeset 7157?

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

 



Hi,

compiling of the current HG tree fails on linux 2.6.24. I think it is a bug in changeset 7157:

--- a/v4l/compat.h Tue Feb 05 07:37:21 2008 +0000
+++ b/v4l/compat.h Tue Feb 05 11:21:32 2008 -0200
@@ -497,6 +497,10 @@ do { \
#ifndef BIT_MASK
# define BIT_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))
# define BIT_WORD(nr) ((nr) / BITS_PER_LONG)
+
+#define i2c_verify_client(dev) \
+ ((dev->bus == &i2c_bus_type) ? to_i2c_client(dev) : NULL)
+
#endif

The definition of i2c_verify_client() should not be inside #ifndef BIT_MASK / #endif. The 
variable i2c_bus_type is only public on 2.6.23.x (maybe also on earlier versions) but not 
on 2.6.24. The following patch does fix the problem on 2.6.24 for me:

diff -r 012135d734a0 v4l/compat.h
--- a/v4l/compat.h      Tue Feb 05 11:21:32 2008 -0200
+++ b/v4l/compat.h      Tue Feb 05 23:33:35 2008 +0100
@@ -497,12 +497,15 @@ do { 
       \
  #ifndef BIT_MASK
  # define BIT_MASK(nr)            (1UL << ((nr) % BITS_PER_LONG))
  # define BIT_WORD(nr)            ((nr) / BITS_PER_LONG)
-
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
  #define i2c_verify_client(dev) \
         ((dev->bus == &i2c_bus_type) ? to_i2c_client(dev) : NULL)
-
-#endif
-
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
+#define i2c_verify_client(dev) \
+       ((dev->bus && 0 == strcmp(dev->bus->name, "i2c")) ? to_i2c_client(dev) : NULL)
+#endif

  #ifndef USB_DEVICE_AND_INTERFACE_INFO
  # define USB_DEVICE_AND_INTERFACE_INFO(vend,prod,cl,sc,pr) \

-Hartmut

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux