Arnd Bergmann arnd@arndb.de 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);