Re: [PATCH V3 2/4] drivers/i2c/busses/i2c-at91.c: add new driver

From: Felipe Balbi
Date: Tue Nov 08 2011 - 13:44:53 EST


hi,

On Tue, Nov 08, 2011 at 06:29:55PM +0000, Russell King - ARM Linux wrote:
> On Tue, Nov 08, 2011 at 05:23:46PM +0200, Felipe Balbi wrote:
> > On Tue, Nov 08, 2011 at 04:15:10PM +0100, Nicolas Ferre wrote:
> > > -----BEGIN PGP SIGNED MESSAGE-----
> > > Hash: SHA1
> > >
> > > On 11/08/2011 03:41 PM, Felipe Balbi :
> > >
> > > >> + if (cpu_is_at91rm9200()) { /* AT91RM9200 Errata #22 */
> > > >
> > > > I don't think you should be using cpu_is_* on drivers.
> > >
> > > It is a common pattern in at91 drivers and has worked for ages.
> > > Do you think it is related to the need to be able to compile the
> > > driver for any SoC in the case of multi-SoC zImage support?
> >
> > we have drivers compiling on multiple OMAP versions without those hacks.
> > Generally, we check the IP revision for that. Don't you have a Revision
> > register of some sort ?
>
> I'm not sure what your objection is - this is no different from what
> happens with OMAP when detecting OMAP1,2,3,4 etc. E.g.:

so ? Instead of saying this to me, you should contact the
authors/maintainers of those drivers and ask them to clean that up.

Moreover, just because there are a bunch of drivers with such silly
mistakes, is it really enough argument to perpetuate the problem ?

You were (actually still is) one of the biggest source of complaints for
drivers using <mach/*> and <asm/*> includes and now you're changing your
mind ?

Also, instead of taking bad examples take the ones which are activelly
improving with regards to those details. I have been fighting against
those on the USB drivers, at least. And, except for
drivers/usb/musb/davinci.c you won't find those on MUSB driver or its
glue layers. Similarly, I have been asking all USB Peripheral Controller
drivers to make their driver buildable on all arches, which will get rid
of bad usage of <mach/*> and <asm/*> headers while also allowing for a
better coverage of compile tests on linux-next.

Now, if you really think those aren't problematic, refrain from
complaining next time someone adds a machine_is_* or cpu_is_* check on a
driver.

> drivers/mfd/twl-core.c: if (cpu_is_omap2430())
> drivers/media/video/omap3isp/isp.c: if (cpu_is_omap3630())
> drivers/media/video/omap/omap_vout.c: if (cpu_is_omap24xx() || cpu_is_omap34xx())
> drivers/media/video/omap/omap_voutlib.c: if (cpu_is_omap24xx()) {
> drivers/media/video/omap/omap_voutlib.c: } else if (cpu_is_omap34xx()) {
> drivers/media/video/omap/omap_voutlib.c: if (cpu_is_omap24xx()) {

at least vout and voutlib haven't been touched since january.

--
balbi

Attachment: signature.asc
Description: Digital signature