Andy, Thanks for the patch. Please see my response below. > -----Original Message----- > From: Andy Walls [mailto:awalls@xxxxxxxxx] > Sent: Friday, May 15, 2009 5:24 AM > To: david.ward@xxxxxxxxxx > Cc: Chaithrika U S; linux-media@xxxxxxxxxxxxxxx > Subject: Re: v4l-dvb rev 11757 broke building under Ubuntu Hardy > > > David Ward wrote: > > > I am using v4l-dvb in order to add the cx18 driver under Ubuntu Hardy > > (8.04). > > > > The build is currently broken under Hardy, which uses kernel 2.6.24. > I > > have traced the origin of the problem to revision 11757. As seen in > > the latest cron job output, the build produces the error when trying > > to compile adv7343.c: > > > > /usr/local/src/v4l-dvb/v4l/adv7343.c:506: error: array type has > incomplete element type > > /usr/local/src/v4l-dvb/v4l/adv7343.c:518: warning: initialization > from incompatible pointer type > > /usr/local/src/v4l-dvb/v4l/adv7343.c:520: error: unknown field > 'id_table' specified in initializer > > > > Thanks for resolving this. > > > > David Ward > > David, > > Please try the patch below. > > Chaithrika, > > Please review (and test if it is OK) the patch below. It modifies > adv7343.c to what the cs5345.c file does for backward compatability. > > It adds some checks against kernel version, which would not go into the > actual kernel, and changes some code to use the v4l2 i2c module > template > from v4l2-i2c-drv.h, which *would* go into the actual kenrel. > > > Regards, > Andy > > > Signed-off-by: Andy Walls <awalls@xxxxxxxxx> > > diff -r 0018ed9bbca3 linux/drivers/media/video/adv7343.c > --- a/linux/drivers/media/video/adv7343.c Tue May 12 16:13:13 2009 > +0000 > +++ b/linux/drivers/media/video/adv7343.c Thu May 14 19:51:10 2009 - > 0400 > @@ -29,6 +29,8 @@ > #include <media/adv7343.h> > #include <media/v4l2-device.h> > #include <media/v4l2-chip-ident.h> > +#include <media/v4l2-i2c-drv.h> > +#include "compat.h" > > #include "adv7343_regs.h" > > @@ -503,6 +505,7 @@ > return 0; > } > > +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26) > static const struct i2c_device_id adv7343_id[] = { > {"adv7343", 0}, > {}, > @@ -510,25 +513,12 @@ > > MODULE_DEVICE_TABLE(i2c, adv7343_id); > > -static struct i2c_driver adv7343_driver = { > - .driver = { > - .owner = THIS_MODULE, > - .name = "adv7343", > - }, > +#endif > +static struct v4l2_i2c_driver_data v4l2_i2c_data = { > + .name = "adv7343", > .probe = adv7343_probe, > .remove = adv7343_remove, > +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26) > .id_table = adv7343_id, > +#endif > }; > - > -static __init int init_adv7343(void) > -{ > - return i2c_add_driver(&adv7343_driver); > -} > - > -static __exit void exit_adv7343(void) > -{ > - i2c_del_driver(&adv7343_driver); > -} > - > -module_init(init_adv7343); > -module_exit(exit_adv7343); > During my initial implementations, I did follow the v4l2_i2c_driver_data procedure. But after the review comment I got, I changed it. Please refer to the link below. http://www.mail-archive.com/linux-media@xxxxxxxxxxxxxxx/msg02973.html Was wondering if this is related to kernel version and is there a possibility that in the above patch, the module init and exit functions can be included in kernel version checks instead of removing them altogether. Regards, Chaithrika -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html