Re: [patch] video: fix SOC_CAMERA_MT9M001 build bug

From: Guennadi Liakhovetski
Date: Mon Apr 28 2008 - 15:41:31 EST


On Mon, 28 Apr 2008, Ingo Molnar wrote:

> * Guennadi Liakhovetski <g.liakhovetski@xxxxxx> wrote:
>
> > On Mon, 28 Apr 2008, Ingo Molnar wrote:
> >
> > >
> > > on latest -git, with this config:
> > >
> > > http://redhat.com/~mingo/misc/config-Mon_Apr_28_13_25_34_CEST_2008.bad
> > >
> > > CONFIG_SOC_CAMERA_MT9M001=y
> > > CONFIG_SOC_CAMERA_MT9V022=y
> > > # CONFIG_I2C is not set
> > >
> > > the build fails:
> > >
> > > drivers/built-in.o: In function `reg_read':
> > > mt9m001.c:(.text+0x140a87): undefined reference to `i2c_smbus_read_word_data'
> > > drivers/built-in.o: In function `reg_write':
> > > mt9m001.c:(.text+0x140b6e): undefined reference to `i2c_smbus_write_word_data'
> > > drivers/built-in.o: In function `reg_read':
> > > mt9v022.c:(.text+0x1413a7): undefined reference to `i2c_smbus_read_word_data'
> > > drivers/built-in.o: In function `reg_write':
> > > mt9v022.c:(.text+0x1414ce): undefined reference to `i2c_smbus_write_word_data'
> > > drivers/built-in.o: In function `mt9m001_mod_init':
> > > mt9m001.c:(.init.text+0x158a8): undefined reference to `i2c_register_driver'
> > > drivers/built-in.o: In function `mt9v022_mod_init':
> > > mt9v022.c:(.init.text+0x158b8): undefined reference to `i2c_register_driver'
> > > drivers/built-in.o: In function `mt9m001_mod_exit':
> > > mt9m001.c:(.exit.text+0x1656): undefined reference to `i2c_del_driver'
> > > drivers/built-in.o: In function `mt9v022_mod_exit':
> > > mt9v022.c:(.exit.text+0x1666): undefined reference to `i2c_del_driver'
> > >
> > > adding the missing I2C dependency fixes it.
> > >
> > > Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
> >
> > NAK. SOC-CAMERA doesn't depend on I2C. It is also suitable for
> > cameras, not using i2c. mt9m001 and mt9v022 do both depend on i2c.
>
> as you can see it from the build log above, the compiler disagrees with
> you on whether the driver depends on I2C. I'm just the messenger :)

Very sorry, but I don't see it. What I see above, is that mt9m001 and
mt9v022 cannot be compiled - as I said, _they_ need i2c. And I don't see a
single line for soc_camera.c. SOC_CAMERA is a generic API, it shouldn't
have any hardware dependencies at all. Whereas mt9v022 and mt9m001 are 2
specific i2c cameras.

Thanks
Guennadi
---
Guennadi Liakhovetski
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/