Arnd Bergmann <arnd@xxxxxxxx> writes: > The mach/hardware.h is included in lots of places, and it provides > three different things on pxa: > > - the cpu_is_pxa* macros > - an indirect inclusion of mach/addr-map.h > - the __REG() and io_pv2() helper macros > > Split it up into separate <linux/soc/pxa/cpu.h> and mach/pxa-regs.h > headers, then change all the files that use mach/hardware.h to > include the exact set of those three headers that they actually > need, allowing for further more targeted cleanup. > > linux/soc/pxa/cpu.h can remain permanently exported and is now in > a global location along with similar headers. pxa-regs.h and > addr-map.h are only used in a very small number of drivers now > and can be moved to arch/arm/mach-pxa/ directly when those drivers > are to pass the necessary data as resources. For the pxa part, that looks fine to me. I'd like to focus a bit of Russell's attention to the sa11xx part (reminder in [1]), and more specifically : - the change to drivers/pcmcia/soc_common.c - the change to drivers/pcmcia/sa1111_generic.c I must admit my knowledge of PCMCIA is relatively poor, and even if the patch looks harmless, one never knows if Assebet will ever by same after ... Cheers. -- Robert [1] Extract of the patch for Russell's scrutiny > diff --git a/drivers/pcmcia/sa1111_generic.c b/drivers/pcmcia/sa1111_generic.c > index 11783410223b..2f556fa37c43 100644 > --- a/drivers/pcmcia/sa1111_generic.c > +++ b/drivers/pcmcia/sa1111_generic.c > @@ -17,7 +17,6 @@ > > #include <pcmcia/ss.h> > > -#include <mach/hardware.h> > #include <asm/hardware/sa1111.h> > #include <asm/mach-types.h> > #include <asm/irq.h> ... zip ... > diff --git a/drivers/pcmcia/soc_common.c b/drivers/pcmcia/soc_common.c > index 3a8c84bb174d..9276a628473d 100644 > --- a/drivers/pcmcia/soc_common.c > +++ b/drivers/pcmcia/soc_common.c > @@ -47,8 +47,6 @@ > #include <linux/spinlock.h> > #include <linux/timer.h> > > -#include <mach/hardware.h> > - > #include "soc_common.h" > > static irqreturn_t soc_common_pcmcia_interrupt(int irq, void *dev);