Re: [PATCH 01/15] ide: include <asm/ide.h> only when needed

From: Bartlomiej Zolnierkiewicz
Date: Mon Feb 02 2009 - 13:37:41 EST


On Monday 02 February 2009, Geert Uytterhoeven wrote:
> On Sun, 1 Feb 2009, Bartlomiej Zolnierkiewicz wrote:
> > From: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
> > Subject: [PATCH] ide: include <asm/ide.h> only when needed
> >
> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
> > ---
> > drivers/ide/ide-io-std.c | 7 +++++++
> > drivers/ide/tx4938ide.c | 2 ++
> > drivers/ide/tx4939ide.c | 2 ++
> > include/linux/ide.h | 7 -------
> > 4 files changed, 11 insertions(+), 7 deletions(-)
> >
> > Index: b/drivers/ide/ide-io-std.c
> > ===================================================================
> > --- a/drivers/ide/ide-io-std.c
> > +++ b/drivers/ide/ide-io-std.c
> > @@ -2,6 +2,13 @@
> > #include <linux/kernel.h>
> > #include <linux/ide.h>
> >
> > +#if defined(CONFIG_ARM) || defined(CONFIG_M68K) || defined(CONFIG_MIPS) || \
> > + defined(CONFIG_PARISC) || defined(CONFIG_PPC) || defined(CONFIG_SPARC)
> > +#include <asm/ide.h>
> > +#else
> > +#include <asm-generic/ide_iops.h>
> > +#endif
> > +
> > /*
> > * Conventional PIO operations for ATA devices
> > */
> > Index: b/drivers/ide/tx4938ide.c
> > ===================================================================
> > --- a/drivers/ide/tx4938ide.c
> > +++ b/drivers/ide/tx4938ide.c
> > @@ -15,6 +15,8 @@
> > #include <linux/init.h>
> > #include <linux/platform_device.h>
> > #include <linux/io.h>
> > +
> > +#include <asm/ide.h>
>
> Did you try checkpatch.pl?

Sure.

This driver uses stuff from <asm-mips/ide.h>.

[ I guess I could put '-mips' there to silence warnings on tx493{8,9}.c,
however I don't know of the way to get rid of ide-io-std.c's one... ]

> [...]
>
> > Index: b/include/linux/ide.h
> > ===================================================================
> > --- a/include/linux/ide.h
> > +++ b/include/linux/ide.h
> > @@ -193,13 +193,6 @@ static inline void ide_std_init_ports(hw
> > hw->io_ports.ctl_addr = ctl_addr;
> > }
> >
> > -#if defined(CONFIG_ARM) || defined(CONFIG_M68K) || defined(CONFIG_MIPS) || \
> > - defined(CONFIG_PARISC) || defined(CONFIG_PPC) || defined(CONFIG_SPARC)
> > -#include <asm/ide.h>
> > -#else
> > -#include <asm-generic/ide_iops.h>
> > -#endif
> > -
> > #define MAX_HWIFS 10
> >
> > /*
>
> As checkpatch.pl complains about any include of asm/*.h where the corresponding
> linux/*.h exists, this `fix' is incompatible with it.

checkpatch.pl gives false positives when it comes to some asm/*.h usages

This fix is such example -- it makes <asm/ide.h> pulled in only when really
needed (ide-io-std.c and tx493{8,9}.c) instead of being pulled in indirectly
by every file including <linux/ide.h>.

[ Long-term we want <asm/ide.h> removed but this is not possible yet so
I'm trying to limit its scope in the meantime... ]

Thanks,
Bart
--
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/