linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers
@ 2012-08-22 12:53 Arnd Bergmann
  2012-08-22 12:54 ` [PATCH 1/4] [RFC] ARM: autogenerate mach-foo/* and plat-foo/* header redirects Arnd Bergmann
                   ` (7 more replies)
  0 siblings, 8 replies; 28+ messages in thread
From: Arnd Bergmann @ 2012-08-22 12:53 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-kernel, linaro-kernel

I've created this series some time ago, and updated it now to
v3.6-rc1. The idea is to get us a big step closer to the
single zImage kernel across multiple ARM platforms by
untangling the duplicate header file names.

There are two branches available in the arm-soc tree:

1. This series,
   http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=shortlog;h=refs/heads/testing/mach-headers
   This just moves header files around and changes most of the
   files including them. There are a few remaining drivers
   and platform files that keep including a generic file name
   like <mach/uncompress.h>. It remains possible to do that,
   and I've run extensive tests to ensure I did not break
   anything with this. However, each of these instances means
   that there is something that stops working when you get to
   the real multiplatform kernel and we still need to deal
   with them one by one.

2. Actually enabling CONFIG_ARCH_MULTIPLATFORM
   http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=shortlog;h=refs/heads/testing/multiplatform
   This builds on top of the first series, but is much more
   experimental. It shows how a multiplatform kernel can look
   like, by allowing to build vexpress, ux500, imx and omap2
   together in one kernel, but at the same time breaking some of
   their features.

I would like to get the first series merged in v3.7 if we can agree
on the general approach. So far, feedback in Linaro internal
meetings has been very positive, but Russell had concerns when
we first discussed it a few months ago.

A patch set this large means a lot of churn, and there are a few
ways we could deal with this:

a) Put the branch into linux-next now, and have everyone who
encounters conflicts pull it into their own branch to resolve
the conflicts. This can be a lot of work, and it means we
cannot rebase this branch any more.

b) Involve Linus Torvalds in the process and get him to
take the series at the end of the v3.7 merge window, after
rebasing it on top of all the other branches he merged.
This means it happens pretty much ad-hoc and there is little
testing on the patches that actually get merged.

c) Split the series and submit the first two branches at
the start of the merge window, and do the changes to all
the drivers either at the end of the v3.7 merge window
(after rebasing) or merge them through the subsystem
maintainer trees in small chunks for v3.8. This can minimize
the problems of the other two approaches, but means the process
takes longer to get to the same result.

        Arnd

[second attempt to send these patches, the first one was rejected by
lists.infradead.org, this one uses a different smtp setup]

Arnd Bergmann (4):
  [RFC] ARM: autogenerate mach-foo/* and plat-foo/* header redirects
  [RFC] ARM: mass move of mach-*/plat-* header files
  [RFC] ARM: treewide: scripted conversion to mach-*/*.h
  [RFC] ARM: treewide: manually change more mach-*/*.h includes

   0.0% Documentation/spi/
   0.0% arch/arm/boot/compressed/
   2.0% arch/arm/mach-at91/include/mach-at91/
   2.0% arch/arm/mach-at91/include/mach/
   0.1% arch/arm/mach-at91/
   0.0% arch/arm/mach-bcmring/csp/chipc/
   0.0% arch/arm/mach-bcmring/csp/dmac/
   0.0% arch/arm/mach-bcmring/csp/tmr/
   0.0% arch/arm/mach-bcmring/include/csp/
   3.0% arch/arm/mach-bcmring/include/mach-bcmring/csp/
   0.6% arch/arm/mach-bcmring/include/mach-bcmring/
   3.0% arch/arm/mach-bcmring/include/mach/csp/
   0.6% arch/arm/mach-bcmring/include/mach/
   0.0% arch/arm/mach-bcmring/
   0.3% arch/arm/mach-clps711x/include/mach-clps711x/
   0.3% arch/arm/mach-clps711x/include/mach/
   0.0% arch/arm/mach-clps711x/
   0.3% arch/arm/mach-cns3xxx/include/mach-cns3xxx/
   0.3% arch/arm/mach-cns3xxx/include/mach/
   0.0% arch/arm/mach-cns3xxx/
   1.2% arch/arm/mach-davinci/include/mach-davinci/
   1.2% arch/arm/mach-davinci/include/mach/
   0.1% arch/arm/mach-davinci/
   0.1% arch/arm/mach-dove/include/mach-dove/
   0.1% arch/arm/mach-dove/include/mach/
   0.0% arch/arm/mach-dove/
   0.0% arch/arm/mach-ebsa110/include/mach-ebsa110/
   0.0% arch/arm/mach-ebsa110/include/mach/
   0.0% arch/arm/mach-ebsa110/
   0.2% arch/arm/mach-ep93xx/include/mach-ep93xx/
   0.2% arch/arm/mach-ep93xx/include/mach/
   0.0% arch/arm/mach-ep93xx/
   1.0% arch/arm/mach-exynos/include/mach-exynos/
   1.0% arch/arm/mach-exynos/include/mach/
   0.1% arch/arm/mach-exynos/
   0.1% arch/arm/mach-footbridge/include/mach-footbridge/
   0.1% arch/arm/mach-footbridge/include/mach/
   0.0% arch/arm/mach-footbridge/
   0.1% arch/arm/mach-gemini/include/mach-gemini/
   0.1% arch/arm/mach-gemini/include/mach/
   0.0% arch/arm/mach-gemini/
   0.2% arch/arm/mach-h720x/include/mach-h720x/
   0.2% arch/arm/mach-h720x/include/mach/
   0.0% arch/arm/mach-h720x/
   0.0% arch/arm/mach-highbank/include/mach-highbank/
   0.0% arch/arm/mach-highbank/include/mach/
   7.2% arch/arm/mach-imx/include/mach-imx/
   0.0% arch/arm/mach-imx/include/mach/
   0.1% arch/arm/mach-imx/
   0.3% arch/arm/mach-integrator/include/mach-integrator/
   0.3% arch/arm/mach-integrator/include/mach/
   0.0% arch/arm/mach-integrator/
   0.6% arch/arm/mach-iop13xx/include/mach-iop13xx/
   0.6% arch/arm/mach-iop13xx/include/mach/
   0.0% arch/arm/mach-iop13xx/
   0.0% arch/arm/mach-iop32x/include/mach-iop32x/
   0.0% arch/arm/mach-iop32x/include/mach/
   0.0% arch/arm/mach-iop32x/
   0.0% arch/arm/mach-iop33x/include/mach-iop33x/
   0.0% arch/arm/mach-iop33x/include/mach/
   0.0% arch/arm/mach-iop33x/
   0.7% arch/arm/mach-ixp4xx/include/mach-ixp4xx/
   0.7% arch/arm/mach-ixp4xx/include/mach/
   0.0% arch/arm/mach-ixp4xx/
   0.1% arch/arm/mach-kirkwood/include/mach-kirkwood/
   0.1% arch/arm/mach-kirkwood/include/mach/
   0.0% arch/arm/mach-kirkwood/
   0.4% arch/arm/mach-ks8695/include/mach-ks8695/
   0.4% arch/arm/mach-ks8695/include/mach/
   0.0% arch/arm/mach-ks8695/
   0.0% arch/arm/mach-l7200/include/mach-l7200/
   0.0% arch/arm/mach-l7200/include/mach/
   0.4% arch/arm/mach-lpc32xx/include/mach-lpc32xx/
   0.4% arch/arm/mach-lpc32xx/include/mach/
   0.0% arch/arm/mach-lpc32xx/
   1.0% arch/arm/mach-mmp/include/mach-mmp/
   1.0% arch/arm/mach-mmp/include/mach/
   0.0% arch/arm/mach-mmp/
   1.9% arch/arm/mach-msm/include/mach-msm/
   1.9% arch/arm/mach-msm/include/mach/
   0.0% arch/arm/mach-msm/
   0.1% arch/arm/mach-mv78xx0/include/mach-mv78xx0/
   0.1% arch/arm/mach-mv78xx0/include/mach/
   0.0% arch/arm/mach-mv78xx0/
   0.0% arch/arm/mach-mvebu/include/mach-mvebu/
   0.0% arch/arm/mach-mvebu/include/mach/
   0.0% arch/arm/mach-mvebu/
   0.0% arch/arm/mach-mxs/devices/
   1.1% arch/arm/mach-mxs/include/mach-mxs/
   1.1% arch/arm/mach-mxs/include/mach/
   0.0% arch/arm/mach-mxs/
   0.3% arch/arm/mach-netx/include/mach-netx/
   0.3% arch/arm/mach-netx/include/mach/
   0.0% arch/arm/mach-netx/
   0.1% arch/arm/mach-nomadik/include/mach-nomadik/
   0.1% arch/arm/mach-nomadik/include/mach/
   0.0% arch/arm/mach-nomadik/
   0.2% arch/arm/mach-omap1/include/mach-omap1/
   0.2% arch/arm/mach-omap1/include/mach/
   0.1% arch/arm/mach-omap1/
   1.2% arch/arm/mach-omap2/include/mach-omap2/
   1.2% arch/arm/mach-omap2/include/mach/
   0.3% arch/arm/mach-omap2/
   0.1% arch/arm/mach-orion5x/include/mach-orion5x/
   0.1% arch/arm/mach-orion5x/include/mach/
   0.0% arch/arm/mach-orion5x/
   0.0% arch/arm/mach-picoxcell/include/mach-picoxcell/
   0.0% arch/arm/mach-picoxcell/include/mach/
   0.0% arch/arm/mach-picoxcell/
   0.4% arch/arm/mach-pnx4008/include/mach-pnx4008/
   0.4% arch/arm/mach-pnx4008/include/mach/
   0.0% arch/arm/mach-pnx4008/
   0.0% arch/arm/mach-prima2/include/mach-prima2/
   0.0% arch/arm/mach-prima2/include/mach/
   0.0% arch/arm/mach-prima2/
   4.0% arch/arm/mach-pxa/include/mach-pxa/
   4.0% arch/arm/mach-pxa/include/mach/
   0.3% arch/arm/mach-pxa/
   0.7% arch/arm/mach-realview/include/mach-realview/
   0.7% arch/arm/mach-realview/include/mach/
   0.0% arch/arm/mach-realview/
   0.1% arch/arm/mach-rpc/include/mach-rpc/
   0.1% arch/arm/mach-rpc/include/mach/
   0.0% arch/arm/mach-rpc/
   0.0% arch/arm/mach-s3c2410/
   0.0% arch/arm/mach-s3c2412/
   0.0% arch/arm/mach-s3c2440/
   1.4% arch/arm/mach-s3c24xx/include/mach-s3c24xx/
   1.4% arch/arm/mach-s3c24xx/include/mach/
   0.4% arch/arm/mach-s3c24xx/
   0.5% arch/arm/mach-s3c64xx/include/mach-s3c64xx/
   0.5% arch/arm/mach-s3c64xx/include/mach/
   0.1% arch/arm/mach-s3c64xx/
   0.3% arch/arm/mach-s5p64x0/include/mach-s5p64x0/
   0.3% arch/arm/mach-s5p64x0/include/mach/
   0.0% arch/arm/mach-s5p64x0/
   0.2% arch/arm/mach-s5pc100/include/mach-s5pc100/
   0.2% arch/arm/mach-s5pc100/include/mach/
   0.0% arch/arm/mach-s5pc100/
   0.3% arch/arm/mach-s5pv210/include/mach-s5pv210/
   0.3% arch/arm/mach-s5pv210/include/mach/
   0.0% arch/arm/mach-s5pv210/
   1.9% arch/arm/mach-sa1100/include/mach-sa1100/
   1.9% arch/arm/mach-sa1100/include/mach/
   0.0% arch/arm/mach-sa1100/
   0.0% arch/arm/mach-shark/include/mach-shark/
   0.0% arch/arm/mach-shark/include/mach/
   1.5% arch/arm/mach-shmobile/include/mach-shmobile/
   1.5% arch/arm/mach-shmobile/include/mach/
   0.0% arch/arm/mach-shmobile/
   0.0% arch/arm/mach-socfpga/include/mach-socfpga/
   0.0% arch/arm/mach-socfpga/include/mach/
   0.1% arch/arm/mach-spear13xx/include/mach-spear13xx/
   0.1% arch/arm/mach-spear13xx/include/mach/
   0.0% arch/arm/mach-spear13xx/
   0.0% arch/arm/mach-spear3xx/include/mach-spear3xx/
   0.0% arch/arm/mach-spear3xx/include/mach/
   0.0% arch/arm/mach-spear3xx/
   0.0% arch/arm/mach-spear6xx/include/mach-spear6xx/
   0.0% arch/arm/mach-spear6xx/include/mach/
   0.0% arch/arm/mach-spear6xx/
   0.5% arch/arm/mach-tegra/include/mach-tegra/
   0.5% arch/arm/mach-tegra/include/mach/
   0.0% arch/arm/mach-tegra/
   0.5% arch/arm/mach-u300/include/mach-u300/
   0.5% arch/arm/mach-u300/include/mach/
   0.0% arch/arm/mach-u300/
   0.3% arch/arm/mach-ux500/include/mach-ux500/
   0.3% arch/arm/mach-ux500/include/mach/
   0.0% arch/arm/mach-ux500/
   0.3% arch/arm/mach-versatile/include/mach-versatile/
   0.3% arch/arm/mach-versatile/include/mach/
   0.0% arch/arm/mach-versatile/
   0.1% arch/arm/mach-vexpress/include/mach-vexpress/
   0.1% arch/arm/mach-vexpress/include/mach/
   0.0% arch/arm/mach-vexpress/
   0.2% arch/arm/mach-vt8500/include/mach-vt8500/
   0.2% arch/arm/mach-vt8500/include/mach/
   0.0% arch/arm/mach-vt8500/
   0.3% arch/arm/mach-w90x900/include/mach-w90x900/
   0.3% arch/arm/mach-w90x900/include/mach/
   0.0% arch/arm/mach-w90x900/
   0.0% arch/arm/mach-zynq/include/mach-zynq/
   0.0% arch/arm/mach-zynq/include/mach/
   0.0% arch/arm/mach-zynq/
   0.0% arch/arm/mm/
   0.0% arch/arm/plat-mxc/devices/
   7.2% arch/arm/plat-mxc/include/mach/
   0.0% arch/arm/plat-mxc/
   0.1% arch/arm/plat-nomadik/include/plat-nomadik/
   0.1% arch/arm/plat-nomadik/include/plat/
   3.4% arch/arm/plat-omap/include/plat-omap/
   3.4% arch/arm/plat-omap/include/plat/
   0.0% arch/arm/plat-omap/
   0.1% arch/arm/plat-orion/include/plat-orion/
   0.1% arch/arm/plat-orion/include/plat/
   0.0% arch/arm/plat-orion/
   0.2% arch/arm/plat-pxa/include/plat-pxa/
   0.2% arch/arm/plat-pxa/include/plat/
   0.0% arch/arm/plat-pxa/
   0.0% arch/arm/plat-s3c24xx/
   2.7% arch/arm/plat-samsung/include/plat-samsung/
   2.7% arch/arm/plat-samsung/include/plat/
   0.0% arch/arm/plat-samsung/
   0.1% arch/arm/plat-spear/include/plat-spear/
   0.1% arch/arm/plat-spear/include/plat/
   0.0% arch/arm/plat-spear/
   0.0% arch/arm/plat-versatile/include/plat-versatile/
   0.0% arch/arm/plat-versatile/include/plat/
   0.0% arch/arm/plat-versatile/
   0.0% arch/arm/tools/
   0.0% arch/arm/
   0.0% drivers/ata/
   0.0% drivers/char/hw_random/
   0.0% drivers/char/
   0.0% drivers/clk/mxs/
   0.0% drivers/clk/
   0.0% drivers/clocksource/
   0.0% drivers/cpufreq/
   0.0% drivers/crypto/ux500/cryp/
   0.0% drivers/crypto/ux500/hash/
   0.0% drivers/crypto/
   0.0% drivers/devfreq/
   0.0% drivers/dma/ipu/
   0.0% drivers/dma/
   0.0% drivers/gpio/
   0.0% drivers/gpu/drm/exynos/
   0.0% drivers/hwmon/
   0.0% drivers/i2c/busses/
   0.0% drivers/iio/adc/
   0.0% drivers/input/keyboard/
   0.0% drivers/input/misc/
   0.0% drivers/input/mouse/
   0.0% drivers/input/serio/
   0.0% drivers/input/touchscreen/
   0.0% drivers/iommu/
   0.0% drivers/leds/
   0.0% drivers/media/video/davinci/
   0.0% drivers/media/video/omap/
   0.0% drivers/media/video/omap3isp/
   0.0% drivers/media/video/s5p-fimc/
   0.0% drivers/media/video/s5p-tv/
   0.0% drivers/media/video/
   0.0% drivers/mfd/
   0.0% drivers/misc/
   0.0% drivers/mmc/host/
   0.0% drivers/mtd/maps/
   0.0% drivers/mtd/nand/
   0.0% drivers/mtd/onenand/
   0.0% drivers/net/can/
   0.0% drivers/net/ethernet/amd/
   0.0% drivers/net/ethernet/cadence/
   0.0% drivers/net/ethernet/cirrus/
   0.0% drivers/net/ethernet/micrel/
   0.0% drivers/net/ethernet/nxp/
   0.0% drivers/net/ethernet/smsc/
   0.0% drivers/net/ethernet/xscale/
   0.0% drivers/net/ethernet/
   0.0% drivers/net/irda/
   0.0% drivers/net/wan/
   0.0% drivers/pcmcia/
   0.0% drivers/pinctrl/
   0.0% drivers/power/avs/
   0.0% drivers/power/
   0.0% drivers/ptp/
   0.0% drivers/pwm/
   0.0% drivers/remoteproc/
   0.0% drivers/rtc/
   0.0% drivers/scsi/arm/
   0.0% drivers/spi/
   0.0% drivers/staging/nvec/
   0.0% drivers/staging/omapdrm/
   0.0% drivers/staging/ste_rmi4/
   0.0% drivers/staging/tidspbridge/core/
   0.0% drivers/staging/tidspbridge/include/dspbridge/
   0.0% drivers/staging/tidspbridge/rmgr/
   0.0% drivers/tty/serial/
   0.0% drivers/uio/
   0.0% drivers/usb/gadget/
   0.0% drivers/usb/host/
   0.0% drivers/usb/musb/
   0.0% drivers/usb/otg/
   0.0% drivers/video/backlight/
   0.0% drivers/video/exynos/
   0.0% drivers/video/msm/
   0.0% drivers/video/omap/
   0.0% drivers/video/omap2/dss/
   0.0% drivers/video/omap2/omapfb/
   0.0% drivers/video/omap2/
   0.0% drivers/video/pnx4008/
   0.0% drivers/video/
   0.0% drivers/w1/masters/
   0.0% drivers/watchdog/
   0.0% include/linux/mfd/
   0.0% include/linux/platform_data/
   0.0% include/linux/power/
   0.0% include/linux/spi/
   0.0% include/linux/
   0.0% sound/arm/
   0.0% sound/atmel/
   0.0% sound/oss/
   0.0% sound/soc/atmel/
   0.0% sound/soc/davinci/
   0.0% sound/soc/ep93xx/
   0.0% sound/soc/fsl/
   0.0% sound/soc/kirkwood/
   0.0% sound/soc/mxs/
   0.0% sound/soc/nuc900/
   0.0% sound/soc/omap/
   0.0% sound/soc/pxa/
   0.0% sound/soc/samsung/
   0.0% sound/soc/tegra/
   0.0% sound/soc/ux500/


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 1/4] [RFC] ARM: autogenerate mach-foo/* and plat-foo/* header redirects
  2012-08-22 12:53 [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
@ 2012-08-22 12:54 ` Arnd Bergmann
  2012-08-22 15:24   ` Nicolas Pitre
  2012-08-24 13:44   ` Rob Herring
  2012-08-22 12:56 ` [PATCH 2/4] [RFC] ARM: mass move of mach-*/plat-* header files Arnd Bergmann
                   ` (6 subsequent siblings)
  7 siblings, 2 replies; 28+ messages in thread
From: Arnd Bergmann @ 2012-08-22 12:54 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-kernel, linaro-kernel

This is an attempt to simplify the duplicate header problem for
multiplatform kernels, in multiple steps:

1. (this patch)
   for each arch/arm/mach-${MACHINE}/include/mach-${MACHINE}/*.h file,
   generate a arch/arm/include/generated/mach/*.h file at build time,
   same for plat-*.

2. rename all arch/arm/mach-${MACHINE}/include/mach/*.h to
   arch/arm/mach-${MACHINE}/include/mach-${MACHINE}/*.h and
   arch/arm/plat-${PLAT}/include/plat/*.h to
   arch/arm/plat-${PLAT}/include/plat-${PLAT}/*.h

3. change all includes of <mach/*.h> to <mach-${MACHINE}/*.h>
   in all files where ${MACHINE} is known.

4. ...

5. Revert this patch again.

We can apply this patch at any time, and do step 2 at the end
of the next merge window to minimize the potential for conflicts.
We will also still need to deal with any inclusion of a mach/*
file, but out of the 6355 ones we have today, I expect only a
few hundred to remain after step 3 and they will be much easier
to spot.

I've picked the format <mach-foo/bar.h> to get a unique name because
it matches the directory name under arch/arm, but other names
would work with the same script, <mach/foo-bar.h> and <foo/bar.h>
have been suggested previously.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/Makefile          |    1 +
 arch/arm/tools/Makefile    |    5 ++++
 arch/arm/tools/gen-headers |   57 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 63 insertions(+)
 create mode 100755 arch/arm/tools/gen-headers

diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 30eae87..761b077 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -274,6 +274,7 @@ boot := arch/arm/boot
 
 archprepare:
        $(Q)$(MAKE) $(build)=arch/arm/tools include/generated/mach-types.h
+       $(Q)$(MAKE) $(build)=arch/arm/tools plat="$(plat-y)" machine="$(machine-y)" gen_headers
 
 # Convert bzImage to zImage
 bzImage: zImage
diff --git a/arch/arm/tools/Makefile b/arch/arm/tools/Makefile
index 635cb18..6e18ca9 100644
--- a/arch/arm/tools/Makefile
+++ b/arch/arm/tools/Makefile
@@ -8,3 +8,8 @@ include/generated/mach-types.h: $(src)/gen-mach-types $(src)/mach-types
        @echo '  Generating $@'
        @mkdir -p $(dir $@)
        $(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; }
+
+gen_headers:
+       $(Q)bash $(srctree)/$(src)/gen-headers $(srctree) $(objtree) $(machine) $(plat)
+
+.PHONY: gen_headers
diff --git a/arch/arm/tools/gen-headers b/arch/arm/tools/gen-headers
new file mode 100755
index 0000000..caa6a9a
--- /dev/null
+++ b/arch/arm/tools/gen-headers
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+SRC=$1
+OBJ=$2
+MACH=$3
+PLAT1=$4
+PLAT2=$5
+
+# create $3 to include $2 if it doesn't already have the correct
+# contents, or remove it if it's no longer needed.
+mkfile()
+{
+       if [ -e $1/$2 ] ; then
+               if [ ! -e $3 ] ; then
+                       mkdir -p ${3%/*}
+                       echo "#include <${2}>" > $3
+               elif [ "`cat $3`" != "#include <${2#./}>" ] ; then
+                       echo "#include <${2}>" > $3
+               fi
+       elif [ ! -e $1/$2 -a -e $3 ] ; then
+               rm -f $3
+       fi
+}
+
+# list any header files that are present in the source or
+# destination directories
+find_files()
+{
+       pushd ${SRC}/arch/arm/$1-$2/include/$1-$2 >/dev/null 2>&1 &&
+       find . -type f -name \*.h -o -name \*.S &&
+       popd > /dev/null 2>&1
+       pushd ${OBJ}/arch/arm/include/generated/$1 >/dev/null 2>&1 &&
+       find . -type f -name \*.h -o -name \*.S &&
+       popd > /dev/null 2>&1
+}
+
+# process files in either mach-{MACH} or plat-${PLAT}
+mkfiles()
+{
+       mkdir -p ${OBJ}/arch/arm/include/generated/$1
+
+       FILES=`find_files $1 $2 | sort -u`
+       for i in ${FILES} ; do
+               mkfile "${SRC}/arch/arm/$1-$2/include/" "$1-$2/${i#./}" \
+                       "${OBJ}/arch/arm/include/generated/$1/$i"
+       done
+}
+
+# always process mach-*
+mkfiles mach ${MACH}
+# process plat-* if applicable
+if [ -d ${SRC}/arch/arm/plat-${PLAT1} ]; then
+       mkfiles plat ${PLAT1}
+fi
+if [ -d ${SRC}/arch/arm/plat-${PLAT2} ]; then
+       mkfiles plat ${PLAT2}
+fi
-- 
1.7.10


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 2/4] [RFC] ARM: mass move of mach-*/plat-* header files
  2012-08-22 12:53 [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
  2012-08-22 12:54 ` [PATCH 1/4] [RFC] ARM: autogenerate mach-foo/* and plat-foo/* header redirects Arnd Bergmann
@ 2012-08-22 12:56 ` Arnd Bergmann
  2012-08-22 15:28   ` Nicolas Pitre
  2012-08-22 13:00 ` [PATCH 3/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 28+ messages in thread
From: Arnd Bergmann @ 2012-08-22 12:56 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-kernel, linaro-kernel

This moves all <mach/*.h> headers to <mach-*/*.h>, and all
<plat/*.h> headers to <plat-*/*.h>, as another step closer
to building kernels for multiple platforms combined.

A script to generate headers with the traditional names including
the headers from the new place is already there, so this move
should be completely transparent.

This patch was created fully automated by a script and
should be redone if the headers change. Note that the
plat-mxc headers move to mach-imx in the process because
they don't follow the <plat/foo.h> naming convention:

for i in arch/arm/mach-* ; do git mv $i/include/mach $i/include/${i##*/} ; done
for i in arch/arm/plat-* ; do git mv $i/include/plat $i/include/${i##*/} ; done
git mv arch/arm/plat-mxc/include/mach/*.h arch/arm/mach-imx/include/mach-imx/

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
   2.1% arch/arm/mach-at91/include/mach-at91/
   2.1% arch/arm/mach-at91/include/mach/
   3.1% arch/arm/mach-bcmring/include/mach-bcmring/csp/
   0.6% arch/arm/mach-bcmring/include/mach-bcmring/
   3.1% arch/arm/mach-bcmring/include/mach/csp/
   0.6% arch/arm/mach-bcmring/include/mach/
   0.3% arch/arm/mach-clps711x/include/mach-clps711x/
   0.3% arch/arm/mach-clps711x/include/mach/
   0.3% arch/arm/mach-cns3xxx/include/mach-cns3xxx/
   0.3% arch/arm/mach-cns3xxx/include/mach/
   1.2% arch/arm/mach-davinci/include/mach-davinci/
   1.2% arch/arm/mach-davinci/include/mach/
   0.1% arch/arm/mach-dove/include/mach-dove/
   0.1% arch/arm/mach-dove/include/mach/
   0.0% arch/arm/mach-ebsa110/include/mach-ebsa110/
   0.0% arch/arm/mach-ebsa110/include/mach/
   0.2% arch/arm/mach-ep93xx/include/mach-ep93xx/
   0.2% arch/arm/mach-ep93xx/include/mach/
   1.1% arch/arm/mach-exynos/include/mach-exynos/
   1.1% arch/arm/mach-exynos/include/mach/
   0.1% arch/arm/mach-footbridge/include/mach-footbridge/
   0.1% arch/arm/mach-footbridge/include/mach/
   0.2% arch/arm/mach-gemini/include/mach-gemini/
   0.2% arch/arm/mach-gemini/include/mach/
   0.2% arch/arm/mach-h720x/include/mach-h720x/
   0.2% arch/arm/mach-h720x/include/mach/
   0.0% arch/arm/mach-highbank/include/mach-highbank/
   0.0% arch/arm/mach-highbank/include/mach/
   7.5% arch/arm/mach-imx/include/mach-imx/
   0.0% arch/arm/mach-imx/include/mach/
   0.3% arch/arm/mach-integrator/include/mach-integrator/
   0.3% arch/arm/mach-integrator/include/mach/
   0.6% arch/arm/mach-iop13xx/include/mach-iop13xx/
   0.6% arch/arm/mach-iop13xx/include/mach/
   0.0% arch/arm/mach-iop32x/include/mach-iop32x/
   0.0% arch/arm/mach-iop32x/include/mach/
   0.0% arch/arm/mach-iop33x/include/mach-iop33x/
   0.0% arch/arm/mach-iop33x/include/mach/
   0.7% arch/arm/mach-ixp4xx/include/mach-ixp4xx/
   0.7% arch/arm/mach-ixp4xx/include/mach/
   0.1% arch/arm/mach-kirkwood/include/mach-kirkwood/
   0.1% arch/arm/mach-kirkwood/include/mach/
   0.4% arch/arm/mach-ks8695/include/mach-ks8695/
   0.4% arch/arm/mach-ks8695/include/mach/
   0.0% arch/arm/mach-l7200/include/mach-l7200/
   0.0% arch/arm/mach-l7200/include/mach/
   0.4% arch/arm/mach-lpc32xx/include/mach-lpc32xx/
   0.4% arch/arm/mach-lpc32xx/include/mach/
   1.0% arch/arm/mach-mmp/include/mach-mmp/
   1.0% arch/arm/mach-mmp/include/mach/
   1.9% arch/arm/mach-msm/include/mach-msm/
   1.9% arch/arm/mach-msm/include/mach/
   0.1% arch/arm/mach-mv78xx0/include/mach-mv78xx0/
   0.1% arch/arm/mach-mv78xx0/include/mach/
   0.0% arch/arm/mach-mvebu/include/mach-mvebu/
   0.0% arch/arm/mach-mvebu/include/mach/
   1.2% arch/arm/mach-mxs/include/mach-mxs/
   1.2% arch/arm/mach-mxs/include/mach/
   0.3% arch/arm/mach-netx/include/mach-netx/
   0.3% arch/arm/mach-netx/include/mach/
   0.1% arch/arm/mach-nomadik/include/mach-nomadik/
   0.1% arch/arm/mach-nomadik/include/mach/
   0.2% arch/arm/mach-omap1/include/mach-omap1/
   0.2% arch/arm/mach-omap1/include/mach/
   1.3% arch/arm/mach-omap2/include/mach-omap2/
   1.3% arch/arm/mach-omap2/include/mach/
   0.1% arch/arm/mach-orion5x/include/mach-orion5x/
   0.1% arch/arm/mach-orion5x/include/mach/
   0.0% arch/arm/mach-picoxcell/include/mach-picoxcell/
   0.0% arch/arm/mach-picoxcell/include/mach/
   0.4% arch/arm/mach-pnx4008/include/mach-pnx4008/
   0.4% arch/arm/mach-pnx4008/include/mach/
   0.0% arch/arm/mach-prima2/include/mach-prima2/
   0.0% arch/arm/mach-prima2/include/mach/
   4.2% arch/arm/mach-pxa/include/mach-pxa/
   4.2% arch/arm/mach-pxa/include/mach/
   0.7% arch/arm/mach-realview/include/mach-realview/
   0.7% arch/arm/mach-realview/include/mach/
   0.1% arch/arm/mach-rpc/include/mach-rpc/
   0.1% arch/arm/mach-rpc/include/mach/
   1.4% arch/arm/mach-s3c24xx/include/mach-s3c24xx/
   1.4% arch/arm/mach-s3c24xx/include/mach/
   0.5% arch/arm/mach-s3c64xx/include/mach-s3c64xx/
   0.5% arch/arm/mach-s3c64xx/include/mach/
   0.3% arch/arm/mach-s5p64x0/include/mach-s5p64x0/
   0.3% arch/arm/mach-s5p64x0/include/mach/
   0.2% arch/arm/mach-s5pc100/include/mach-s5pc100/
   0.2% arch/arm/mach-s5pc100/include/mach/
   0.3% arch/arm/mach-s5pv210/include/mach-s5pv210/
   0.3% arch/arm/mach-s5pv210/include/mach/
   2.0% arch/arm/mach-sa1100/include/mach-sa1100/
   2.0% arch/arm/mach-sa1100/include/mach/
   0.0% arch/arm/mach-shark/include/mach-shark/
   0.0% arch/arm/mach-shark/include/mach/
   1.5% arch/arm/mach-shmobile/include/mach-shmobile/
   1.5% arch/arm/mach-shmobile/include/mach/
   0.0% arch/arm/mach-socfpga/include/mach-socfpga/
   0.0% arch/arm/mach-socfpga/include/mach/
   0.1% arch/arm/mach-spear13xx/include/mach-spear13xx/
   0.1% arch/arm/mach-spear13xx/include/mach/
   0.0% arch/arm/mach-spear3xx/include/mach-spear3xx/
   0.0% arch/arm/mach-spear3xx/include/mach/
   0.0% arch/arm/mach-spear6xx/include/mach-spear6xx/
   0.0% arch/arm/mach-spear6xx/include/mach/
   0.5% arch/arm/mach-tegra/include/mach-tegra/
   0.5% arch/arm/mach-tegra/include/mach/
   0.5% arch/arm/mach-u300/include/mach-u300/
   0.5% arch/arm/mach-u300/include/mach/
   0.3% arch/arm/mach-ux500/include/mach-ux500/
   0.3% arch/arm/mach-ux500/include/mach/
   0.3% arch/arm/mach-versatile/include/mach-versatile/
   0.3% arch/arm/mach-versatile/include/mach/
   0.1% arch/arm/mach-vexpress/include/mach-vexpress/
   0.1% arch/arm/mach-vexpress/include/mach/
   0.2% arch/arm/mach-vt8500/include/mach-vt8500/
   0.2% arch/arm/mach-vt8500/include/mach/
   0.3% arch/arm/mach-w90x900/include/mach-w90x900/
   0.3% arch/arm/mach-w90x900/include/mach/
   0.0% arch/arm/mach-zynq/include/mach-zynq/
   0.0% arch/arm/mach-zynq/include/mach/
   7.5% arch/arm/plat-mxc/include/mach/
   0.2% arch/arm/plat-nomadik/include/plat-nomadik/
   0.2% arch/arm/plat-nomadik/include/plat/
   3.5% arch/arm/plat-omap/include/plat-omap/
   3.5% arch/arm/plat-omap/include/plat/
   0.1% arch/arm/plat-orion/include/plat-orion/
   0.1% arch/arm/plat-orion/include/plat/
   0.2% arch/arm/plat-pxa/include/plat-pxa/
   0.2% arch/arm/plat-pxa/include/plat/
   2.8% arch/arm/plat-samsung/include/plat-samsung/
   2.8% arch/arm/plat-samsung/include/plat/
   0.1% arch/arm/plat-spear/include/plat-spear/
   0.1% arch/arm/plat-spear/include/plat/
   0.0% arch/arm/plat-versatile/include/plat-versatile/
   0.0% arch/arm/plat-versatile/include/plat/

diff --git a/arch/arm/mach-at91/include/mach/at91_adc.h b/arch/arm/mach-at91/include/mach-at91/at91_adc.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_adc.h
rename to arch/arm/mach-at91/include/mach-at91/at91_adc.h
diff --git a/arch/arm/mach-at91/include/mach/at91_aic.h b/arch/arm/mach-at91/include/mach-at91/at91_aic.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_aic.h
rename to arch/arm/mach-at91/include/mach-at91/at91_aic.h
diff --git a/arch/arm/mach-at91/include/mach/at91_dbgu.h b/arch/arm/mach-at91/include/mach-at91/at91_dbgu.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_dbgu.h
rename to arch/arm/mach-at91/include/mach-at91/at91_dbgu.h
diff --git a/arch/arm/mach-at91/include/mach/at91_matrix.h b/arch/arm/mach-at91/include/mach-at91/at91_matrix.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_matrix.h
rename to arch/arm/mach-at91/include/mach-at91/at91_matrix.h
diff --git a/arch/arm/mach-at91/include/mach/at91_pio.h b/arch/arm/mach-at91/include/mach-at91/at91_pio.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_pio.h
rename to arch/arm/mach-at91/include/mach-at91/at91_pio.h
diff --git a/arch/arm/mach-at91/include/mach/at91_pit.h b/arch/arm/mach-at91/include/mach-at91/at91_pit.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_pit.h
rename to arch/arm/mach-at91/include/mach-at91/at91_pit.h
diff --git a/arch/arm/mach-at91/include/mach/at91_pmc.h b/arch/arm/mach-at91/include/mach-at91/at91_pmc.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_pmc.h
rename to arch/arm/mach-at91/include/mach-at91/at91_pmc.h
diff --git a/arch/arm/mach-at91/include/mach/at91_ramc.h b/arch/arm/mach-at91/include/mach-at91/at91_ramc.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_ramc.h
rename to arch/arm/mach-at91/include/mach-at91/at91_ramc.h
diff --git a/arch/arm/mach-at91/include/mach/at91_rstc.h b/arch/arm/mach-at91/include/mach-at91/at91_rstc.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_rstc.h
rename to arch/arm/mach-at91/include/mach-at91/at91_rstc.h
diff --git a/arch/arm/mach-at91/include/mach/at91_rtc.h b/arch/arm/mach-at91/include/mach-at91/at91_rtc.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_rtc.h
rename to arch/arm/mach-at91/include/mach-at91/at91_rtc.h
diff --git a/arch/arm/mach-at91/include/mach/at91_rtt.h b/arch/arm/mach-at91/include/mach-at91/at91_rtt.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_rtt.h
rename to arch/arm/mach-at91/include/mach-at91/at91_rtt.h
diff --git a/arch/arm/mach-at91/include/mach/at91_shdwc.h b/arch/arm/mach-at91/include/mach-at91/at91_shdwc.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_shdwc.h
rename to arch/arm/mach-at91/include/mach-at91/at91_shdwc.h
diff --git a/arch/arm/mach-at91/include/mach/at91_st.h b/arch/arm/mach-at91/include/mach-at91/at91_st.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_st.h
rename to arch/arm/mach-at91/include/mach-at91/at91_st.h
diff --git a/arch/arm/mach-at91/include/mach/at91_tc.h b/arch/arm/mach-at91/include/mach-at91/at91_tc.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_tc.h
rename to arch/arm/mach-at91/include/mach-at91/at91_tc.h
diff --git a/arch/arm/mach-at91/include/mach/at91_twi.h b/arch/arm/mach-at91/include/mach-at91/at91_twi.h
similarity index 100%
rename from arch/arm/mach-at91/include/mach/at91_twi.h
rename to arch/arm/mach-at91/include/mach-at91/at91_twi.h

Cut here for review purposes. None of the other file renames have any
other changes, so there is no point spamming the mailing lists with
this. The full patch is available at
http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=commit;h=62dd65e1ac307d2ba15f31cc2f754b8e348055c7


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 3/4] [RFC] ARM: multiplatform: rename all mach headers
  2012-08-22 12:53 [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
  2012-08-22 12:54 ` [PATCH 1/4] [RFC] ARM: autogenerate mach-foo/* and plat-foo/* header redirects Arnd Bergmann
  2012-08-22 12:56 ` [PATCH 2/4] [RFC] ARM: mass move of mach-*/plat-* header files Arnd Bergmann
@ 2012-08-22 13:00 ` Arnd Bergmann
  2012-08-22 15:31   ` Nicolas Pitre
  2012-08-22 13:01 ` [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes Arnd Bergmann
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 28+ messages in thread
From: Arnd Bergmann @ 2012-08-22 13:00 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-kernel, linaro-kernel

While converting all machine specific headers from
automatically detect the right machine and platform
name in most cases. This script uses a number of
information sources for this:

* any arch/arm/mach-*/ directory uses its own headers,
  with a few exceptions, same for plat-*/
* each mach-*/ directory belongs to at most one plat-*
  directory holding header files
* for any header below mach/* that exists in only one
  machine, we know that the users belong to that machine
* some driver directories or files are manually listed
  here.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
===========================================================

fixup()
{
 echo fixup "$1 $2 $3"
 git ls-files $1 | xargs sed -i "s:^\(#.*include <\)$2/:\1$3/:g"
}

fixup arch/arm/mach-s3c2410 mach mach-s3c24xx
fixup arch/arm/mach-s3c2412 mach mach-s3c24xx
fixup arch/arm/mach-s3c2440 mach mach-s3c24xx

fixup arch/arm/plat-mxc mach mach-imx
fixup arch/arm/plat-s3c24xx mach mach-s3c24xx
fixup arch/arm/plat-s3c24xx plat plat-samsung

for i in arch/arm/mach-*; do
        fixup "$i" mach "${i##*/}"
done

for i in arch/arm/plat-* ; do
        fixup "$i" plat "${i##*/}"
done

fixup arch/arm/mach-spear3xx plat plat-spear
fixup arch/arm/mach-spear6xx plat plat-spear
fixup arch/arm/mach-spear13xx plat plat-spear
fixup arch/arm/mach-pxa plat plat-pxa
fixup arch/arm/mach-mmp plat plat-pxa
fixup arch/arm/mach-orion5x plat plat-orion
fixup arch/arm/mach-kirkwood plat plat-orion
fixup arch/arm/mach-mv78xx0 plat plat-orion
fixup arch/arm/mach-dove plat plat-orion
fixup arch/arm/mach-nomadik plat plat-nomadik
fixup arch/arm/mach-ux500 plat plat-nomadik
fixup arch/arm/mach-s3c2410 plat plat-samsung
fixup arch/arm/mach-s3c2412 plat plat-samsung
fixup arch/arm/mach-s3c2440 plat plat-samsung
fixup arch/arm/mach-s3c24xx plat plat-samsung
fixup arch/arm/mach-s3c64xx plat plat-samsung
fixup arch/arm/mach-s5p64x0 plat plat-samsung
fixup arch/arm/mach-s5pc100 plat plat-samsung
fixup arch/arm/mach-s5pv210 plat plat-samsung
fixup arch/arm/mach-exynos plat plat-samsung
fixup arch/arm/mach-omap1 plat plat-omap
fixup arch/arm/mach-omap2 plat plat-omap
fixup arch/arm/mach-versatile plat plat-versatile
fixup arch/arm/mach-integrator plat plat-versatile
fixup arch/arm/mach-realview plat plat-versatile
fixup arch/arm/mach-vexpress plat plat-versatile
fixup arch/arm/mach-zynq plat plat-versatile

fixup drivers/video/omap plat plat-omap
fixup drivers/video/omap2 plat plat-omap
fixup drivers/video/exynos plat plat-samsung
fixup drivers/char/hw_random/omap\* plat plat-omap
fixup drivers/cpufreq/omap\* plat plat-omap
fixup drivers/crypto/omap\* plat plat-omap
fixup drivers/media/video/omap\* plat plat-omap
fixup drivers/input/keyboard/omap\* plat plat-omap
fixup drivers/mmc/host/omap\* plat plat-omap
fixup drivers/mtd/*nand/omap\* plat plat-omap
fixup drivers/spi/spi-omap\* plat plat-omap
fixup drivers/tty/serial/omap\* plat plat-omap
fixup drivers/usb/gadget/omap\* plat plat-omap
fixup drivers/usb/musb/*omap\* plat plat-omap
fixup drivers/dma/omap-dma.c plat plat-omap
fixup drivers/staging/omapdrm plat plat-omap
fixup drivers/staging/tidspbridge/ plat plat-omap
fixup drivers/input/keyboard/spear-keyboard.c plat plat-spear
fixup drivers/cpufreq/exynos-cpufreq.c plat plat-samsung
fixup drivers/crypto/s5p-sss.c plat plat-samsung
fixup drivers/i2c/busses/i2c-nomadik.c plat plat-nomadik
fixup drivers/mtd/nand/s3c2410.c plat plat-samsung
fixup drivers/tty/serial/samsung.c plat plat-samsung
fixup drivers/usb/gadget/s3c-hsotg.c plat plat-samsung
fixup drivers/gpio/gpio-samsung.c plat plat-samsung
fixup sound/soc/samsung plat plat-samsung
fixup sound/soc/omap plat plat-omap
fixup sound/soc/pxa plat plat-pxa
fixup sound/soc/kirkwood/ plat plat-orion
fixup sound/soc/fsl/imx*.[ch] plat plat-mxc

fixup drivers/video/omap mach mach-omap1
fixup drivers/video/omap2 mach mach-omap2
fixup drivers/video/exynos mach mach-exynos
fixup drivers/media/video/davinci mach mach-davinci

fixup sound/soc/omap/osk5912.c mach mach-omap1
fixup sound/soc/omap mach mach-omap2
fixup sound/soc/pxa mach mach-pxa
fixup sound/soc/davinci mach mach-davinci
fixup sound/soc/ep93xx mach mach-ep93xx
fixup sound/soc/kirkwood/ mach mach-kirkwood
fixup sound/soc/fsl/imx*.[ch] mach mach-imx
fixup sound/soc/mxs mach mach-mxs
fixup sound/soc/tegra mach mach-tegra
fixup sound/soc/nuc900 mach mach-w90x900
fixup sound/arm/pxa\* mach mach-pxa
fixup sound/atmel/ac97c.c mach mach-at91
fixup sound/oss/waveartist.c mach mach-footbridge
fixup sound/oss/vidc\* mach mach-rpc
fixup sound/soc/atmel/ mach mach-at91
fixup sound/soc/ux500/ mach mach-ux500

fixup include/linux/spi/pxa2xx_spi.h mach mach-pxa
fixup include/linux/mfd/dbx500-prcmu.h mach mach-ux500

find_unique_mach()
{
  {
    # find files in other architectures using mach/*.h
    git ls-files | grep /mach/[^/]*.h | while read i ;
        do echo ${i##*/}
    done
    # find files we've already renamed in ARM
    for i in arch/arm/mach-*/include/mach-*/ ; do
        git ls-files "$i" | sed -e "s:^$i::g"
    done
  } | sort | uniq -c | grep -w 1  | cut -f 2- -d\1
}
rename_unique_mach()
{
  ALLFILES=`git grep -l "^#include.*<mach/"`
  ALLINCLUDES=`git grep "^#include.*<mach/" ${ALLFILES}`
  find_unique_mach | while read i ; do
    echo "$ALLINCLUDES" | if grep -q "#include.*<mach/$i>" &&
                [ -e arch/arm/mach-*/include/mach-*/"$i" ] ; then
       MACH=`ls arch/arm/mach-*/include/mach-*/$i | cut -f 3 -d /`
       THESEFILES=`git grep -l "^#include.*<mach/$i>" ${ALLFILES}`
       echo mach/$i
       for j in ${THESEFILES} ; do
          fixup $j mach ${MACH}
       done
    fi
  done
}

find_unique_plat()
{
  {
    # all plat/*.h files are already renamed
    for i in arch/arm/plat-*/include/plat-*/ ; do
        git ls-files "$i" | sed -e "s:^$i::g"
    done
  } | sort | uniq -c | grep -w 1  | cut -f 2- -d\1
}
rename_unique_plat()
{
  ALLFILES=`git grep -l "#include.*<plat/"`
  if [ "" != "${ALLFILES}" ] ; then
    find_unique_plat | while read i ; do
      PLAT=`ls arch/arm/plat-*/include/plat-*/$i | cut -f 3 -d /`
      THESEFILES=`git grep -l "^#include.*<plat/$i>" ${ALLFILES}`
      echo plat/$i
       for j in ${THESEFILES} ; do
          fixup $j plat ${PLAT}
       done
    done
  fi
}

rename_unique_mach
rename_unique_plat
---
   0.0% Documentation/spi/
   0.0% arch/arm/boot/compressed/
   0.3% arch/arm/mach-at91/include/mach-at91/
   4.7% arch/arm/mach-at91/
   0.1% arch/arm/mach-bcmring/csp/chipc/
   0.1% arch/arm/mach-bcmring/csp/dmac/
   0.0% arch/arm/mach-bcmring/csp/tmr/
   0.0% arch/arm/mach-bcmring/include/csp/
   0.3% arch/arm/mach-bcmring/include/mach-bcmring/csp/
   0.1% arch/arm/mach-bcmring/include/mach-bcmring/
   0.4% arch/arm/mach-bcmring/
   0.0% arch/arm/mach-clps711x/include/mach-clps711x/
   0.1% arch/arm/mach-clps711x/
   0.0% arch/arm/mach-cns3xxx/include/mach-cns3xxx/
   0.1% arch/arm/mach-cns3xxx/
   0.3% arch/arm/mach-davinci/include/mach-davinci/
   3.3% arch/arm/mach-davinci/
   0.0% arch/arm/mach-dove/include/mach-dove/
   0.3% arch/arm/mach-dove/
   0.0% arch/arm/mach-ebsa110/
   0.0% arch/arm/mach-ep93xx/include/mach-ep93xx/
   0.5% arch/arm/mach-ep93xx/
   0.2% arch/arm/mach-exynos/include/mach-exynos/
   3.9% arch/arm/mach-exynos/
   0.0% arch/arm/mach-footbridge/include/mach-footbridge/
   0.0% arch/arm/mach-footbridge/
   0.1% arch/arm/mach-gemini/include/mach-gemini/
   0.1% arch/arm/mach-gemini/
   0.0% arch/arm/mach-h720x/include/mach-h720x/
   0.1% arch/arm/mach-h720x/
   0.6% arch/arm/mach-imx/include/mach-imx/
   5.0% arch/arm/mach-imx/
   0.5% arch/arm/mach-integrator/
   0.0% arch/arm/mach-iop13xx/include/mach-iop13xx/
   0.2% arch/arm/mach-iop13xx/
   0.0% arch/arm/mach-iop32x/include/mach-iop32x/
   0.1% arch/arm/mach-iop32x/
   0.0% arch/arm/mach-iop33x/include/mach-iop33x/
   0.1% arch/arm/mach-iop33x/
   0.1% arch/arm/mach-ixp4xx/include/mach-ixp4xx/
   0.3% arch/arm/mach-ixp4xx/
   0.0% arch/arm/mach-kirkwood/include/mach-kirkwood/
   1.1% arch/arm/mach-kirkwood/
   0.1% arch/arm/mach-ks8695/include/mach-ks8695/
   0.4% arch/arm/mach-ks8695/
   0.0% arch/arm/mach-lpc32xx/include/mach-lpc32xx/
   0.3% arch/arm/mach-lpc32xx/
   0.4% arch/arm/mach-mmp/include/mach-mmp/
   1.5% arch/arm/mach-mmp/
   0.1% arch/arm/mach-msm/include/mach-msm/
   1.2% arch/arm/mach-msm/
   0.0% arch/arm/mach-mv78xx0/include/mach-mv78xx0/
   0.3% arch/arm/mach-mv78xx0/
   0.0% arch/arm/mach-mvebu/include/mach-mvebu/
   0.0% arch/arm/mach-mvebu/
   0.5% arch/arm/mach-mxs/devices/
   0.1% arch/arm/mach-mxs/include/mach-mxs/
   0.5% arch/arm/mach-mxs/
   0.3% arch/arm/mach-netx/
   0.0% arch/arm/mach-nomadik/include/mach-nomadik/
   0.1% arch/arm/mach-nomadik/
   0.2% arch/arm/mach-omap1/include/mach-omap1/
   3.3% arch/arm/mach-omap1/
   0.1% arch/arm/mach-omap2/include/mach-omap2/
   8.1% arch/arm/mach-omap2/
   0.1% arch/arm/mach-orion5x/include/mach-orion5x/
   0.7% arch/arm/mach-orion5x/
   0.0% arch/arm/mach-picoxcell/include/mach-picoxcell/
   0.0% arch/arm/mach-picoxcell/
   0.0% arch/arm/mach-pnx4008/include/mach-pnx4008/
   0.4% arch/arm/mach-pnx4008/
   0.1% arch/arm/mach-prima2/include/mach-prima2/
   0.0% arch/arm/mach-prima2/
   0.7% arch/arm/mach-pxa/include/mach-pxa/
   7.6% arch/arm/mach-pxa/
   0.3% arch/arm/mach-realview/include/mach-realview/
   0.4% arch/arm/mach-realview/
   0.0% arch/arm/mach-rpc/include/mach-rpc/
   0.1% arch/arm/mach-rpc/
   0.1% arch/arm/mach-s3c2410/
   0.1% arch/arm/mach-s3c2412/
   0.2% arch/arm/mach-s3c2440/
   0.3% arch/arm/mach-s3c24xx/include/mach-s3c24xx/
  10.9% arch/arm/mach-s3c24xx/
   0.1% arch/arm/mach-s3c64xx/include/mach-s3c64xx/
   3.9% arch/arm/mach-s3c64xx/
   0.2% arch/arm/mach-s5p64x0/include/mach-s5p64x0/
   2.1% arch/arm/mach-s5p64x0/
   0.2% arch/arm/mach-s5pc100/include/mach-s5pc100/
   1.0% arch/arm/mach-s5pc100/
   0.2% arch/arm/mach-s5pv210/include/mach-s5pv210/
   2.1% arch/arm/mach-s5pv210/
   0.1% arch/arm/mach-sa1100/include/mach-sa1100/
   1.1% arch/arm/mach-sa1100/
   0.0% arch/arm/mach-shmobile/include/mach-shmobile/
   1.9% arch/arm/mach-shmobile/
   0.0% arch/arm/mach-spear13xx/include/mach-spear13xx/
   0.1% arch/arm/mach-spear13xx/
   0.0% arch/arm/mach-spear3xx/include/mach-spear3xx/
   0.2% arch/arm/mach-spear3xx/
   0.0% arch/arm/mach-spear6xx/include/mach-spear6xx/
   0.0% arch/arm/mach-spear6xx/
   0.0% arch/arm/mach-tegra/include/mach-tegra/
   1.0% arch/arm/mach-tegra/
   0.0% arch/arm/mach-u300/include/mach-u300/
   0.2% arch/arm/mach-u300/
   0.1% arch/arm/mach-ux500/include/mach-ux500/
   0.9% arch/arm/mach-ux500/
   0.0% arch/arm/mach-versatile/include/mach-versatile/
   0.1% arch/arm/mach-versatile/
   0.1% arch/arm/mach-vexpress/
   0.1% arch/arm/mach-vt8500/
   0.1% arch/arm/mach-w90x900/include/mach-w90x900/
   0.4% arch/arm/mach-w90x900/
   0.0% arch/arm/mach-zynq/include/mach-zynq/
   0.0% arch/arm/mach-zynq/
   0.0% arch/arm/mm/
   1.0% arch/arm/plat-mxc/devices/
   0.4% arch/arm/plat-mxc/
   0.4% arch/arm/plat-omap/include/plat-omap/
   0.6% arch/arm/plat-omap/
   0.1% arch/arm/plat-orion/
   0.0% arch/arm/plat-pxa/
   0.6% arch/arm/plat-s3c24xx/
   0.2% arch/arm/plat-samsung/include/plat-samsung/
   1.4% arch/arm/plat-samsung/
   0.0% arch/arm/plat-spear/
   0.0% arch/arm/plat-versatile/
   0.1% drivers/ata/
   0.0% drivers/char/hw_random/
   0.0% drivers/char/
   0.0% drivers/clk/mxs/
   0.0% drivers/clk/
   0.0% drivers/clocksource/
   0.0% drivers/cpufreq/
   0.0% drivers/crypto/ux500/cryp/
   0.0% drivers/crypto/ux500/hash/
   0.1% drivers/crypto/
   0.0% drivers/devfreq/
   0.0% drivers/dma/ipu/
   0.2% drivers/dma/
   0.4% drivers/gpio/
   0.0% drivers/gpu/drm/exynos/
   0.0% drivers/hwmon/
   0.0% drivers/i2c/busses/
   0.0% drivers/iio/adc/
   0.3% drivers/input/keyboard/
   0.0% drivers/input/mouse/
   0.0% drivers/input/serio/
   0.1% drivers/input/touchscreen/
   0.2% drivers/iommu/
   0.0% drivers/leds/
   0.1% drivers/media/video/davinci/
   0.0% drivers/media/video/omap/
   0.1% drivers/media/video/omap3isp/
   0.0% drivers/media/video/s5p-fimc/
   0.0% drivers/media/video/s5p-tv/
   0.1% drivers/media/video/
   0.1% drivers/mfd/
   0.3% drivers/mmc/host/
   0.0% drivers/mtd/maps/
   0.4% drivers/mtd/nand/
   0.0% drivers/mtd/onenand/
   0.0% drivers/net/ethernet/cadence/
   0.0% drivers/net/ethernet/micrel/
   0.0% drivers/net/ethernet/smsc/
   0.0% drivers/net/ethernet/xscale/
   0.0% drivers/net/ethernet/
   0.0% drivers/net/wan/
   0.6% drivers/pcmcia/
   0.0% drivers/pinctrl/
   0.0% drivers/power/
   0.0% drivers/ptp/
   0.0% drivers/pwm/
   0.0% drivers/remoteproc/
   0.0% drivers/rtc/
   0.2% drivers/spi/
   0.0% drivers/staging/nvec/
   0.0% drivers/staging/omapdrm/
   0.0% drivers/staging/tidspbridge/core/
   0.0% drivers/staging/tidspbridge/include/dspbridge/
   0.0% drivers/staging/tidspbridge/rmgr/
   0.1% drivers/tty/serial/
   0.2% drivers/usb/gadget/
   0.4% drivers/usb/host/
   0.1% drivers/usb/musb/
   0.0% drivers/usb/otg/
   0.1% drivers/video/backlight/
   0.0% drivers/video/exynos/
   0.2% drivers/video/msm/
   0.1% drivers/video/omap/
   0.1% drivers/video/omap2/dss/
   0.0% drivers/video/omap2/omapfb/
   0.0% drivers/video/omap2/
   0.4% drivers/video/
   0.0% drivers/watchdog/
   0.0% include/linux/mfd/
   0.0% include/linux/platform_data/
   0.0% include/linux/power/
   0.0% include/linux/spi/
   0.0% include/linux/
   0.1% sound/arm/
   0.0% sound/atmel/
   0.0% sound/oss/
   0.0% sound/soc/atmel/
   0.1% sound/soc/davinci/
   0.1% sound/soc/ep93xx/
   0.0% sound/soc/fsl/
   0.0% sound/soc/kirkwood/
   0.0% sound/soc/mxs/
   0.0% sound/soc/nuc900/
   0.6% sound/soc/omap/
   0.5% sound/soc/pxa/
   0.2% sound/soc/samsung/
   0.0% sound/soc/tegra/
   0.1% sound/soc/ux500/

diff --git a/Documentation/spi/ep93xx_spi b/Documentation/spi/ep93xx_spi
index d8eb01c..f088b4b 100644
--- a/Documentation/spi/ep93xx_spi
+++ b/Documentation/spi/ep93xx_spi
@@ -26,7 +26,7 @@ arch/arm/mach-ep93xx/ts72xx.c:
 #include <linux/gpio.h>
 #include <linux/spi/spi.h>
 
-#include <mach/ep93xx_spi.h>
+#include <mach-ep93xx/ep93xx_spi.h>
 
 /* this is our GPIO line used for chip select */
 #define MMC_CHIP_SELECT_GPIO EP93XX_GPIO_LINE_EGPIO9
diff --git a/arch/arm/boot/compressed/head-shmobile.S b/arch/arm/boot/compressed/head-shmobile.S
index fe3719b..4bcb9c7 100644
--- a/arch/arm/boot/compressed/head-shmobile.S
+++ b/arch/arm/boot/compressed/head-shmobile.S
@@ -23,7 +23,7 @@
        .section        ".start", "ax"
 
        /* load board-specific initialization code */
-#include <mach/zboot.h>
+#include <mach-shmobile/zboot.h>
 
 #if defined(CONFIG_ZBOOT_ROM_MMCIF) || defined(CONFIG_ZBOOT_ROM_SH_MOBILE_SDHI)
        /* Load image from MMC/SD */
diff --git a/arch/arm/boot/compressed/sdhi-shmobile.c b/arch/arm/boot/compressed/sdhi-shmobile.c
index bd3d469..ff0aa20 100644
--- a/arch/arm/boot/compressed/sdhi-shmobile.c
+++ b/arch/arm/boot/compressed/sdhi-shmobile.c
@@ -18,7 +18,7 @@
 #include <linux/mmc/mmc.h>
 #include <linux/mmc/sd.h>
 #include <linux/mmc/tmio.h>
-#include <mach/sdhi.h>
+#include <mach-shmobile/sdhi.h>
 
 #define OCR_FASTBOOT           (1<<29)
 #define OCR_HCS                        (1<<30)
diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c
index 6f50c67..fd81ffe 100644
--- a/arch/arm/mach-at91/at91rm9200.c
+++ b/arch/arm/mach-at91/at91rm9200.c
@@ -16,11 +16,11 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/system_misc.h>
-#include <mach/at91rm9200.h>
-#include <mach/at91_aic.h>
-#include <mach/at91_pmc.h>
-#include <mach/at91_st.h>
-#include <mach/cpu.h>
+#include <mach-at91/at91rm9200.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91_pmc.h>
+#include <mach-at91/at91_st.h>
+#include <mach-at91/cpu.h>
 
 #include "soc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c
index 01fb732..2b63b60 100644
--- a/arch/arm/mach-at91/at91rm9200_devices.c
+++ b/arch/arm/mach-at91/at91rm9200_devices.c
@@ -18,10 +18,10 @@
 #include <linux/platform_device.h>
 #include <linux/i2c-gpio.h>
 
-#include <mach/board.h>
-#include <mach/at91rm9200.h>
-#include <mach/at91rm9200_mc.h>
-#include <mach/at91_ramc.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91rm9200.h>
+#include <mach-at91/at91rm9200_mc.h>
+#include <mach-at91/at91_ramc.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/at91rm9200_time.c b/arch/arm/mach-at91/at91rm9200_time.c
index 104ca40..aec1da4 100644
--- a/arch/arm/mach-at91/at91rm9200_time.c
+++ b/arch/arm/mach-at91/at91rm9200_time.c
@@ -27,7 +27,7 @@
 
 #include <asm/mach/time.h>
 
-#include <mach/at91_st.h>
+#include <mach-at91/at91_st.h>
 
 static unsigned long last_crtr;
 static u32 irqmask;
diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c
index 30c7f26..e84bddb 100644
--- a/arch/arm/mach-at91/at91sam9260.c
+++ b/arch/arm/mach-at91/at91sam9260.c
@@ -17,12 +17,12 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/system_misc.h>
-#include <mach/cpu.h>
-#include <mach/at91_dbgu.h>
-#include <mach/at91sam9260.h>
-#include <mach/at91_aic.h>
-#include <mach/at91_pmc.h>
-#include <mach/at91_rstc.h>
+#include <mach-at91/cpu.h>
+#include <mach-at91/at91_dbgu.h>
+#include <mach-at91/at91sam9260.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91_pmc.h>
+#include <mach-at91/at91_rstc.h>
 
 #include "soc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c
index 7b9c2ba..cb364af 100644
--- a/arch/arm/mach-at91/at91sam9260_devices.c
+++ b/arch/arm/mach-at91/at91sam9260_devices.c
@@ -19,13 +19,13 @@
 
 #include <linux/platform_data/at91_adc.h>
 
-#include <mach/board.h>
-#include <mach/cpu.h>
-#include <mach/at91sam9260.h>
-#include <mach/at91sam9260_matrix.h>
-#include <mach/at91_matrix.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at91_adc.h>
+#include <mach-at91/board.h>
+#include <mach-at91/cpu.h>
+#include <mach-at91/at91sam9260.h>
+#include <mach-at91/at91sam9260_matrix.h>
+#include <mach-at91/at91_matrix.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/at91_adc.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c
index f40762c..58c830b 100644
--- a/arch/arm/mach-at91/at91sam9261.c
+++ b/arch/arm/mach-at91/at91sam9261.c
@@ -17,11 +17,11 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/system_misc.h>
-#include <mach/cpu.h>
-#include <mach/at91sam9261.h>
-#include <mach/at91_aic.h>
-#include <mach/at91_pmc.h>
-#include <mach/at91_rstc.h>
+#include <mach-at91/cpu.h>
+#include <mach-at91/at91sam9261.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91_pmc.h>
+#include <mach-at91/at91_rstc.h>
 
 #include "soc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c
index 8df5c1b..f2e6805 100644
--- a/arch/arm/mach-at91/at91sam9261_devices.c
+++ b/arch/arm/mach-at91/at91sam9261_devices.c
@@ -21,11 +21,11 @@
 #include <linux/fb.h>
 #include <video/atmel_lcdc.h>
 
-#include <mach/board.h>
-#include <mach/at91sam9261.h>
-#include <mach/at91sam9261_matrix.h>
-#include <mach/at91_matrix.h>
-#include <mach/at91sam9_smc.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91sam9261.h>
+#include <mach-at91/at91sam9261_matrix.h>
+#include <mach-at91/at91_matrix.h>
+#include <mach-at91/at91sam9_smc.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c
index 84b3810..51f4f7e 100644
--- a/arch/arm/mach-at91/at91sam9263.c
+++ b/arch/arm/mach-at91/at91sam9263.c
@@ -17,10 +17,10 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/system_misc.h>
-#include <mach/at91sam9263.h>
-#include <mach/at91_aic.h>
-#include <mach/at91_pmc.h>
-#include <mach/at91_rstc.h>
+#include <mach-at91/at91sam9263.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91_pmc.h>
+#include <mach-at91/at91_rstc.h>
 
 #include "soc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c
index eb6bbf8..26dc600 100644
--- a/arch/arm/mach-at91/at91sam9263_devices.c
+++ b/arch/arm/mach-at91/at91sam9263_devices.c
@@ -20,11 +20,11 @@
 #include <linux/fb.h>
 #include <video/atmel_lcdc.h>
 
-#include <mach/board.h>
-#include <mach/at91sam9263.h>
-#include <mach/at91sam9263_matrix.h>
-#include <mach/at91_matrix.h>
-#include <mach/at91sam9_smc.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91sam9263.h>
+#include <mach-at91/at91sam9263_matrix.h>
+#include <mach-at91/at91_matrix.h>
+#include <mach-at91/at91sam9_smc.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/at91sam926x_time.c b/arch/arm/mach-at91/at91sam926x_time.c
index ffc0957..e3b0d36 100644
--- a/arch/arm/mach-at91/at91sam926x_time.c
+++ b/arch/arm/mach-at91/at91sam926x_time.c
@@ -20,7 +20,7 @@
 
 #include <asm/mach/time.h>
 
-#include <mach/at91_pit.h>
+#include <mach-at91/at91_pit.h>
 
 
 #define PIT_CPIV(x)    ((x) & AT91_PIT_CPIV)
diff --git a/arch/arm/mach-at91/at91sam9_alt_reset.S b/arch/arm/mach-at91/at91sam9_alt_reset.S
index 7af2e10..6d8da98 100644
--- a/arch/arm/mach-at91/at91sam9_alt_reset.S
+++ b/arch/arm/mach-at91/at91sam9_alt_reset.S
@@ -14,9 +14,9 @@
  */
 
 #include <linux/linkage.h>
-#include <mach/hardware.h>
-#include <mach/at91_ramc.h>
-#include <mach/at91_rstc.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/at91_ramc.h>
+#include <mach-at91/at91_rstc.h>
 
                        .arm
 
diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c
index ef6cedd..45c79b4 100644
--- a/arch/arm/mach-at91/at91sam9g45.c
+++ b/arch/arm/mach-at91/at91sam9g45.c
@@ -17,10 +17,10 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/system_misc.h>
-#include <mach/at91sam9g45.h>
-#include <mach/at91_aic.h>
-#include <mach/at91_pmc.h>
-#include <mach/cpu.h>
+#include <mach-at91/at91sam9g45.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91_pmc.h>
+#include <mach-at91/cpu.h>
 
 #include "soc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c
index 0607399..242c850 100644
--- a/arch/arm/mach-at91/at91sam9g45_devices.c
+++ b/arch/arm/mach-at91/at91sam9g45_devices.c
@@ -25,14 +25,14 @@
 #include <linux/fb.h>
 #include <video/atmel_lcdc.h>
 
-#include <mach/at91_adc.h>
-#include <mach/board.h>
-#include <mach/at91sam9g45.h>
-#include <mach/at91sam9g45_matrix.h>
-#include <mach/at91_matrix.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at_hdmac.h>
-#include <mach/atmel-mci.h>
+#include <mach-at91/at91_adc.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91sam9g45.h>
+#include <mach-at91/at91sam9g45_matrix.h>
+#include <mach-at91/at91_matrix.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/at_hdmac.h>
+#include <mach-at91/atmel-mci.h>
 
 #include <media/atmel-isi.h>
 
diff --git a/arch/arm/mach-at91/at91sam9g45_reset.S b/arch/arm/mach-at91/at91sam9g45_reset.S
index 9d45718..0726dad 100644
--- a/arch/arm/mach-at91/at91sam9g45_reset.S
+++ b/arch/arm/mach-at91/at91sam9g45_reset.S
@@ -11,9 +11,9 @@
  */
 
 #include <linux/linkage.h>
-#include <mach/hardware.h>
-#include <mach/at91_ramc.h>
-#include <mach/at91_rstc.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/at91_ramc.h>
+#include <mach-at91/at91_rstc.h>
 
                        .arm
 
diff --git a/arch/arm/mach-at91/at91sam9n12.c b/arch/arm/mach-at91/at91sam9n12.c
index 0849466..b5f4e1d 100644
--- a/arch/arm/mach-at91/at91sam9n12.c
+++ b/arch/arm/mach-at91/at91sam9n12.c
@@ -12,10 +12,10 @@
 #include <asm/irq.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
-#include <mach/at91sam9n12.h>
-#include <mach/at91_pmc.h>
-#include <mach/cpu.h>
-#include <mach/board.h>
+#include <mach-at91/at91sam9n12.h>
+#include <mach-at91/at91_pmc.h>
+#include <mach-at91/cpu.h>
+#include <mach-at91/board.h>
 
 #include "soc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/at91sam9rl.c b/arch/arm/mach-at91/at91sam9rl.c
index 72ce50a..3c17719 100644
--- a/arch/arm/mach-at91/at91sam9rl.c
+++ b/arch/arm/mach-at91/at91sam9rl.c
@@ -16,12 +16,12 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/system_misc.h>
-#include <mach/cpu.h>
-#include <mach/at91_dbgu.h>
-#include <mach/at91sam9rl.h>
-#include <mach/at91_aic.h>
-#include <mach/at91_pmc.h>
-#include <mach/at91_rstc.h>
+#include <mach-at91/cpu.h>
+#include <mach-at91/at91_dbgu.h>
+#include <mach-at91/at91sam9rl.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91_pmc.h>
+#include <mach-at91/at91_rstc.h>
 
 #include "soc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c
index f09fff9..cf41235 100644
--- a/arch/arm/mach-at91/at91sam9rl_devices.c
+++ b/arch/arm/mach-at91/at91sam9rl_devices.c
@@ -17,12 +17,12 @@
 #include <linux/fb.h>
 #include <video/atmel_lcdc.h>
 
-#include <mach/board.h>
-#include <mach/at91sam9rl.h>
-#include <mach/at91sam9rl_matrix.h>
-#include <mach/at91_matrix.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at_hdmac.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91sam9rl.h>
+#include <mach-at91/at91sam9rl_matrix.h>
+#include <mach-at91/at91_matrix.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/at_hdmac.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/at91sam9x5.c b/arch/arm/mach-at91/at91sam9x5.c
index 477cf9d..d919d0e 100644
--- a/arch/arm/mach-at91/at91sam9x5.c
+++ b/arch/arm/mach-at91/at91sam9x5.c
@@ -12,10 +12,10 @@
 #include <asm/irq.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
-#include <mach/at91sam9x5.h>
-#include <mach/at91_pmc.h>
-#include <mach/cpu.h>
-#include <mach/board.h>
+#include <mach-at91/at91sam9x5.h>
+#include <mach-at91/at91_pmc.h>
+#include <mach-at91/cpu.h>
+#include <mach-at91/board.h>
 
 #include "soc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/at91x40.c b/arch/arm/mach-at91/at91x40.c
index 46090e6..e3224b1 100644
--- a/arch/arm/mach-at91/at91x40.c
+++ b/arch/arm/mach-at91/at91x40.c
@@ -17,10 +17,10 @@
 #include <asm/proc-fns.h>
 #include <asm/system_misc.h>
 #include <asm/mach/arch.h>
-#include <mach/at91x40.h>
-#include <mach/at91_aic.h>
-#include <mach/at91_st.h>
-#include <mach/timex.h>
+#include <mach-at91/at91x40.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91_st.h>
+#include <mach-at91/timex.h>
 #include "generic.h"
 
 /*
diff --git a/arch/arm/mach-at91/at91x40_time.c b/arch/arm/mach-at91/at91x40_time.c
index 6ca680a..478fa8a 100644
--- a/arch/arm/mach-at91/at91x40_time.c
+++ b/arch/arm/mach-at91/at91x40_time.c
@@ -24,9 +24,9 @@
 #include <linux/irq.h>
 #include <linux/time.h>
 #include <linux/io.h>
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/mach/time.h>
-#include <mach/at91_tc.h>
+#include <mach-at91/at91_tc.h>
 
 #define at91_tc_read(field) \
        __raw_readl(AT91_TC + field)
diff --git a/arch/arm/mach-at91/board-1arm.c b/arch/arm/mach-at91/board-1arm.c
index 22d8856..bbfe99a 100644
--- a/arch/arm/mach-at91/board-1arm.c
+++ b/arch/arm/mach-at91/board-1arm.c
@@ -25,7 +25,7 @@
 #include <linux/module.h>
 #include <linux/platform_device.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 #include <asm/irq.h>
@@ -34,9 +34,9 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/cpu.h>
-#include <mach/at91_aic.h>
+#include <mach-at91/board.h>
+#include <mach-at91/cpu.h>
+#include <mach-at91/at91_aic.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-afeb-9260v1.c b/arch/arm/mach-at91/board-afeb-9260v1.c
index de7be19..ae1469e 100644
--- a/arch/arm/mach-at91/board-afeb-9260v1.c
+++ b/arch/arm/mach-at91/board-afeb-9260v1.c
@@ -34,7 +34,7 @@
 #include <linux/clk.h>
 #include <linux/dma-mapping.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 #include <asm/irq.h>
@@ -43,8 +43,8 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-cam60.c b/arch/arm/mach-at91/board-cam60.c
index 477e708..8e3b25a 100644
--- a/arch/arm/mach-at91/board-cam60.c
+++ b/arch/arm/mach-at91/board-cam60.c
@@ -29,7 +29,7 @@
 #include <linux/spi/spi.h>
 #include <linux/spi/flash.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 #include <asm/irq.h>
@@ -38,9 +38,9 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-carmeva.c b/arch/arm/mach-at91/board-carmeva.c
index a5b002f..b2f21fc 100644
--- a/arch/arm/mach-at91/board-carmeva.c
+++ b/arch/arm/mach-at91/board-carmeva.c
@@ -34,9 +34,9 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-cpu9krea.c b/arch/arm/mach-at91/board-cpu9krea.c
index ecbc13b..2d5334c 100644
--- a/arch/arm/mach-at91/board-cpu9krea.c
+++ b/arch/arm/mach-at91/board-cpu9krea.c
@@ -39,12 +39,12 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at91sam9260_matrix.h>
-#include <mach/at91_matrix.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/at91sam9260_matrix.h>
+#include <mach-at91/at91_matrix.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-cpuat91.c b/arch/arm/mach-at91/board-cpuat91.c
index 2e6d043..73934ef 100644
--- a/arch/arm/mach-at91/board-cpuat91.c
+++ b/arch/arm/mach-at91/board-cpuat91.c
@@ -27,7 +27,7 @@
 #include <linux/mtd/physmap.h>
 #include <linux/mtd/plat-ram.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 #include <asm/irq.h>
@@ -36,11 +36,11 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91rm9200_mc.h>
-#include <mach/at91_ramc.h>
-#include <mach/cpu.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91rm9200_mc.h>
+#include <mach-at91/at91_ramc.h>
+#include <mach-at91/cpu.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-csb337.c b/arch/arm/mach-at91/board-csb337.c
index 462bc31..40f5e99 100644
--- a/arch/arm/mach-at91/board-csb337.c
+++ b/arch/arm/mach-at91/board-csb337.c
@@ -37,9 +37,9 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-csb637.c b/arch/arm/mach-at91/board-csb637.c
index 872871a..df54c811 100644
--- a/arch/arm/mach-at91/board-csb637.c
+++ b/arch/arm/mach-at91/board-csb637.c
@@ -34,9 +34,9 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-dt.c b/arch/arm/mach-at91/board-dt.c
index e8f45c4..346b427 100644
--- a/arch/arm/mach-at91/board-dt.c
+++ b/arch/arm/mach-at91/board-dt.c
@@ -15,8 +15,8 @@
 #include <linux/of_irq.h>
 #include <linux/of_platform.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
 
 #include <asm/setup.h>
 #include <asm/irq.h>
diff --git a/arch/arm/mach-at91/board-eb01.c b/arch/arm/mach-at91/board-eb01.c
index 01f66e9..5a0365d 100644
--- a/arch/arm/mach-at91/board-eb01.c
+++ b/arch/arm/mach-at91/board-eb01.c
@@ -24,11 +24,11 @@
 #include <linux/platform_device.h>
 #include <linux/irq.h>
 #include <asm/mach-types.h>
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
 #include "generic.h"
 
 static void __init at91eb01_init_irq(void)
diff --git a/arch/arm/mach-at91/board-eb9200.c b/arch/arm/mach-at91/board-eb9200.c
index d1e1f3f..3ae9f49 100644
--- a/arch/arm/mach-at91/board-eb9200.c
+++ b/arch/arm/mach-at91/board-eb9200.c
@@ -26,7 +26,7 @@
 #include <linux/module.h>
 #include <linux/device.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 #include <asm/irq.h>
@@ -35,8 +35,8 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-ecbat91.c b/arch/arm/mach-at91/board-ecbat91.c
index 9c24cb2..f9d2da7 100644
--- a/arch/arm/mach-at91/board-ecbat91.c
+++ b/arch/arm/mach-at91/board-ecbat91.c
@@ -28,7 +28,7 @@
 #include <linux/spi/spi.h>
 #include <linux/spi/flash.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 #include <asm/irq.h>
@@ -37,9 +37,9 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/cpu.h>
-#include <mach/at91_aic.h>
+#include <mach-at91/board.h>
+#include <mach-at91/cpu.h>
+#include <mach-at91/at91_aic.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-eco920.c b/arch/arm/mach-at91/board-eco920.c
index 82bdfde..814756e 100644
--- a/arch/arm/mach-at91/board-eco920.c
+++ b/arch/arm/mach-at91/board-eco920.c
@@ -24,11 +24,11 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91rm9200_mc.h>
-#include <mach/at91_ramc.h>
-#include <mach/cpu.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91rm9200_mc.h>
+#include <mach-at91/at91_ramc.h>
+#include <mach-at91/cpu.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-flexibity.c b/arch/arm/mach-at91/board-flexibity.c
index 6cc83a8..d5315ef 100644
--- a/arch/arm/mach-at91/board-flexibity.c
+++ b/arch/arm/mach-at91/board-flexibity.c
@@ -32,9 +32,9 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-foxg20.c b/arch/arm/mach-at91/board-foxg20.c
index 69ab124..43b5fc2 100644
--- a/arch/arm/mach-at91/board-foxg20.c
+++ b/arch/arm/mach-at91/board-foxg20.c
@@ -32,7 +32,7 @@
 #include <linux/clk.h>
 #include <linux/w1-gpio.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 #include <asm/irq.h>
@@ -41,9 +41,9 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-gsia18s.c b/arch/arm/mach-at91/board-gsia18s.c
index a9d5e78..b6d0d6f 100644
--- a/arch/arm/mach-at91/board-gsia18s.c
+++ b/arch/arm/mach-at91/board-gsia18s.c
@@ -30,11 +30,11 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/gsia18s.h>
-#include <mach/stamp9g20.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/gsia18s.h>
+#include <mach-at91/stamp9g20.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-kafa.c b/arch/arm/mach-at91/board-kafa.c
index 64c1dbf..7e98f65 100644
--- a/arch/arm/mach-at91/board-kafa.c
+++ b/arch/arm/mach-at91/board-kafa.c
@@ -25,7 +25,7 @@
 #include <linux/module.h>
 #include <linux/platform_device.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 #include <asm/irq.h>
@@ -34,9 +34,9 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/cpu.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/cpu.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-kb9202.c b/arch/arm/mach-at91/board-kb9202.c
index 5d96cb8..5b1bf97 100644
--- a/arch/arm/mach-at91/board-kb9202.c
+++ b/arch/arm/mach-at91/board-kb9202.c
@@ -26,7 +26,7 @@
 #include <linux/module.h>
 #include <linux/platform_device.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 #include <asm/irq.h>
@@ -35,11 +35,11 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/cpu.h>
-#include <mach/at91_aic.h>
-#include <mach/at91rm9200_mc.h>
-#include <mach/at91_ramc.h>
+#include <mach-at91/board.h>
+#include <mach-at91/cpu.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91rm9200_mc.h>
+#include <mach-at91/at91_ramc.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-neocore926.c b/arch/arm/mach-at91/board-neocore926.c
index 18103c5d..c9e9d89 100644
--- a/arch/arm/mach-at91/board-neocore926.c
+++ b/arch/arm/mach-at91/board-neocore926.c
@@ -43,10 +43,10 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-pcontrol-g20.c b/arch/arm/mach-at91/board-pcontrol-g20.c
index 9ca3e32..f809d33 100644
--- a/arch/arm/mach-at91/board-pcontrol-g20.c
+++ b/arch/arm/mach-at91/board-pcontrol-g20.c
@@ -29,10 +29,10 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/stamp9g20.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/stamp9g20.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-picotux200.c b/arch/arm/mach-at91/board-picotux200.c
index 1270655..469000d 100644
--- a/arch/arm/mach-at91/board-picotux200.c
+++ b/arch/arm/mach-at91/board-picotux200.c
@@ -28,7 +28,7 @@
 #include <linux/spi/spi.h>
 #include <linux/mtd/physmap.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 #include <asm/irq.h>
@@ -37,10 +37,10 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91rm9200_mc.h>
-#include <mach/at91_ramc.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91rm9200_mc.h>
+#include <mach-at91/at91_ramc.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c
index bf351e2..0364e46 100644
--- a/arch/arm/mach-at91/board-qil-a9260.c
+++ b/arch/arm/mach-at91/board-qil-a9260.c
@@ -39,11 +39,11 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at91_shdwc.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/at91_shdwc.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-rm9200dk.c b/arch/arm/mach-at91/board-rm9200dk.c
index cc2bf97..9769e97 100644
--- a/arch/arm/mach-at91/board-rm9200dk.c
+++ b/arch/arm/mach-at91/board-rm9200dk.c
@@ -38,11 +38,11 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91rm9200_mc.h>
-#include <mach/at91_ramc.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91rm9200_mc.h>
+#include <mach-at91/at91_ramc.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-rm9200ek.c b/arch/arm/mach-at91/board-rm9200ek.c
index 62e19e6..2311b39 100644
--- a/arch/arm/mach-at91/board-rm9200ek.c
+++ b/arch/arm/mach-at91/board-rm9200ek.c
@@ -38,11 +38,11 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91rm9200_mc.h>
-#include <mach/at91_ramc.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91rm9200_mc.h>
+#include <mach-at91/at91_ramc.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-rsi-ews.c b/arch/arm/mach-at91/board-rsi-ews.c
index c3b43ae..5dfc434 100644
--- a/arch/arm/mach-at91/board-rsi-ews.c
+++ b/arch/arm/mach-at91/board-rsi-ews.c
@@ -24,9 +24,9 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
 
 #include <linux/gpio.h>
 
diff --git a/arch/arm/mach-at91/board-sam9-l9260.c b/arch/arm/mach-at91/board-sam9-l9260.c
index 7bf6da7..39546b8 100644
--- a/arch/arm/mach-at91/board-sam9-l9260.c
+++ b/arch/arm/mach-at91/board-sam9-l9260.c
@@ -28,7 +28,7 @@
 #include <linux/platform_device.h>
 #include <linux/spi/spi.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 #include <asm/irq.h>
@@ -37,9 +37,9 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-sam9260ek.c b/arch/arm/mach-at91/board-sam9260ek.c
index 889c1bf..27865bc 100644
--- a/arch/arm/mach-at91/board-sam9260ek.c
+++ b/arch/arm/mach-at91/board-sam9260ek.c
@@ -40,12 +40,12 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at91_shdwc.h>
-#include <mach/system_rev.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/at91_shdwc.h>
+#include <mach-at91/system_rev.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c
index 2269be5..e37f30f 100644
--- a/arch/arm/mach-at91/board-sam9261ek.c
+++ b/arch/arm/mach-at91/board-sam9261ek.c
@@ -44,12 +44,12 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at91_shdwc.h>
-#include <mach/system_rev.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/at91_shdwc.h>
+#include <mach-at91/system_rev.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c
index 82adf58..b149347 100644
--- a/arch/arm/mach-at91/board-sam9263ek.c
+++ b/arch/arm/mach-at91/board-sam9263ek.c
@@ -43,12 +43,12 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at91_shdwc.h>
-#include <mach/system_rev.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/at91_shdwc.h>
+#include <mach-at91/system_rev.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-sam9g20ek.c b/arch/arm/mach-at91/board-sam9g20ek.c
index 4ea4ee0..cd48ea7 100644
--- a/arch/arm/mach-at91/board-sam9g20ek.c
+++ b/arch/arm/mach-at91/board-sam9g20ek.c
@@ -34,7 +34,7 @@
 
 #include <linux/platform_data/at91_adc.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 #include <asm/irq.h>
@@ -43,10 +43,10 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/system_rev.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/system_rev.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-sam9m10g45ek.c b/arch/arm/mach-at91/board-sam9m10g45ek.c
index 3d48ec1..4222519 100644
--- a/arch/arm/mach-at91/board-sam9m10g45ek.c
+++ b/arch/arm/mach-at91/board-sam9m10g45ek.c
@@ -29,7 +29,7 @@
 
 #include <linux/platform_data/at91_adc.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <video/atmel_lcdc.h>
 #include <media/soc_camera.h>
 #include <media/atmel-isi.h>
@@ -42,11 +42,11 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at91_shdwc.h>
-#include <mach/system_rev.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/at91_shdwc.h>
+#include <mach-at91/system_rev.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-sam9rlek.c b/arch/arm/mach-at91/board-sam9rlek.c
index e7dc3ea..80f805c 100644
--- a/arch/arm/mach-at91/board-sam9rlek.c
+++ b/arch/arm/mach-at91/board-sam9rlek.c
@@ -29,11 +29,11 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at91_shdwc.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/at91_shdwc.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-snapper9260.c b/arch/arm/mach-at91/board-snapper9260.c
index a4e031a..dada12c 100644
--- a/arch/arm/mach-at91/board-snapper9260.c
+++ b/arch/arm/mach-at91/board-snapper9260.c
@@ -31,10 +31,10 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-stamp9g20.c b/arch/arm/mach-at91/board-stamp9g20.c
index 29eae16..64c7010 100644
--- a/arch/arm/mach-at91/board-stamp9g20.c
+++ b/arch/arm/mach-at91/board-stamp9g20.c
@@ -25,9 +25,9 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-usb-a926x.c b/arch/arm/mach-at91/board-usb-a926x.c
index c1476b9..dacfc5b 100644
--- a/arch/arm/mach-at91/board-usb-a926x.c
+++ b/arch/arm/mach-at91/board-usb-a926x.c
@@ -40,11 +40,11 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at91_shdwc.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91sam9_smc.h>
+#include <mach-at91/at91_shdwc.h>
 
 #include "sam9_smc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-at91/board-yl-9200.c b/arch/arm/mach-at91/board-yl-9200.c
index 516d340..fed4f0a 100644
--- a/arch/arm/mach-at91/board-yl-9200.c
+++ b/arch/arm/mach-at91/board-yl-9200.c
@@ -42,12 +42,12 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/board.h>
-#include <mach/at91_aic.h>
-#include <mach/at91rm9200_mc.h>
-#include <mach/at91_ramc.h>
-#include <mach/cpu.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/board.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91rm9200_mc.h>
+#include <mach-at91/at91_ramc.h>
+#include <mach-at91/cpu.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/clock.c b/arch/arm/mach-at91/clock.c
index de2ec6b..c5789a1 100644
--- a/arch/arm/mach-at91/clock.c
+++ b/arch/arm/mach-at91/clock.c
@@ -25,9 +25,9 @@
 #include <linux/io.h>
 #include <linux/of_address.h>
 
-#include <mach/hardware.h>
-#include <mach/at91_pmc.h>
-#include <mach/cpu.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/at91_pmc.h>
+#include <mach-at91/cpu.h>
 
 #include <asm/proc-fns.h>
 
diff --git a/arch/arm/mach-at91/cpuidle.c b/arch/arm/mach-at91/cpuidle.c
index 0c63815..6d03dc6 100644
--- a/arch/arm/mach-at91/cpuidle.c
+++ b/arch/arm/mach-at91/cpuidle.c
@@ -21,7 +21,7 @@
 #include <linux/export.h>
 #include <asm/proc-fns.h>
 #include <asm/cpuidle.h>
-#include <mach/cpu.h>
+#include <mach-at91/cpu.h>
 
 #include "pm.h"
 
diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c
index be42cf0..ce21de2 100644
--- a/arch/arm/mach-at91/gpio.c
+++ b/arch/arm/mach-at91/gpio.c
@@ -28,8 +28,8 @@
 
 #include <asm/mach/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/at91_pio.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/at91_pio.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/include/mach-at91/at91_ramc.h b/arch/arm/mach-at91/include/mach-at91/at91_ramc.h
index d8aeb27..c871a14 100644
--- a/arch/arm/mach-at91/include/mach-at91/at91_ramc.h
+++ b/arch/arm/mach-at91/include/mach-at91/at91_ramc.h
@@ -25,8 +25,8 @@ extern void __iomem *at91_ramc_base[];
 #define AT91_MEMCTRL_SDRAMC    1
 #define AT91_MEMCTRL_DDRSDR    2
 
-#include <mach/at91rm9200_sdramc.h>
-#include <mach/at91sam9_ddrsdr.h>
-#include <mach/at91sam9_sdramc.h>
+#include <mach-at91/at91rm9200_sdramc.h>
+#include <mach-at91/at91sam9_ddrsdr.h>
+#include <mach-at91/at91sam9_sdramc.h>
 
 #endif /* __AT91_RAMC_H__ */
diff --git a/arch/arm/mach-at91/include/mach-at91/at91sam9_smc.h b/arch/arm/mach-at91/include/mach-at91/at91sam9_smc.h
index 175e1fd..2f6393e 100644
--- a/arch/arm/mach-at91/include/mach-at91/at91sam9_smc.h
+++ b/arch/arm/mach-at91/include/mach-at91/at91sam9_smc.h
@@ -16,7 +16,7 @@
 #ifndef AT91SAM9_SMC_H
 #define AT91SAM9_SMC_H
 
-#include <mach/cpu.h>
+#include <mach-at91/cpu.h>
 
 #ifndef __ASSEMBLY__
 struct sam9_smc_config {
diff --git a/arch/arm/mach-at91/include/mach-at91/atmel-mci.h b/arch/arm/mach-at91/include/mach-at91/atmel-mci.h
index 998cb0c..d8f4109 100644
--- a/arch/arm/mach-at91/include/mach-at91/atmel-mci.h
+++ b/arch/arm/mach-at91/include/mach-at91/atmel-mci.h
@@ -1,7 +1,7 @@
 #ifndef __MACH_ATMEL_MCI_H
 #define __MACH_ATMEL_MCI_H
 
-#include <mach/at_hdmac.h>
+#include <mach-at91/at_hdmac.h>
 
 /**
  * struct mci_dma_data - DMA data for MCI interface
diff --git a/arch/arm/mach-at91/include/mach-at91/debug-macro.S b/arch/arm/mach-at91/include/mach-at91/debug-macro.S
index c6bb9e2..8a1599c 100644
--- a/arch/arm/mach-at91/include/mach-at91/debug-macro.S
+++ b/arch/arm/mach-at91/include/mach-at91/debug-macro.S
@@ -11,8 +11,8 @@
  *
 */
 
-#include <mach/hardware.h>
-#include <mach/at91_dbgu.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/at91_dbgu.h>
 
 #if defined(CONFIG_AT91_DEBUG_LL_DBGU0)
 #define AT91_DBGU AT91_BASE_DBGU0
diff --git a/arch/arm/mach-at91/include/mach-at91/hardware.h b/arch/arm/mach-at91/include/mach-at91/hardware.h
index 09242b6..caef81c 100644
--- a/arch/arm/mach-at91/include/mach-at91/hardware.h
+++ b/arch/arm/mach-at91/include/mach-at91/hardware.h
@@ -23,16 +23,16 @@
 #define AT91_BASE_DBGU1        0xffffee00
 
 #if defined(CONFIG_ARCH_AT91X40)
-#include <mach/at91x40.h>
+#include <mach-at91/at91x40.h>
 #else
-#include <mach/at91rm9200.h>
-#include <mach/at91sam9260.h>
-#include <mach/at91sam9261.h>
-#include <mach/at91sam9263.h>
-#include <mach/at91sam9rl.h>
-#include <mach/at91sam9g45.h>
-#include <mach/at91sam9x5.h>
-#include <mach/at91sam9n12.h>
+#include <mach-at91/at91rm9200.h>
+#include <mach-at91/at91sam9260.h>
+#include <mach-at91/at91sam9261.h>
+#include <mach-at91/at91sam9263.h>
+#include <mach-at91/at91sam9rl.h>
+#include <mach-at91/at91sam9g45.h>
+#include <mach-at91/at91sam9x5.h>
+#include <mach-at91/at91sam9n12.h>
 
 /*
  * On all at91 except rm9200 and x40 have the System Controller starts
diff --git a/arch/arm/mach-at91/include/mach-at91/memory.h b/arch/arm/mach-at91/include/mach-at91/memory.h
index 401c207..88c06fd 100644
--- a/arch/arm/mach-at91/include/mach-at91/memory.h
+++ b/arch/arm/mach-at91/include/mach-at91/memory.h
@@ -21,6 +21,6 @@
 #ifndef __ASM_ARCH_MEMORY_H
 #define __ASM_ARCH_MEMORY_H
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 
 #endif
diff --git a/arch/arm/mach-at91/include/mach-at91/timex.h b/arch/arm/mach-at91/include/mach-at91/timex.h
index 5e917a6..f4e72e2 100644
--- a/arch/arm/mach-at91/include/mach-at91/timex.h
+++ b/arch/arm/mach-at91/include/mach-at91/timex.h
@@ -21,7 +21,7 @@
 #ifndef __ASM_ARCH_TIMEX_H
 #define __ASM_ARCH_TIMEX_H
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 
 #ifdef CONFIG_ARCH_AT91X40
 
diff --git a/arch/arm/mach-at91/include/mach-at91/uncompress.h b/arch/arm/mach-at91/include/mach-at91/uncompress.h
index 6f6118d..914feb7 100644
--- a/arch/arm/mach-at91/include/mach-at91/uncompress.h
+++ b/arch/arm/mach-at91/include/mach-at91/uncompress.h
@@ -24,10 +24,10 @@
 
 #include <linux/io.h>
 #include <linux/atmel_serial.h>
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 
-#include <mach/at91_dbgu.h>
-#include <mach/cpu.h>
+#include <mach-at91/at91_dbgu.h>
+#include <mach-at91/cpu.h>
 
 void __iomem *at91_uart;
 
diff --git a/arch/arm/mach-at91/irq.c b/arch/arm/mach-at91/irq.c
index 1e02c0e..eeddbec 100644
--- a/arch/arm/mach-at91/irq.c
+++ b/arch/arm/mach-at91/irq.c
@@ -33,7 +33,7 @@
 #include <linux/err.h>
 #include <linux/slab.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/irq.h>
 #include <asm/setup.h>
 
@@ -42,7 +42,7 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/map.h>
 
-#include <mach/at91_aic.h>
+#include <mach-at91/at91_aic.h>
 
 void __iomem *at91_aic_base;
 static struct irq_domain *at91_aic_domain;
diff --git a/arch/arm/mach-at91/leds.c b/arch/arm/mach-at91/leds.c
index 8dfafe7..f921b1e 100644
--- a/arch/arm/mach-at91/leds.c
+++ b/arch/arm/mach-at91/leds.c
@@ -15,7 +15,7 @@
 #include <linux/init.h>
 #include <linux/platform_device.h>
 
-#include <mach/board.h>
+#include <mach-at91/board.h>
 
 
 /* ------------------------------------------------------------------------- */
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index 2c2d865..a5b940e 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -25,9 +25,9 @@
 #include <asm/mach/time.h>
 #include <asm/mach/irq.h>
 
-#include <mach/at91_aic.h>
-#include <mach/at91_pmc.h>
-#include <mach/cpu.h>
+#include <mach-at91/at91_aic.h>
+#include <mach-at91/at91_pmc.h>
+#include <mach-at91/cpu.h>
 
 #include "generic.h"
 #include "pm.h"
@@ -36,8 +36,8 @@
  * Show the reason for the previous system reset.
  */
 
-#include <mach/at91_rstc.h>
-#include <mach/at91_shdwc.h>
+#include <mach-at91/at91_rstc.h>
+#include <mach-at91/at91_shdwc.h>
 
 static void __init show_reset_status(void)
 {
diff --git a/arch/arm/mach-at91/pm.h b/arch/arm/mach-at91/pm.h
index 38f467c..529072a 100644
--- a/arch/arm/mach-at91/pm.h
+++ b/arch/arm/mach-at91/pm.h
@@ -11,8 +11,8 @@
 #ifndef __ARCH_ARM_MACH_AT91_PM
 #define __ARCH_ARM_MACH_AT91_PM
 
-#include <mach/at91_ramc.h>
-#include <mach/at91rm9200_sdramc.h>
+#include <mach-at91/at91_ramc.h>
+#include <mach-at91/at91rm9200_sdramc.h>
 
 /*
  * The AT91RM9200 goes into self-refresh mode with this command, and will
diff --git a/arch/arm/mach-at91/pm_slowclock.S b/arch/arm/mach-at91/pm_slowclock.S
index 098c28d..8f263c6 100644
--- a/arch/arm/mach-at91/pm_slowclock.S
+++ b/arch/arm/mach-at91/pm_slowclock.S
@@ -13,9 +13,9 @@
  */
 
 #include <linux/linkage.h>
-#include <mach/hardware.h>
-#include <mach/at91_pmc.h>
-#include <mach/at91_ramc.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/at91_pmc.h>
+#include <mach-at91/at91_ramc.h>
 
 
 #ifdef CONFIG_SOC_AT91SAM9263
diff --git a/arch/arm/mach-at91/sam9_smc.c b/arch/arm/mach-at91/sam9_smc.c
index 99a0a1d..be40bf2 100644
--- a/arch/arm/mach-at91/sam9_smc.c
+++ b/arch/arm/mach-at91/sam9_smc.c
@@ -14,7 +14,7 @@
 #include <linux/of.h>
 #include <linux/of_address.h>
 
-#include <mach/at91sam9_smc.h>
+#include <mach-at91/at91sam9_smc.h>
 
 #include "sam9_smc.h"
 
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
index 944bffb..0fe58d5 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
@@ -14,11 +14,11 @@
 #include <asm/system_misc.h>
 #include <asm/mach/map.h>
 
-#include <mach/hardware.h>
-#include <mach/cpu.h>
-#include <mach/at91_dbgu.h>
-#include <mach/at91_pmc.h>
-#include <mach/at91_shdwc.h>
+#include <mach-at91/hardware.h>
+#include <mach-at91/cpu.h>
+#include <mach-at91/at91_dbgu.h>
+#include <mach-at91/at91_pmc.h>
+#include <mach-at91/at91_shdwc.h>
 
 #include "soc.h"
 #include "generic.h"
diff --git a/arch/arm/mach-bcmring/arch.c b/arch/arm/mach-bcmring/arch.c
index 45c97b1..f7469da 100644
--- a/arch/arm/mach-bcmring/arch.c
+++ b/arch/arm/mach-bcmring/arch.c
@@ -32,11 +32,11 @@
 #include <asm/pmu.h>
 
 #include <asm/mach/arch.h>
-#include <mach/dma.h>
-#include <mach/hardware.h>
-#include <mach/csp/mm_io.h>
-#include <mach/csp/chipcHw_def.h>
-#include <mach/csp/chipcHw_inline.h>
+#include <mach-bcmring/dma.h>
+#include <mach-bcmring/hardware.h>
+#include <mach-bcmring/csp/mm_io.h>
+#include <mach-bcmring/csp/chipcHw_def.h>
+#include <mach-bcmring/csp/chipcHw_inline.h>
 
 #include <cfg_global.h>
 
diff --git a/arch/arm/mach-bcmring/clock.c b/arch/arm/mach-bcmring/clock.c
index ad237a4..108845f 100644
--- a/arch/arm/mach-bcmring/clock.c
+++ b/arch/arm/mach-bcmring/clock.c
@@ -22,10 +22,10 @@
 #include <linux/clk.h>
 #include <linux/spinlock.h>
 #include <linux/clkdev.h>
-#include <mach/csp/hw_cfg.h>
-#include <mach/csp/chipcHw_def.h>
-#include <mach/csp/chipcHw_reg.h>
-#include <mach/csp/chipcHw_inline.h>
+#include <mach-bcmring/csp/hw_cfg.h>
+#include <mach-bcmring/csp/chipcHw_def.h>
+#include <mach-bcmring/csp/chipcHw_reg.h>
+#include <mach-bcmring/csp/chipcHw_inline.h>
 
 #include "clock.h"
 
diff --git a/arch/arm/mach-bcmring/clock.h b/arch/arm/mach-bcmring/clock.h
index 5e0b981..2e01614 100644
--- a/arch/arm/mach-bcmring/clock.h
+++ b/arch/arm/mach-bcmring/clock.h
@@ -11,7 +11,7 @@
 * license other than the GPL, without Broadcom's express prior written
 * consent.
 *****************************************************************************/
-#include <mach/csp/chipcHw_def.h>
+#include <mach-bcmring/csp/chipcHw_def.h>
 
 #define CLK_TYPE_PRIMARY         1     /* primary clock must NOT have a parent */
 #define CLK_TYPE_PLL1            2     /* PPL1 */
diff --git a/arch/arm/mach-bcmring/core.c b/arch/arm/mach-bcmring/core.c
index adbfb19..4d089b3 100644
--- a/arch/arm/mach-bcmring/core.c
+++ b/arch/arm/mach-bcmring/core.c
@@ -29,8 +29,8 @@
 #include <linux/amba/bus.h>
 #include <linux/clkdev.h>
 
-#include <mach/csp/mm_addr.h>
-#include <mach/hardware.h>
+#include <mach-bcmring/csp/mm_addr.h>
+#include <mach-bcmring/hardware.h>
 #include <linux/io.h>
 #include <asm/irq.h>
 #include <asm/hardware/arm_timer.h>
@@ -48,9 +48,9 @@
 #include "clock.h"
 
 #include <csp/secHw.h>
-#include <mach/csp/secHw_def.h>
-#include <mach/csp/chipcHw_inline.h>
-#include <mach/csp/tmrHw_reg.h>
+#include <mach-bcmring/csp/secHw_def.h>
+#include <mach-bcmring/csp/chipcHw_inline.h>
+#include <mach-bcmring/csp/tmrHw_reg.h>
 
 static AMBA_APB_DEVICE(uartA, "uartA", 0, MM_ADDR_IO_UARTA, {IRQ_UARTA}, NULL);
 static AMBA_APB_DEVICE(uartB, "uartB", 0, MM_ADDR_IO_UARTB, {IRQ_UARTB}, NULL);
diff --git a/arch/arm/mach-bcmring/csp/chipc/chipcHw.c b/arch/arm/mach-bcmring/csp/chipc/chipcHw.c
index 96273ff..270689d 100644
--- a/arch/arm/mach-bcmring/csp/chipc/chipcHw.c
+++ b/arch/arm/mach-bcmring/csp/chipc/chipcHw.c
@@ -30,8 +30,8 @@
 #include <csp/stdint.h>
 #include <csp/module.h>
 
-#include <mach/csp/chipcHw_def.h>
-#include <mach/csp/chipcHw_inline.h>
+#include <mach-bcmring/csp/chipcHw_def.h>
+#include <mach-bcmring/csp/chipcHw_inline.h>
 
 #include <csp/reg.h>
 #include <csp/delay.h>
diff --git a/arch/arm/mach-bcmring/csp/chipc/chipcHw_init.c b/arch/arm/mach-bcmring/csp/chipc/chipcHw_init.c
index 367df75..48e5977 100644
--- a/arch/arm/mach-bcmring/csp/chipc/chipcHw_init.c
+++ b/arch/arm/mach-bcmring/csp/chipc/chipcHw_init.c
@@ -30,8 +30,8 @@
 #include <csp/stdint.h>
 #include <csp/module.h>
 
-#include <mach/csp/chipcHw_def.h>
-#include <mach/csp/chipcHw_inline.h>
+#include <mach-bcmring/csp/chipcHw_def.h>
+#include <mach-bcmring/csp/chipcHw_inline.h>
 
 #include <csp/reg.h>
 #include <csp/delay.h>
diff --git a/arch/arm/mach-bcmring/csp/chipc/chipcHw_reset.c b/arch/arm/mach-bcmring/csp/chipc/chipcHw_reset.c
index 2671d88..0aee4f2 100644
--- a/arch/arm/mach-bcmring/csp/chipc/chipcHw_reset.c
+++ b/arch/arm/mach-bcmring/csp/chipc/chipcHw_reset.c
@@ -14,8 +14,8 @@
 
 /* ---- Include Files ---------------------------------------------------- */
 #include <csp/stdint.h>
-#include <mach/csp/chipcHw_def.h>
-#include <mach/csp/chipcHw_inline.h>
+#include <mach-bcmring/csp/chipcHw_def.h>
+#include <mach-bcmring/csp/chipcHw_inline.h>
 #include <csp/intcHw.h>
 #include <csp/cache.h>
 
diff --git a/arch/arm/mach-bcmring/csp/chipc/chipcHw_str.c b/arch/arm/mach-bcmring/csp/chipc/chipcHw_str.c
index 54ad964..d466c49 100644
--- a/arch/arm/mach-bcmring/csp/chipc/chipcHw_str.c
+++ b/arch/arm/mach-bcmring/csp/chipc/chipcHw_str.c
@@ -23,7 +23,7 @@
 
 /* ---- Include Files ---------------------------------------------------- */
 
-#include <mach/csp/chipcHw_inline.h>
+#include <mach-bcmring/csp/chipcHw_inline.h>
 
 /* ---- Private Constants and Types --------------------------------------- */
 
diff --git a/arch/arm/mach-bcmring/csp/dmac/dmacHw.c b/arch/arm/mach-bcmring/csp/dmac/dmacHw.c
index 6b9be2e..4a9675a 100644
--- a/arch/arm/mach-bcmring/csp/dmac/dmacHw.c
+++ b/arch/arm/mach-bcmring/csp/dmac/dmacHw.c
@@ -30,9 +30,9 @@
 #include <stddef.h>
 
 #include <csp/dmacHw.h>
-#include <mach/csp/dmacHw_reg.h>
-#include <mach/csp/dmacHw_priv.h>
-#include <mach/csp/chipcHw_inline.h>
+#include <mach-bcmring/csp/dmacHw_reg.h>
+#include <mach-bcmring/csp/dmacHw_priv.h>
+#include <mach-bcmring/csp/chipcHw_inline.h>
 
 /* ---- External Function Prototypes ------------------------------------- */
 
diff --git a/arch/arm/mach-bcmring/csp/dmac/dmacHw_extra.c b/arch/arm/mach-bcmring/csp/dmac/dmacHw_extra.c
index a1f3283..f4e883a 100644
--- a/arch/arm/mach-bcmring/csp/dmac/dmacHw_extra.c
+++ b/arch/arm/mach-bcmring/csp/dmac/dmacHw_extra.c
@@ -30,8 +30,8 @@
 #include <stddef.h>
 
 #include <csp/dmacHw.h>
-#include <mach/csp/dmacHw_reg.h>
-#include <mach/csp/dmacHw_priv.h>
+#include <mach-bcmring/csp/dmacHw_reg.h>
+#include <mach-bcmring/csp/dmacHw_priv.h>
 
 extern dmacHw_CBLK_t dmacHw_gCblk[dmacHw_MAX_CHANNEL_COUNT];   /* Declared in dmacHw.c */
 
diff --git a/arch/arm/mach-bcmring/csp/tmr/tmrHw.c b/arch/arm/mach-bcmring/csp/tmr/tmrHw.c
index 16225e4..220e314 100644
--- a/arch/arm/mach-bcmring/csp/tmr/tmrHw.c
+++ b/arch/arm/mach-bcmring/csp/tmr/tmrHw.c
@@ -30,7 +30,7 @@
 #include <csp/stdint.h>
 
 #include <csp/tmrHw.h>
-#include <mach/csp/tmrHw_reg.h>
+#include <mach-bcmring/csp/tmrHw_reg.h>
 
 #define tmrHw_ASSERT(a)                     if (!(a)) *(char *)0 = 0
 #define tmrHw_MILLISEC_PER_SEC              (1000)
diff --git a/arch/arm/mach-bcmring/dma.c b/arch/arm/mach-bcmring/dma.c
index e5fd241..e90cfdf 100644
--- a/arch/arm/mach-bcmring/dma.c
+++ b/arch/arm/mach-bcmring/dma.c
@@ -31,11 +31,11 @@
 #include <linux/proc_fs.h>
 #include <linux/slab.h>
 
-#include <mach/timer.h>
+#include <mach-bcmring/timer.h>
 
 #include <linux/pfn.h>
 #include <linux/atomic.h>
-#include <mach/dma.h>
+#include <mach-bcmring/dma.h>
 
 /* ---- Public Variables ------------------------------------------------- */
 
diff --git a/arch/arm/mach-bcmring/include/csp/dmacHw.h b/arch/arm/mach-bcmring/include/csp/dmacHw.h
index e6a1dc4..97d8a04 100644
--- a/arch/arm/mach-bcmring/include/csp/dmacHw.h
+++ b/arch/arm/mach-bcmring/include/csp/dmacHw.h
@@ -26,7 +26,7 @@
 #include <stddef.h>
 
 #include <csp/stdint.h>
-#include <mach/csp/dmacHw_reg.h>
+#include <mach-bcmring/csp/dmacHw_reg.h>
 
 /* Define DMA Channel ID using DMA controller number (m) and channel number (c).
 
diff --git a/arch/arm/mach-bcmring/include/csp/intcHw.h b/arch/arm/mach-bcmring/include/csp/intcHw.h
index 1c639c8..eb7d3ae 100644
--- a/arch/arm/mach-bcmring/include/csp/intcHw.h
+++ b/arch/arm/mach-bcmring/include/csp/intcHw.h
@@ -28,7 +28,7 @@
 #define _INTCHW_H
 
 /* ---- Include Files ---------------------------------------------------- */
-#include <mach/csp/intcHw_reg.h>
+#include <mach-bcmring/csp/intcHw_reg.h>
 
 /* ---- Public Constants and Types --------------------------------------- */
 /* ---- Public Variable Externs ------------------------------------------ */
diff --git a/arch/arm/mach-bcmring/include/csp/reg.h b/arch/arm/mach-bcmring/include/csp/reg.h
index 56654d2..23ac669 100644
--- a/arch/arm/mach-bcmring/include/csp/reg.h
+++ b/arch/arm/mach-bcmring/include/csp/reg.h
@@ -69,7 +69,7 @@
 /*  */
 
 #if defined(__KERNEL__) && !defined(STANDALONE)
-#include <mach/hardware.h>
+#include <mach-bcmring/hardware.h>
 #include <linux/interrupt.h>
 
 #define REG_LOCAL_IRQ_SAVE      HW_DECLARE_SPINLOCK(reg32) \
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/cap_inline.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/cap_inline.h
index 933ce68..4a1ecfa 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/cap_inline.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/cap_inline.h
@@ -16,7 +16,7 @@
 #define CAP_INLINE_H
 
 /* ---- Include Files ---------------------------------------------------- */
-#include <mach/csp/cap.h>
+#include <mach-bcmring/csp/cap.h>
 #include <cfg_global.h>
 
 /* ---- Public Constants and Types --------------------------------------- */
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_def.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_def.h
index 1619733..fe57b08 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_def.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_def.h
@@ -20,7 +20,7 @@
 #include <csp/stdint.h>
 #include <csp/errno.h>
 #include <csp/reg.h>
-#include <mach/csp/chipcHw_reg.h>
+#include <mach-bcmring/csp/chipcHw_reg.h>
 
 /* ---- Public Constants and Types ---------------------------------------- */
 
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_inline.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_inline.h
index 03238c2..108209c 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_inline.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_inline.h
@@ -19,8 +19,8 @@
 
 #include <csp/errno.h>
 #include <csp/reg.h>
-#include <mach/csp/chipcHw_reg.h>
-#include <mach/csp/chipcHw_def.h>
+#include <mach-bcmring/csp/chipcHw_reg.h>
+#include <mach-bcmring/csp/chipcHw_def.h>
 
 /* ---- Private Constants and Types --------------------------------------- */
 typedef enum {
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_reg.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_reg.h
index b162448..85b13d7 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_reg.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_reg.h
@@ -23,9 +23,9 @@
 #ifndef CHIPCHW_REG_H
 #define CHIPCHW_REG_H
 
-#include <mach/csp/mm_io.h>
+#include <mach-bcmring/csp/mm_io.h>
 #include <csp/reg.h>
-#include <mach/csp/ddrcReg.h>
+#include <mach-bcmring/csp/ddrcReg.h>
 
 #define chipcHw_BASE_ADDRESS    MM_IO_BASE_CHIPC
 
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/ddrcReg.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/ddrcReg.h
index f1b68e2..462c099 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/ddrcReg.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/ddrcReg.h
@@ -33,7 +33,7 @@ extern "C" {
 #include <csp/reg.h>
 #include <csp/stdint.h>
 
-#include <mach/csp/mm_io.h>
+#include <mach-bcmring/csp/mm_io.h>
 
 /* ---- Public Constants and Types --------------------------------------- */
 
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/dmacHw_reg.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/dmacHw_reg.h
index f1ecf96..1f5263f 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/dmacHw_reg.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/dmacHw_reg.h
@@ -25,7 +25,7 @@
 #define _DMACHW_REG_H
 
 #include <csp/stdint.h>
-#include <mach/csp/mm_io.h>
+#include <mach-bcmring/csp/mm_io.h>
 
 /* Data type for 64 bit little endian register */
 typedef struct {
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/hw_cfg.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/hw_cfg.h
index cfa91be..aad4e17 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/hw_cfg.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/hw_cfg.h
@@ -19,10 +19,10 @@
 /* ---- Include Files ---------------------------------------------------- */
 
 #include <cfg_global.h>
-#include <mach/csp/cap_inline.h>
+#include <mach-bcmring/csp/cap_inline.h>
 
 #if defined(__KERNEL__)
-#include <mach/memory_settings.h>
+#include <mach-bcmring/memory_settings.h>
 #else
 #include <hw_cfg.h>
 #endif
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/intcHw_reg.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/intcHw_reg.h
index 0aeb6a6..0770d7d 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/intcHw_reg.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/intcHw_reg.h
@@ -29,7 +29,7 @@
 /* ---- Include Files ---------------------------------------------------- */
 #include <csp/stdint.h>
 #include <csp/reg.h>
-#include <mach/csp/mm_io.h>
+#include <mach-bcmring/csp/mm_io.h>
 
 /* ---- Public Constants and Types --------------------------------------- */
 
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/mm_io.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/mm_io.h
index de92ec6..dcb1eae 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/mm_io.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/mm_io.h
@@ -27,7 +27,7 @@
 #define _MM_IO_H
 
 /* ---- Include Files ---------------------------------------------------- */
-#include <mach/csp/mm_addr.h>
+#include <mach-bcmring/csp/mm_addr.h>
 
 #if !defined(CSP_SIMULATION)
 #include <cfg_global.h>
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/secHw_def.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/secHw_def.h
index d15f5f3..18279ce 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/secHw_def.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/secHw_def.h
@@ -26,7 +26,7 @@
 #ifndef SECHW_DEF_H
 #define SECHW_DEF_H
 
-#include <mach/csp/mm_io.h>
+#include <mach-bcmring/csp/mm_io.h>
 
 /* Bit mask for various secure device */
 #define secHw_BLK_MASK_CHIP_CONTROL     0x00000001
@@ -95,6 +95,6 @@ static inline void secHw_setUnsecure(uint32_t mask    /*  mask of type secHw_BLK_MA
 /****************************************************************************/
 static inline uint32_t secHw_getStatus(void);
 
-#include <mach/csp/secHw_inline.h>
+#include <mach-bcmring/csp/secHw_inline.h>
 
 #endif /* SECHW_DEF_H */
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/tmrHw_reg.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/tmrHw_reg.h
index 3080ac7..e6069f5 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/tmrHw_reg.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/tmrHw_reg.h
@@ -23,8 +23,8 @@
 #ifndef _TMRHW_REG_H
 #define _TMRHW_REG_H
 
-#include <mach/csp/mm_io.h>
-#include <mach/csp/hw_cfg.h>
+#include <mach-bcmring/csp/mm_io.h>
+#include <mach-bcmring/csp/hw_cfg.h>
 /* Base address */
 #define tmrHw_MODULE_BASE_ADDR          MM_IO_BASE_TMR
 
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/dma.h b/arch/arm/mach-bcmring/include/mach-bcmring/dma.h
index 7254378..366caa3 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/dma.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/dma.h
@@ -28,7 +28,7 @@
 #include <linux/kernel.h>
 #include <linux/semaphore.h>
 #include <csp/dmacHw.h>
-#include <mach/timer.h>
+#include <mach-bcmring/timer.h>
 
 /* ---- Constants and Types ---------------------------------------------- */
 
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/entry-macro.S b/arch/arm/mach-bcmring/include/mach-bcmring/entry-macro.S
index 2f316f0..8967896 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/entry-macro.S
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/entry-macro.S
@@ -17,9 +17,9 @@
  * Low-level IRQ helper macros for BCMRing-based platforms
  *
  */
-#include <mach/irqs.h>
-#include <mach/hardware.h>
-#include <mach/csp/mm_io.h>
+#include <mach-bcmring/irqs.h>
+#include <mach-bcmring/hardware.h>
+#include <mach-bcmring/csp/mm_io.h>
 
                .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
                ldr     \base, =(MM_IO_BASE_INTC0)
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/hardware.h b/arch/arm/mach-bcmring/include/mach-bcmring/hardware.h
index 6ae20a6..c708efd 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/hardware.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/hardware.h
@@ -23,7 +23,7 @@
 
 #include <asm/sizes.h>
 #include <cfg_global.h>
-#include <mach/csp/mm_io.h>
+#include <mach-bcmring/csp/mm_io.h>
 
 /* Hardware addresses of major areas.
  *  *_START is the physical address
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/reg_nand.h b/arch/arm/mach-bcmring/include/mach-bcmring/reg_nand.h
index 387376f..ec773c2 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/reg_nand.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/reg_nand.h
@@ -31,7 +31,7 @@
 
 /* ---- Include Files ---------------------------------------------------- */
 #include <csp/reg.h>
-#include <mach/reg_umi.h>
+#include <mach-bcmring/reg_umi.h>
 
 /* ---- Constants and Types ---------------------------------------------- */
 
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/reg_umi.h b/arch/arm/mach-bcmring/include/mach-bcmring/reg_umi.h
index 0992842..f659cc1 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/reg_umi.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/reg_umi.h
@@ -31,7 +31,7 @@
 
 /* ---- Include Files ---------------------------------------------------- */
 #include <csp/reg.h>
-#include <mach/csp/mm_io.h>
+#include <mach-bcmring/csp/mm_io.h>
 
 /* ---- Constants and Types ---------------------------------------------- */
 
diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/uncompress.h b/arch/arm/mach-bcmring/include/mach-bcmring/uncompress.h
index 9c9821b..b11fb3f 100644
--- a/arch/arm/mach-bcmring/include/mach-bcmring/uncompress.h
+++ b/arch/arm/mach-bcmring/include/mach-bcmring/uncompress.h
@@ -11,7 +11,7 @@
 * license other than the GPL, without Broadcom's express prior written
 * consent.
 *****************************************************************************/
-#include <mach/csp/mm_addr.h>
+#include <mach-bcmring/csp/mm_addr.h>
 
 #define BCMRING_UART_0_DR (*(volatile unsigned int *)MM_ADDR_IO_UARTA)
 #define BCMRING_UART_0_FR (*(volatile unsigned int *)(MM_ADDR_IO_UARTA + 0x18))
diff --git a/arch/arm/mach-bcmring/irq.c b/arch/arm/mach-bcmring/irq.c
index 437fa68..aa88cac 100644
--- a/arch/arm/mach-bcmring/irq.c
+++ b/arch/arm/mach-bcmring/irq.c
@@ -22,12 +22,12 @@
 #include <linux/timer.h>
 #include <linux/io.h>
 
-#include <mach/hardware.h>
+#include <mach-bcmring/hardware.h>
 #include <asm/irq.h>
 
 #include <asm/mach/irq.h>
-#include <mach/csp/intcHw_reg.h>
-#include <mach/csp/mm_io.h>
+#include <mach-bcmring/csp/intcHw_reg.h>
+#include <mach-bcmring/csp/mm_io.h>
 
 static void bcmring_mask_irq0(struct irq_data *d)
 {
diff --git a/arch/arm/mach-bcmring/mm.c b/arch/arm/mach-bcmring/mm.c
index 1adec78e..411fa2b 100644
--- a/arch/arm/mach-bcmring/mm.c
+++ b/arch/arm/mach-bcmring/mm.c
@@ -17,8 +17,8 @@
 #include <asm/page.h>
 #include <asm/mach/map.h>
 
-#include <mach/hardware.h>
-#include <mach/csp/mm_io.h>
+#include <mach-bcmring/hardware.h>
+#include <mach-bcmring/csp/mm_io.h>
 
 #define IO_DESC(va, sz) { .virtual = va, \
        .pfn = __phys_to_pfn(HW_IO_VIRT_TO_PHYS(va)), \
diff --git a/arch/arm/mach-bcmring/timer.c b/arch/arm/mach-bcmring/timer.c
index af9c3d7..ba9754d 100644
--- a/arch/arm/mach-bcmring/timer.c
+++ b/arch/arm/mach-bcmring/timer.c
@@ -16,7 +16,7 @@
 #include <linux/module.h>
 #include <csp/tmrHw.h>
 
-#include <mach/timer.h>
+#include <mach-bcmring/timer.h>
 /* The core.c file initializes timers 1 and 3 as a linux clocksource. */
 /* The real time clock should probably be the real linux clocksource. */
 /* In the meantime, this file should agree with core.c as to the */
diff --git a/arch/arm/mach-clps711x/autcpu12.c b/arch/arm/mach-clps711x/autcpu12.c
index 3fb79a1..82ec281 100644
--- a/arch/arm/mach-clps711x/autcpu12.c
+++ b/arch/arm/mach-clps711x/autcpu12.c
@@ -24,7 +24,7 @@
 #include <linux/mm.h>
 #include <linux/io.h>
 
-#include <mach/hardware.h>
+#include <mach-clps711x/hardware.h>
 #include <asm/sizes.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
@@ -33,7 +33,7 @@
 #include <asm/page.h>
 
 #include <asm/mach/map.h>
-#include <mach/autcpu12.h>
+#include <mach-clps711x/autcpu12.h>
 
 #include "common.h"
 
diff --git a/arch/arm/mach-clps711x/cdb89712.c b/arch/arm/mach-clps711x/cdb89712.c
index c314f49..6693600 100644
--- a/arch/arm/mach-clps711x/cdb89712.c
+++ b/arch/arm/mach-clps711x/cdb89712.c
@@ -24,7 +24,7 @@
 #include <linux/mm.h>
 #include <linux/io.h>
 
-#include <mach/hardware.h>
+#include <mach-clps711x/hardware.h>
 #include <asm/pgtable.h>
 #include <asm/page.h>
 #include <asm/setup.h>
diff --git a/arch/arm/mach-clps711x/ceiva.c b/arch/arm/mach-clps711x/ceiva.c
index a70147e..177fb74 100644
--- a/arch/arm/mach-clps711x/ceiva.c
+++ b/arch/arm/mach-clps711x/ceiva.c
@@ -27,7 +27,7 @@
 
 #include <linux/kernel.h>
 
-#include <mach/hardware.h>
+#include <mach-clps711x/hardware.h>
 #include <asm/page.h>
 #include <asm/pgtable.h>
 #include <asm/sizes.h>
diff --git a/arch/arm/mach-clps711x/common.c b/arch/arm/mach-clps711x/common.c
index f15293b..5b4fa62 100644
--- a/arch/arm/mach-clps711x/common.c
+++ b/arch/arm/mach-clps711x/common.c
@@ -28,7 +28,7 @@
 #include <linux/sched.h>
 
 #include <asm/sizes.h>
-#include <mach/hardware.h>
+#include <mach-clps711x/hardware.h>
 #include <asm/irq.h>
 #include <asm/leds.h>
 #include <asm/pgtable.h>
diff --git a/arch/arm/mach-clps711x/edb7211-mm.c b/arch/arm/mach-clps711x/edb7211-mm.c
index 4372f06..6d3e94e 100644
--- a/arch/arm/mach-clps711x/edb7211-mm.c
+++ b/arch/arm/mach-clps711x/edb7211-mm.c
@@ -23,7 +23,7 @@
 #include <linux/init.h>
 #include <linux/bug.h>
 
-#include <mach/hardware.h>
+#include <mach-clps711x/hardware.h>
 #include <asm/page.h>
 #include <asm/sizes.h>
  
diff --git a/arch/arm/mach-clps711x/fortunet.c b/arch/arm/mach-clps711x/fortunet.c
index 3a3f0b7..12a1368 100644
--- a/arch/arm/mach-clps711x/fortunet.c
+++ b/arch/arm/mach-clps711x/fortunet.c
@@ -23,7 +23,7 @@
 #include <linux/init.h>
 #include <linux/initrd.h>
 
-#include <mach/hardware.h>
+#include <mach-clps711x/hardware.h>
 #include <asm/setup.h>
 #include <asm/mach-types.h>
 
diff --git a/arch/arm/mach-clps711x/include/mach-clps711x/debug-macro.S b/arch/arm/mach-clps711x/include/mach-clps711x/debug-macro.S
index 118b3d9..52bd3ef 100644
--- a/arch/arm/mach-clps711x/include/mach-clps711x/debug-macro.S
+++ b/arch/arm/mach-clps711x/include/mach-clps711x/debug-macro.S
@@ -11,7 +11,7 @@
  *
 */
 
-#include <mach/hardware.h>
+#include <mach-clps711x/hardware.h>
 
                .macro  addruart, rp, rv, tmp
 #ifndef CONFIG_DEBUG_CLPS711X_UART2
diff --git a/arch/arm/mach-clps711x/include/mach-clps711x/entry-macro.S b/arch/arm/mach-clps711x/include/mach-clps711x/entry-macro.S
index 56e5c2c..889521e 100644
--- a/arch/arm/mach-clps711x/include/mach-clps711x/entry-macro.S
+++ b/arch/arm/mach-clps711x/include/mach-clps711x/entry-macro.S
@@ -7,7 +7,7 @@
  * License version 2. This program is licensed "as is" without any
  * warranty of any kind, whether express or implied.
  */
-#include <mach/hardware.h>
+#include <mach-clps711x/hardware.h>
 
                .macro  get_irqnr_preamble, base, tmp
                .endm
diff --git a/arch/arm/mach-clps711x/include/mach-clps711x/hardware.h b/arch/arm/mach-clps711x/include/mach-clps711x/hardware.h
index 13a64fc..29f3409 100644
--- a/arch/arm/mach-clps711x/include/mach-clps711x/hardware.h
+++ b/arch/arm/mach-clps711x/include/mach-clps711x/hardware.h
@@ -22,7 +22,7 @@
 #ifndef __MACH_HARDWARE_H
 #define __MACH_HARDWARE_H
 
-#include <mach/clps711x.h>
+#include <mach-clps711x/clps711x.h>
 
 #define CLPS711X_VIRT_BASE     IOMEM(0xff000000)
 
---
Intentionally cut off for review. If you managed to read this far, you
get the idea. See the rest at
http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=commit;h=d59d6b49ed5287dd0131acda9428fdc0bb0a7365


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-22 12:53 [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
                   ` (2 preceding siblings ...)
  2012-08-22 13:00 ` [PATCH 3/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
@ 2012-08-22 13:01 ` Arnd Bergmann
  2012-08-22 15:33   ` Nicolas Pitre
                     ` (2 more replies)
  2012-08-22 15:23 ` [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Nicolas Pitre
                   ` (3 subsequent siblings)
  7 siblings, 3 replies; 28+ messages in thread
From: Arnd Bergmann @ 2012-08-22 13:01 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-kernel, linaro-kernel

These are lots of device drivers that include machine
specific header files from ARM platforms and that are
not easily scriptable. The changes have been found through
manual inspection and should cause no visible changes
because of the build script that maps the old names to the
new ones.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/char/ds1620.c                                 |    2 +-
 drivers/char/hw_random/ixp4xx-rng.c                   |    2 +-
 drivers/cpufreq/db8500-cpufreq.c                      |    2 +-
 drivers/cpufreq/exynos-cpufreq.c                      |    2 +-
 drivers/cpufreq/exynos4210-cpufreq.c                  |    4 ++--
 drivers/cpufreq/exynos4x12-cpufreq.c                  |    4 ++--
 drivers/cpufreq/exynos5250-cpufreq.c                  |    6 +++---
 drivers/cpufreq/omap-cpufreq.c                        |    2 +-
 drivers/cpufreq/s5pv210-cpufreq.c                     |    2 +-
 drivers/crypto/omap-sham.c                            |    2 +-
 drivers/crypto/tegra-aes.c                            |    2 +-
 drivers/devfreq/exynos4_bus.c                         |    2 +-
 drivers/dma/ep93xx_dma.c                              |    2 +-
 drivers/dma/imx-dma.c                                 |    4 ++--
 drivers/gpio/gpio-omap.c                              |    4 ++--
 drivers/gpio/gpio-pxa.c                               |    8 +++++++-
 drivers/i2c/busses/i2c-acorn.c                        |    2 +-
 drivers/i2c/busses/i2c-davinci.c                      |    4 ++--
 drivers/i2c/busses/i2c-imx.c                          |    4 ++--
 drivers/i2c/busses/i2c-nuc900.c                       |    4 ++--
 drivers/i2c/busses/i2c-tegra.c                        |    2 +-
 drivers/input/misc/ixp4xx-beeper.c                    |    2 +-
 drivers/input/mouse/rpcmouse.c                        |    2 +-
 drivers/input/serio/rpckbd.c                          |    2 +-
 drivers/input/touchscreen/atmel_tsadcc.c              |    4 ++--
 drivers/input/touchscreen/h3600_ts_input.c            |    4 ++--
 drivers/input/touchscreen/mainstone-wm97xx.c          |    2 +-
 drivers/input/touchscreen/zylonite-wm97xx.c           |    6 +++---
 drivers/leds/leds-fsg.c                               |    2 +-
 drivers/media/video/pxa_camera.c                      |    4 ++--
 drivers/mfd/dbx500-prcmu-regs.h                       |    2 +-
 drivers/misc/ep93xx_pwm.c                             |    2 +-
 drivers/misc/spear13xx_pcie_gadget.c                  |    4 ++--
 drivers/mmc/host/at91_mci.c                           |    4 ++--
 drivers/mmc/host/mxcmmc.c                             |    6 +++---
 drivers/mmc/host/omap_hsmmc.c                         |    2 +-
 drivers/mmc/host/pxamci.c                             |    6 +++---
 drivers/mtd/maps/cdb89712.c                           |    2 +-
 drivers/mtd/maps/h720x-flash.c                        |    2 +-
 drivers/mtd/maps/pxa2xx-flash.c                       |    2 +-
 drivers/mtd/maps/sa1100-flash.c                       |    2 +-
 drivers/mtd/nand/ams-delta.c                          |    2 +-
 drivers/mtd/nand/sharpsl.c                            |    2 +-
 drivers/net/can/at91_can.c                            |    2 +-
 drivers/net/ethernet/amd/am79c961a.c                  |    2 +-
 drivers/net/ethernet/cirrus/ep93xx_eth.c              |    2 +-
 drivers/net/ethernet/nxp/lpc_eth.c                    |    6 +++---
 drivers/net/ethernet/smsc/smc911x.h                   |    2 +-
 drivers/net/ethernet/smsc/smc91x.h                    |    2 +-
 drivers/net/irda/ep7211-sir.c                         |    2 +-
 drivers/net/irda/pxaficp_ir.c                         |    8 ++++----
 drivers/net/irda/sa1100_ir.c                          |    2 +-
 drivers/pcmcia/omap_cf.c                              |    2 +-
 drivers/pcmcia/pxa2xx_cm_x2xx.c                       |    2 +-
 drivers/pcmcia/sa1111_jornada720.c                    |    2 +-
 drivers/pcmcia/sa11xx_base.c                          |    2 +-
 drivers/power/avs/smartreflex.c                       |    1 +
 drivers/pwm/pwm-imx.c                                 |    2 +-
 drivers/rtc/rtc-mxc.c                                 |    2 +-
 drivers/rtc/rtc-pxa.c                                 |    2 +-
 drivers/rtc/rtc-stmp3xxx.c                            |    2 +-
 drivers/scsi/arm/acornscsi-io.S                       |    2 +-
 drivers/spi/spi-imx.c                                 |    2 +-
 drivers/spi/spi-omap-uwire.c                          |    2 +-
 drivers/spi/spi-s3c24xx-fiq.S                         |    4 ++--
 drivers/spi/spi-tegra.c                               |    2 +-
 drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c |    4 ++--
 drivers/tty/serial/21285.c                            |    2 +-
 drivers/tty/serial/atmel_serial.c                     |    6 ++++--
 drivers/tty/serial/clps711x.c                         |    2 +-
 drivers/tty/serial/msm_serial_hs.c                    |    4 ++--
 drivers/tty/serial/sa1100.c                           |    4 ++--
 drivers/tty/serial/serial_ks8695.c                    |    4 ++--
 drivers/uio/uio_pruss.c                               |    2 +-
 drivers/usb/gadget/fsl_mxc_udc.c                      |    2 +-
 drivers/usb/gadget/imx_udc.c                          |    4 ++--
 drivers/usb/gadget/pxa27x_udc.c                       |    4 ++--
 drivers/usb/host/ohci-at91.c                          |    6 +++---
 drivers/usb/host/ohci-exynos.c                        |    2 +-
 drivers/usb/musb/davinci.c                            |    4 ++--
 drivers/usb/musb/ux500_dma.c                          |    2 +-
 drivers/usb/otg/msm_otg.c                             |    2 +-
 drivers/video/backlight/omap1_bl.c                    |    2 +-
 drivers/video/ep93xx-fb.c                             |    2 +-
 drivers/video/nuc900fb.h                              |    4 ++--
 drivers/video/pnx4008/dum.h                           |    2 +-
 drivers/w1/masters/omap_hdq.c                         |    2 +-
 drivers/watchdog/imx2_wdt.c                           |    2 +-
 drivers/watchdog/ixp4xx_wdt.c                         |    2 +-
 drivers/watchdog/ks8695_wdt.c                         |    4 ++--
 drivers/watchdog/wdt285.c                             |    2 +-
 91 files changed, 137 insertions(+), 128 deletions(-)

diff --git a/drivers/char/ds1620.c b/drivers/char/ds1620.c
index aab9605..b4c21b1 100644
--- a/drivers/char/ds1620.c
+++ b/drivers/char/ds1620.c
@@ -10,7 +10,7 @@
 #include <linux/init.h>
 #include <linux/mutex.h>
 
-#include <mach/hardware.h>
+#include <mach-footbridge/hardware.h>
 #include <asm/mach-types.h>
 #include <asm/uaccess.h>
 #include <asm/therm.h>
diff --git a/drivers/char/hw_random/ixp4xx-rng.c b/drivers/char/hw_random/ixp4xx-rng.c
index 263567f..42889bb 100644
--- a/drivers/char/hw_random/ixp4xx-rng.c
+++ b/drivers/char/hw_random/ixp4xx-rng.c
@@ -23,7 +23,7 @@
 #include <linux/hw_random.h>
 
 #include <asm/io.h>
-#include <mach/hardware.h>
+#include <mach-ixp4xx/hardware.h>
 
 
 static int ixp4xx_rng_data_read(struct hwrng *rng, u32 *buffer)
diff --git a/drivers/cpufreq/db8500-cpufreq.c b/drivers/cpufreq/db8500-cpufreq.c
index 74b830b..c771360 100644
--- a/drivers/cpufreq/db8500-cpufreq.c
+++ b/drivers/cpufreq/db8500-cpufreq.c
@@ -13,7 +13,7 @@
 #include <linux/delay.h>
 #include <linux/slab.h>
 #include <linux/mfd/dbx500-prcmu.h>
-#include <mach/id.h>
+#include <mach-ux500/id.h>
 
 static struct cpufreq_frequency_table freq_table[] = {
        [0] = {
diff --git a/drivers/cpufreq/exynos-cpufreq.c b/drivers/cpufreq/exynos-cpufreq.c
index 9382a6b..637782b 100644
--- a/drivers/cpufreq/exynos-cpufreq.c
+++ b/drivers/cpufreq/exynos-cpufreq.c
@@ -18,7 +18,7 @@
 #include <linux/cpufreq.h>
 #include <linux/suspend.h>
 
-#include <mach/cpufreq.h>
+#include <mach-exynos/cpufreq.h>
 
 #include <plat-samsung/cpu.h>
 
diff --git a/drivers/cpufreq/exynos4210-cpufreq.c b/drivers/cpufreq/exynos4210-cpufreq.c
index fb148fa..33d3d4c 100644
--- a/drivers/cpufreq/exynos4210-cpufreq.c
+++ b/drivers/cpufreq/exynos4210-cpufreq.c
@@ -17,8 +17,8 @@
 #include <linux/slab.h>
 #include <linux/cpufreq.h>
 
-#include <mach/regs-clock.h>
-#include <mach/cpufreq.h>
+#include <mach-exynos/regs-clock.h>
+#include <mach-exynos/cpufreq.h>
 
 #define CPUFREQ_LEVEL_END      L5
 
diff --git a/drivers/cpufreq/exynos4x12-cpufreq.c b/drivers/cpufreq/exynos4x12-cpufreq.c
index 8c5a7af..e7aa354 100644
--- a/drivers/cpufreq/exynos4x12-cpufreq.c
+++ b/drivers/cpufreq/exynos4x12-cpufreq.c
@@ -17,8 +17,8 @@
 #include <linux/slab.h>
 #include <linux/cpufreq.h>
 
-#include <mach/regs-clock.h>
-#include <mach/cpufreq.h>
+#include <mach-exynos/regs-clock.h>
+#include <mach-exynos/cpufreq.h>
 
 #define CPUFREQ_LEVEL_END      (L13 + 1)
 
diff --git a/drivers/cpufreq/exynos5250-cpufreq.c b/drivers/cpufreq/exynos5250-cpufreq.c
index e64c253..74950a3 100644
--- a/drivers/cpufreq/exynos5250-cpufreq.c
+++ b/drivers/cpufreq/exynos5250-cpufreq.c
@@ -17,9 +17,9 @@
 #include <linux/slab.h>
 #include <linux/cpufreq.h>
 
-#include <mach/map.h>
-#include <mach/regs-clock.h>
-#include <mach/cpufreq.h>
+#include <mach-exynos/map.h>
+#include <mach-exynos/regs-clock.h>
+#include <mach-exynos/cpufreq.h>
 
 #define CPUFREQ_LEVEL_END      (L15 + 1)
 
diff --git a/drivers/cpufreq/omap-cpufreq.c b/drivers/cpufreq/omap-cpufreq.c
index 4449907..45b2331 100644
--- a/drivers/cpufreq/omap-cpufreq.c
+++ b/drivers/cpufreq/omap-cpufreq.c
@@ -35,7 +35,7 @@
 #include <plat-omap/common.h>
 #include <plat-omap/omap_device.h>
 
-#include <mach/hardware.h>
+#include <mach-omap2/hardware.h>
 
 /* OPP tolerance in percentage */
 #define        OPP_TOLERANCE   4
diff --git a/drivers/cpufreq/s5pv210-cpufreq.c b/drivers/cpufreq/s5pv210-cpufreq.c
index a484aae..04dfc10 100644
--- a/drivers/cpufreq/s5pv210-cpufreq.c
+++ b/drivers/cpufreq/s5pv210-cpufreq.c
@@ -20,7 +20,7 @@
 #include <linux/regulator/consumer.h>
 #include <linux/suspend.h>
 
-#include <mach/map.h>
+#include <mach-s5pv210/map.h>
 #include <mach/regs-clock.h>
 
 static struct clk *cpu_clk;
diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c
index 737afed..98e877d 100644
--- a/drivers/crypto/omap-sham.c
+++ b/drivers/crypto/omap-sham.c
@@ -39,7 +39,7 @@
 
 #include <plat-omap/cpu.h>
 #include <plat-omap/dma.h>
-#include <mach/irqs.h>
+#include <mach-omap2/irqs.h>
 
 #define SHA_REG_DIGEST(x)              (0x00 + ((x) * 0x04))
 #define SHA_REG_DIN(x)                 (0x1C + ((x) * 0x04))
diff --git a/drivers/crypto/tegra-aes.c b/drivers/crypto/tegra-aes.c
index ac236f6..971bd27 100644
--- a/drivers/crypto/tegra-aes.c
+++ b/drivers/crypto/tegra-aes.c
@@ -41,7 +41,7 @@
 #include <linux/completion.h>
 #include <linux/workqueue.h>
 
-#include <mach/clk.h>
+#include <mach-tegra/clk.h>
 
 #include <crypto/scatterwalk.h>
 #include <crypto/aes.h>
diff --git a/drivers/devfreq/exynos4_bus.c b/drivers/devfreq/exynos4_bus.c
index c8af6d4..e8d7ce8 100644
--- a/drivers/devfreq/exynos4_bus.c
+++ b/drivers/devfreq/exynos4_bus.c
@@ -30,7 +30,7 @@
 extern unsigned int exynos_result_of_asv;
 #endif
 
-#include <mach/regs-clock.h>
+#include <mach-exynos/regs-clock.h>
 
 #include <plat-samsung/map-s5p.h>
 
diff --git a/drivers/dma/ep93xx_dma.c b/drivers/dma/ep93xx_dma.c
index c64917e..09d7112 100644
--- a/drivers/dma/ep93xx_dma.c
+++ b/drivers/dma/ep93xx_dma.c
@@ -26,7 +26,7 @@
 #include <linux/platform_device.h>
 #include <linux/slab.h>
 
-#include <mach/dma.h>
+#include <mach-ep93xx/dma.h>
 
 #include "dmaengine.h"
 
diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c
index fcfeb3c..0597cbc 100644
--- a/drivers/dma/imx-dma.c
+++ b/drivers/dma/imx-dma.c
@@ -28,8 +28,8 @@
 #include <linux/module.h>
 
 #include <asm/irq.h>
-#include <mach/dma.h>
-#include <mach/hardware.h>
+#include <mach-imx/dma.h>
+#include <mach-imx/hardware.h>
 
 #include "dmaengine.h"
 #define IMXDMA_MAX_CHAN_DESCRIPTORS    16
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index e6efd77..45592ca 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -26,9 +26,9 @@
 #include <linux/of_device.h>
 #include <linux/irqdomain.h>
 
-#include <mach/hardware.h>
+#include <plat-omap/hardware.h>
 #include <asm/irq.h>
-#include <mach/irqs.h>
+#include <plat-omap/irqs.h>
 #include <asm/gpio.h>
 #include <asm/mach/irq.h>
 
diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c
index 58a6a63..c6440a5 100644
--- a/drivers/gpio/gpio-pxa.c
+++ b/drivers/gpio/gpio-pxa.c
@@ -26,7 +26,13 @@
 #include <linux/syscore_ops.h>
 #include <linux/slab.h>
 
-#include <mach/irqs.h>
+#ifdef CONFIG_ARCH_PXA
+#include <mach-pxa/irqs.h>
+#endif
+
+#ifdef CONFIG_ARCH_MMP
+#include <mach-mmp/irqs.h>
+#endif
 
 /*
  * We handle the GPIOs by banks, each bank covers up to 32 GPIOs with
diff --git a/drivers/i2c/busses/i2c-acorn.c b/drivers/i2c/busses/i2c-acorn.c
index ed9f48d..4d0f7797 100644
--- a/drivers/i2c/busses/i2c-acorn.c
+++ b/drivers/i2c/busses/i2c-acorn.c
@@ -17,7 +17,7 @@
 #include <linux/i2c-algo-bit.h>
 #include <linux/io.h>
 
-#include <mach/hardware.h>
+#include <mach-rpc/hardware.h>
 #include <asm/hardware/ioc.h>
 
 #define FORCE_ONES     0xdc
diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
index 79b4bcb..d163b73 100644
--- a/drivers/i2c/busses/i2c-davinci.c
+++ b/drivers/i2c/busses/i2c-davinci.c
@@ -39,8 +39,8 @@
 #include <linux/cpufreq.h>
 #include <linux/gpio.h>
 
-#include <mach/hardware.h>
-#include <mach/i2c.h>
+#include <mach-davinci/hardware.h>
+#include <mach-davinci/i2c.h>
 
 /* ----- global defines ----------------------------------------------- */
 
diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
index 0722f86..a8ffc39 100644
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -53,8 +53,8 @@
 #include <linux/of_i2c.h>
 #include <linux/pinctrl/consumer.h>
 
-#include <mach/hardware.h>
-#include <mach/i2c.h>
+#include <mach-imx/hardware.h>
+#include <mach-imx/i2c.h>
 
 /** Defines ********************************************************************
 *******************************************************************************/
diff --git a/drivers/i2c/busses/i2c-nuc900.c b/drivers/i2c/busses/i2c-nuc900.c
index a26dfb8..cfe6803 100644
--- a/drivers/i2c/busses/i2c-nuc900.c
+++ b/drivers/i2c/busses/i2c-nuc900.c
@@ -28,8 +28,8 @@
 #include <linux/slab.h>
 #include <linux/io.h>
 
-#include <mach/mfp.h>
-#include <mach/i2c.h>
+#include <mach-w90x900/mfp.h>
+#include <mach-w90x900/i2c.h>
 
 /* nuc900 i2c registers offset */
 
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index 66eb53f..8712414 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -31,7 +31,7 @@
 
 #include <asm/unaligned.h>
 
-#include <mach/clk.h>
+#include <mach-tegra/clk.h>
 
 #define TEGRA_I2C_TIMEOUT (msecs_to_jiffies(1000))
 #define BYTES_PER_FIFO_WORD 4
diff --git a/drivers/input/misc/ixp4xx-beeper.c b/drivers/input/misc/ixp4xx-beeper.c
index 50e2830..9b644e1 100644
--- a/drivers/input/misc/ixp4xx-beeper.c
+++ b/drivers/input/misc/ixp4xx-beeper.c
@@ -20,7 +20,7 @@
 #include <linux/delay.h>
 #include <linux/platform_device.h>
 #include <linux/interrupt.h>
-#include <mach/hardware.h>
+#include <mach-ixp4xx/hardware.h>
 
 MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
 MODULE_DESCRIPTION("ixp4xx beeper driver");
diff --git a/drivers/input/mouse/rpcmouse.c b/drivers/input/mouse/rpcmouse.c
index 272dedd..41c1fa4 100644
--- a/drivers/input/mouse/rpcmouse.c
+++ b/drivers/input/mouse/rpcmouse.c
@@ -24,7 +24,7 @@
 #include <linux/input.h>
 #include <linux/io.h>
 
-#include <mach/hardware.h>
+#include <mach-rpc/hardware.h>
 #include <asm/irq.h>
 #include <asm/hardware/iomd.h>
 
diff --git a/drivers/input/serio/rpckbd.c b/drivers/input/serio/rpckbd.c
index 2af5df6..5bee7e0 100644
--- a/drivers/input/serio/rpckbd.c
+++ b/drivers/input/serio/rpckbd.c
@@ -36,7 +36,7 @@
 #include <linux/io.h>
 #include <linux/slab.h>
 
-#include <mach/hardware.h>
+#include <mach-rpc/hardware.h>
 #include <asm/hardware/iomd.h>
 
 MODULE_AUTHOR("Vojtech Pavlik, Russell King");
diff --git a/drivers/input/touchscreen/atmel_tsadcc.c b/drivers/input/touchscreen/atmel_tsadcc.c
index 201b2d2..00f8aac 100644
--- a/drivers/input/touchscreen/atmel_tsadcc.c
+++ b/drivers/input/touchscreen/atmel_tsadcc.c
@@ -22,8 +22,8 @@
 #include <linux/clk.h>
 #include <linux/platform_device.h>
 #include <linux/io.h>
-#include <mach/board.h>
-#include <mach/cpu.h>
+#include <mach-at91/board.h>
+#include <mach-at91/cpu.h>
 
 /* Register definitions based on AT91SAM9RL64 preliminary draft datasheet */
 
diff --git a/drivers/input/touchscreen/h3600_ts_input.c b/drivers/input/touchscreen/h3600_ts_input.c
index b9e8686..39a0ce5 100644
--- a/drivers/input/touchscreen/h3600_ts_input.c
+++ b/drivers/input/touchscreen/h3600_ts_input.c
@@ -39,8 +39,8 @@
 #include <linux/delay.h>
 
 /* SA1100 serial defines */
-#include <mach/hardware.h>
-#include <mach/irqs.h>
+#include <mach-sa1100/hardware.h>
+#include <mach-sa1100/irqs.h>
 
 #define DRIVER_DESC    "H3600 touchscreen driver"
 
diff --git a/drivers/input/touchscreen/mainstone-wm97xx.c b/drivers/input/touchscreen/mainstone-wm97xx.c
index 7d2b213..997e627 100644
--- a/drivers/input/touchscreen/mainstone-wm97xx.c
+++ b/drivers/input/touchscreen/mainstone-wm97xx.c
@@ -33,7 +33,7 @@
 #include <linux/io.h>
 #include <linux/gpio.h>
 
-#include <mach/regs-ac97.h>
+#include <mach-pxa/regs-ac97.h>
 
 #include <asm/mach-types.h>
 
diff --git a/drivers/input/touchscreen/zylonite-wm97xx.c b/drivers/input/touchscreen/zylonite-wm97xx.c
index bf0869a7..be59125 100644
--- a/drivers/input/touchscreen/zylonite-wm97xx.c
+++ b/drivers/input/touchscreen/zylonite-wm97xx.c
@@ -28,9 +28,9 @@
 #include <linux/io.h>
 #include <linux/wm97xx.h>
 
-#include <mach/hardware.h>
-#include <mach/mfp.h>
-#include <mach/regs-ac97.h>
+#include <mach-pxa/hardware.h>
+#include <mach-pxa/mfp.h>
+#include <mach-pxa/regs-ac97.h>
 
 struct continuous {
        u16 id;    /* codec id */
diff --git a/drivers/leds/leds-fsg.c b/drivers/leds/leds-fsg.c
index b9053fa..683b01d 100644
--- a/drivers/leds/leds-fsg.c
+++ b/drivers/leds/leds-fsg.c
@@ -20,7 +20,7 @@
 #include <linux/platform_device.h>
 #include <linux/leds.h>
 #include <linux/module.h>
-#include <mach/hardware.h>
+#include <mach-ixp4xx/hardware.h>
 #include <asm/io.h>
 
 #define FSG_LED_WLAN_BIT       0
diff --git a/drivers/media/video/pxa_camera.c b/drivers/media/video/pxa_camera.c
index 9c21e01..0d76655 100644
--- a/drivers/media/video/pxa_camera.c
+++ b/drivers/media/video/pxa_camera.c
@@ -36,8 +36,8 @@
 
 #include <linux/videodev2.h>
 
-#include <mach/dma.h>
-#include <mach/camera.h>
+#include <mach-pxa/dma.h>
+#include <mach-pxa/camera.h>
 
 #define PXA_CAM_VERSION "0.0.6"
 #define PXA_CAM_DRV_NAME "pxa27x-camera"
diff --git a/drivers/mfd/dbx500-prcmu-regs.h b/drivers/mfd/dbx500-prcmu-regs.h
index 23108a6..7de55f8 100644
--- a/drivers/mfd/dbx500-prcmu-regs.h
+++ b/drivers/mfd/dbx500-prcmu-regs.h
@@ -13,7 +13,7 @@
 #ifndef __DB8500_PRCMU_REGS_H
 #define __DB8500_PRCMU_REGS_H
 
-#include <mach/hardware.h>
+#include <mach-ux500/hardware.h>
 
 #define BITS(_start, _end) ((BIT(_end) - BIT(_start)) + BIT(_end))
 
diff --git a/drivers/misc/ep93xx_pwm.c b/drivers/misc/ep93xx_pwm.c
index 16d7179..a996270 100644
--- a/drivers/misc/ep93xx_pwm.c
+++ b/drivers/misc/ep93xx_pwm.c
@@ -24,7 +24,7 @@
 #include <linux/err.h>
 #include <linux/io.h>
 
-#include <mach/platform.h>
+#include <mach-ep93xx/platform.h>
 
 #define EP93XX_PWMx_TERM_COUNT 0x00
 #define EP93XX_PWMx_DUTY_CYCLE 0x04
diff --git a/drivers/misc/spear13xx_pcie_gadget.c b/drivers/misc/spear13xx_pcie_gadget.c
index 123ed98..0a32042 100644
--- a/drivers/misc/spear13xx_pcie_gadget.c
+++ b/drivers/misc/spear13xx_pcie_gadget.c
@@ -20,8 +20,8 @@
 #include <linux/platform_device.h>
 #include <linux/pci_regs.h>
 #include <linux/configfs.h>
-#include <mach/pcie.h>
-#include <mach/misc_regs.h>
+#include <mach-spear13xx/pcie.h>
+#include <mach-spear13xx/misc_regs.h>
 
 #define IN0_MEM_SIZE   (200 * 1024 * 1024 - 1)
 /* In current implementation address translation is done using IN0 only.
diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c
index efdb81d..ec7f665 100644
--- a/drivers/mmc/host/at91_mci.c
+++ b/drivers/mmc/host/at91_mci.c
@@ -75,8 +75,8 @@
 #include <asm/irq.h>
 #include <asm/gpio.h>
 
-#include <mach/board.h>
-#include <mach/cpu.h>
+#include <mach-at91/board.h>
+#include <mach-at91/cpu.h>
 
 #include "at91_mci.h"
 
diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c
index 28ed52d..dec1bb1 100644
--- a/drivers/mmc/host/mxcmmc.c
+++ b/drivers/mmc/host/mxcmmc.c
@@ -38,10 +38,10 @@
 #include <asm/dma.h>
 #include <asm/irq.h>
 #include <asm/sizes.h>
-#include <mach/mmc.h>
+#include <mach-imx/mmc.h>
 
-#include <mach/dma.h>
-#include <mach/hardware.h>
+#include <mach-imx/dma.h>
+#include <mach-imx/hardware.h>
 
 #define DRIVER_NAME "mxc-mmc"
 
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 198066c..194bc04 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -39,7 +39,7 @@
 #include <linux/gpio.h>
 #include <linux/regulator/consumer.h>
 #include <linux/pm_runtime.h>
-#include <mach/hardware.h>
+#include <plat-omap/hardware.h>
 #include <plat-omap/board.h>
 #include <plat-omap/mmc.h>
 #include <plat-omap/cpu.h>
diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
index cb2dc0e..8b01058 100644
--- a/drivers/mmc/host/pxamci.c
+++ b/drivers/mmc/host/pxamci.c
@@ -33,9 +33,9 @@
 
 #include <asm/sizes.h>
 
-#include <mach/hardware.h>
-#include <mach/dma.h>
-#include <mach/mmc.h>
+#include <mach-pxa/hardware.h>
+#include <mach-pxa/dma.h>
+#include <mach-pxa/mmc.h>
 
 #include "pxamci.h"
 
diff --git a/drivers/mtd/maps/cdb89712.c b/drivers/mtd/maps/cdb89712.c
index c29cbf8..c224dd4 100644
--- a/drivers/mtd/maps/cdb89712.c
+++ b/drivers/mtd/maps/cdb89712.c
@@ -9,7 +9,7 @@
 #include <linux/ioport.h>
 #include <linux/init.h>
 #include <asm/io.h>
-#include <mach/hardware.h>
+#include <mach-clps711x/hardware.h>
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/map.h>
 #include <linux/mtd/partitions.h>
diff --git a/drivers/mtd/maps/h720x-flash.c b/drivers/mtd/maps/h720x-flash.c
index 8ed6cb4..3206fef 100644
--- a/drivers/mtd/maps/h720x-flash.c
+++ b/drivers/mtd/maps/h720x-flash.c
@@ -16,7 +16,7 @@
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/map.h>
 #include <linux/mtd/partitions.h>
-#include <mach/hardware.h>
+#include <mach-h720x/hardware.h>
 #include <asm/io.h>
 
 static struct mtd_info *mymtd;
diff --git a/drivers/mtd/maps/pxa2xx-flash.c b/drivers/mtd/maps/pxa2xx-flash.c
index 81884c2..8a82445 100644
--- a/drivers/mtd/maps/pxa2xx-flash.c
+++ b/drivers/mtd/maps/pxa2xx-flash.c
@@ -20,7 +20,7 @@
 #include <linux/mtd/partitions.h>
 
 #include <asm/io.h>
-#include <mach/hardware.h>
+#include <mach-pxa/hardware.h>
 
 #include <asm/mach/flash.h>
 
diff --git a/drivers/mtd/maps/sa1100-flash.c b/drivers/mtd/maps/sa1100-flash.c
index a675bdb..2f234e6 100644
--- a/drivers/mtd/maps/sa1100-flash.c
+++ b/drivers/mtd/maps/sa1100-flash.c
@@ -19,7 +19,7 @@
 #include <linux/mtd/partitions.h>
 #include <linux/mtd/concat.h>
 
-#include <mach/hardware.h>
+#include <mach-sa1100/hardware.h>
 #include <asm/sizes.h>
 #include <asm/mach/flash.h>
 
diff --git a/drivers/mtd/nand/ams-delta.c b/drivers/mtd/nand/ams-delta.c
index 1386f6b..7a921a1 100644
--- a/drivers/mtd/nand/ams-delta.c
+++ b/drivers/mtd/nand/ams-delta.c
@@ -24,7 +24,7 @@
 #include <linux/mtd/nand.h>
 #include <linux/mtd/partitions.h>
 #include <asm/io.h>
-#include <mach/hardware.h>
+#include <mach-omap1/hardware.h>
 #include <asm/sizes.h>
 #include <linux/gpio.h>
 #include <plat-omap/board-ams-delta.h>
diff --git a/drivers/mtd/nand/sharpsl.c b/drivers/mtd/nand/sharpsl.c
index 3421e37..866aaac 100644
--- a/drivers/mtd/nand/sharpsl.c
+++ b/drivers/mtd/nand/sharpsl.c
@@ -25,7 +25,7 @@
 #include <linux/platform_device.h>
 
 #include <asm/io.h>
-#include <mach/hardware.h>
+#include <mach-pxa/hardware.h>
 #include <asm/mach-types.h>
 
 struct sharpsl_nand {
diff --git a/drivers/net/can/at91_can.c b/drivers/net/can/at91_can.c
index fcff73a..8f14511 100644
--- a/drivers/net/can/at91_can.c
+++ b/drivers/net/can/at91_can.c
@@ -37,7 +37,7 @@
 #include <linux/can/dev.h>
 #include <linux/can/error.h>
 
-#include <mach/board.h>
+#include <mach-at91/board.h>
 
 #define AT91_MB_MASK(i)                ((1 << (i)) - 1)
 
diff --git a/drivers/net/ethernet/amd/am79c961a.c b/drivers/net/ethernet/amd/am79c961a.c
index e10ffad..89746bf 100644
--- a/drivers/net/ethernet/amd/am79c961a.c
+++ b/drivers/net/ethernet/amd/am79c961a.c
@@ -29,7 +29,7 @@
 #include <linux/platform_device.h>
 #include <linux/io.h>
 
-#include <mach/hardware.h>
+#include <mach-ebsa110/hardware.h>
 
 #define TX_BUFFERS 15
 #define RX_BUFFERS 25
diff --git a/drivers/net/ethernet/cirrus/ep93xx_eth.c b/drivers/net/ethernet/cirrus/ep93xx_eth.c
index 78c5521..7ad8b0d 100644
--- a/drivers/net/ethernet/cirrus/ep93xx_eth.c
+++ b/drivers/net/ethernet/cirrus/ep93xx_eth.c
@@ -26,7 +26,7 @@
 #include <linux/io.h>
 #include <linux/slab.h>
 
-#include <mach/hardware.h>
+#include <mach-ep93xx/hardware.h>
 
 #define DRV_MODULE_NAME                "ep93xx-eth"
 #define DRV_MODULE_VERSION     "0.1"
diff --git a/drivers/net/ethernet/nxp/lpc_eth.c b/drivers/net/ethernet/nxp/lpc_eth.c
index 4069eda..5be01c0 100644
--- a/drivers/net/ethernet/nxp/lpc_eth.c
+++ b/drivers/net/ethernet/nxp/lpc_eth.c
@@ -45,9 +45,9 @@
 #include <linux/types.h>
 
 #include <linux/io.h>
-#include <mach/board.h>
-#include <mach/platform.h>
-#include <mach/hardware.h>
+#include <mach-lpc32xx/board.h>
+#include <mach-lpc32xx/platform.h>
+#include <mach-lpc32xx/hardware.h>
 
 #define MODNAME "lpc-eth"
 #define DRV_VERSION "1.00"
diff --git a/drivers/net/ethernet/smsc/smc911x.h b/drivers/net/ethernet/smsc/smc911x.h
index 3269292..80eb9d0 100644
--- a/drivers/net/ethernet/smsc/smc911x.h
+++ b/drivers/net/ethernet/smsc/smc911x.h
@@ -211,7 +211,7 @@ static inline void SMC_outsl(struct smc911x_local *lp, int reg,
 
 #ifdef SMC_USE_PXA_DMA
 
-#include <mach/dma.h>
+#include <mach-pxa/dma.h>
 
 /*
  * Define the request and free functions
diff --git a/drivers/net/ethernet/smsc/smc91x.h b/drivers/net/ethernet/smsc/smc91x.h
index 7f4beeb..754af90 100644
--- a/drivers/net/ethernet/smsc/smc91x.h
+++ b/drivers/net/ethernet/smsc/smc91x.h
@@ -364,7 +364,7 @@ struct smc_local {
  * as RX which can overrun memory and lose packets.
  */
 #include <linux/dma-mapping.h>
-#include <mach-sa1100/dma.h>
+#include <mach-pxa/dma.h>
 
 #ifdef SMC_insl
 #undef SMC_insl
diff --git a/drivers/net/irda/ep7211-sir.c b/drivers/net/irda/ep7211-sir.c
index f83c5b8..8f8d91c 100644
--- a/drivers/net/irda/ep7211-sir.c
+++ b/drivers/net/irda/ep7211-sir.c
@@ -14,7 +14,7 @@
 #include <net/irda/irda_device.h>
 
 #include <asm/io.h>
-#include <mach/hardware.h>
+#include <mach-clps711x/hardware.h>
 
 #include "sir-dev.h"
 
diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c
index 8d54767..86073eb 100644
--- a/drivers/net/irda/pxaficp_ir.c
+++ b/drivers/net/irda/pxaficp_ir.c
@@ -27,10 +27,10 @@
 #include <net/irda/wrapper.h>
 #include <net/irda/irda_device.h>
 
-#include <mach/dma.h>
-#include <mach/irda.h>
-#include <mach/regs-uart.h>
-#include <mach/regs-ost.h>
+#include <mach-pxa/dma.h>
+#include <mach-pxa/irda.h>
+#include <mach-pxa/regs-uart.h>
+#include <mach-pxa/regs-ost.h>
 
 #define FICP           __REG(0x40800000)  /* Start of FICP area */
 #define ICCR0          __REG(0x40800000)  /* ICP Control Register 0 */
diff --git a/drivers/net/irda/sa1100_ir.c b/drivers/net/irda/sa1100_ir.c
index e250675..3f88a39 100644
--- a/drivers/net/irda/sa1100_ir.c
+++ b/drivers/net/irda/sa1100_ir.c
@@ -37,7 +37,7 @@
 #include <net/irda/wrapper.h>
 #include <net/irda/irda_device.h>
 
-#include <mach/hardware.h>
+#include <mach-sa1100/hardware.h>
 #include <asm/mach/irda.h>
 
 static int power_level = 3;
diff --git a/drivers/pcmcia/omap_cf.c b/drivers/pcmcia/omap_cf.c
index adb5b1e..070eaa6 100644
--- a/drivers/pcmcia/omap_cf.c
+++ b/drivers/pcmcia/omap_cf.c
@@ -20,7 +20,7 @@
 
 #include <pcmcia/ss.h>
 
-#include <mach/hardware.h>
+#include <mach-omap1/hardware.h>
 #include <asm/io.h>
 #include <asm/sizes.h>
 
diff --git a/drivers/pcmcia/pxa2xx_cm_x2xx.c b/drivers/pcmcia/pxa2xx_cm_x2xx.c
index 6e7dcfd..61097ba 100644
--- a/drivers/pcmcia/pxa2xx_cm_x2xx.c
+++ b/drivers/pcmcia/pxa2xx_cm_x2xx.c
@@ -13,7 +13,7 @@
 #include <linux/module.h>
 
 #include <asm/mach-types.h>
-#include <mach/hardware.h>
+#include <mach-pxa/hardware.h>
 
 int cmx255_pcmcia_init(void);
 int cmx270_pcmcia_init(void);
diff --git a/drivers/pcmcia/sa1111_jornada720.c b/drivers/pcmcia/sa1111_jornada720.c
index 69428d1..86fc717 100644
--- a/drivers/pcmcia/sa1111_jornada720.c
+++ b/drivers/pcmcia/sa1111_jornada720.c
@@ -10,7 +10,7 @@
 #include <linux/errno.h>
 #include <linux/init.h>
 
-#include <mach/hardware.h>
+#include <mach-sa1100/hardware.h>
 #include <asm/hardware/sa1111.h>
 #include <asm/mach-types.h>
 
diff --git a/drivers/pcmcia/sa11xx_base.c b/drivers/pcmcia/sa11xx_base.c
index 6eecd7c..2d689b2 100644
--- a/drivers/pcmcia/sa11xx_base.c
+++ b/drivers/pcmcia/sa11xx_base.c
@@ -39,7 +39,7 @@
 #include <linux/io.h>
 #include <linux/slab.h>
 
-#include <mach/hardware.h>
+#include <mach-sa1100/hardware.h>
 #include <asm/irq.h>
 
 #include "soc_common.h"
diff --git a/drivers/power/avs/smartreflex.c b/drivers/power/avs/smartreflex.c
index 44efc6e..af502d1 100644
--- a/drivers/power/avs/smartreflex.c
+++ b/drivers/power/avs/smartreflex.c
@@ -26,6 +26,7 @@
 #include <linux/slab.h>
 #include <linux/pm_runtime.h>
 #include <linux/power/smartreflex.h>
+#include <plat-omap/cpu.h>
 
 #define SMARTREFLEX_NAME_LEN   16
 #define NVALUE_NAME_LEN                40
diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c
index 2a0b353..68ff175 100644
--- a/drivers/pwm/pwm-imx.c
+++ b/drivers/pwm/pwm-imx.c
@@ -16,7 +16,7 @@
 #include <linux/clk.h>
 #include <linux/io.h>
 #include <linux/pwm.h>
-#include <mach/hardware.h>
+#include <mach-imx/hardware.h>
 
 
 /* i.MX1 and i.MX21 share the same PWM function block: */
diff --git a/drivers/rtc/rtc-mxc.c b/drivers/rtc/rtc-mxc.c
index e3e50d6..eb4d40e 100644
--- a/drivers/rtc/rtc-mxc.c
+++ b/drivers/rtc/rtc-mxc.c
@@ -17,7 +17,7 @@
 #include <linux/platform_device.h>
 #include <linux/clk.h>
 
-#include <mach/hardware.h>
+#include <mach-imx/hardware.h>
 
 #define RTC_INPUT_CLK_32768HZ  (0x00 << 5)
 #define RTC_INPUT_CLK_32000HZ  (0x01 << 5)
diff --git a/drivers/rtc/rtc-pxa.c b/drivers/rtc/rtc-pxa.c
index 0075c8f..679ca79 100644
--- a/drivers/rtc/rtc-pxa.c
+++ b/drivers/rtc/rtc-pxa.c
@@ -28,7 +28,7 @@
 #include <linux/io.h>
 #include <linux/slab.h>
 
-#include <mach/hardware.h>
+#include <mach-pxa/hardware.h>
 
 #define TIMER_FREQ             CLOCK_TICK_RATE
 #define RTC_DEF_DIVIDER                (32768 - 1)
diff --git a/drivers/rtc/rtc-stmp3xxx.c b/drivers/rtc/rtc-stmp3xxx.c
index 739ef556..9f7ff1d 100644
--- a/drivers/rtc/rtc-stmp3xxx.c
+++ b/drivers/rtc/rtc-stmp3xxx.c
@@ -27,7 +27,7 @@
 #include <linux/slab.h>
 #include <linux/of_device.h>
 
-#include <mach/common.h>
+#include <mach-mxs/common.h>
 
 #define STMP3XXX_RTC_CTRL                      0x0
 #define STMP3XXX_RTC_CTRL_SET                  0x4
diff --git a/drivers/scsi/arm/acornscsi-io.S b/drivers/scsi/arm/acornscsi-io.S
index 22171b2..6395330 100644
--- a/drivers/scsi/arm/acornscsi-io.S
+++ b/drivers/scsi/arm/acornscsi-io.S
@@ -8,7 +8,7 @@
 #include <linux/linkage.h>
 
 #include <asm/assembler.h>
-#include <mach/hardware.h>
+#include <mach-rpc/hardware.h>
 
 #if defined(__APCS_32__)
 #define LOADREGS(t,r,l...)     ldm##t  r, l
diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c
index e834ff8..819ddf0 100644
--- a/drivers/spi/spi-imx.c
+++ b/drivers/spi/spi-imx.c
@@ -39,7 +39,7 @@
 #include <linux/of_gpio.h>
 #include <linux/pinctrl/consumer.h>
 
-#include <mach/spi.h>
+#include <mach-imx/spi.h>
 
 #define DRIVER_NAME "spi_imx"
 
diff --git a/drivers/spi/spi-omap-uwire.c b/drivers/spi/spi-omap-uwire.c
index 177b6cf..dc2ad86 100644
--- a/drivers/spi/spi-omap-uwire.c
+++ b/drivers/spi/spi-omap-uwire.c
@@ -48,7 +48,7 @@
 #include <linux/module.h>
 
 #include <asm/irq.h>
-#include <mach/hardware.h>
+#include <mach-omap1/hardware.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 
diff --git a/drivers/spi/spi-s3c24xx-fiq.S b/drivers/spi/spi-s3c24xx-fiq.S
index 9718a11..44941ce 100644
--- a/drivers/spi/spi-s3c24xx-fiq.S
+++ b/drivers/spi/spi-s3c24xx-fiq.S
@@ -13,8 +13,8 @@
 #include <linux/linkage.h>
 #include <asm/assembler.h>
 
-#include <mach/map.h>
-#include <mach/regs-irq.h>
+#include <mach-s3c24xx/map.h>
+#include <mach-s3c24xx/regs-irq.h>
 #include <plat-samsung/regs-spi.h>
 
 #include "spi-s3c24xx-fiq.h"
diff --git a/drivers/spi/spi-tegra.c b/drivers/spi/spi-tegra.c
index ef52c1c..77b2810 100644
--- a/drivers/spi/spi-tegra.c
+++ b/drivers/spi/spi-tegra.c
@@ -32,7 +32,7 @@
 #include <linux/spi/spi.h>
 #include <linux/dmaengine.h>
 
-#include <mach/dma.h>
+#include <mach-tegra/dma.h>
 
 #define SLINK_COMMAND          0x000
 #define   SLINK_BIT_LENGTH(x)          (((x) & 0x1f) << 0)
diff --git a/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c b/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
index a272e48..1e4f493 100644
--- a/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
+++ b/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
@@ -5,8 +5,8 @@
 #include <linux/i2c.h>
 #include <linux/gpio.h>
 #include <linux/interrupt.h>
-#include <mach/gpio.h>
-#include <mach/irqs.h>
+#include <mach-ux500/gpio.h>
+#include <mach-ux500/irqs.h>
 #include "synaptics_i2c_rmi4.h"
 
 /*
diff --git a/drivers/tty/serial/21285.c b/drivers/tty/serial/21285.c
index a44345a..8104b07 100644
--- a/drivers/tty/serial/21285.c
+++ b/drivers/tty/serial/21285.c
@@ -18,7 +18,7 @@
 #include <asm/mach-types.h>
 #include <asm/system_info.h>
 #include <asm/hardware/dec21285.h>
-#include <mach/hardware.h>
+#include <mach-footbridge/hardware.h>
 
 #define BAUD_BASE              (mem_fclk_21285/64)
 
diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c
index 3d7e1ee..ff99a33 100644
--- a/drivers/tty/serial/atmel_serial.c
+++ b/drivers/tty/serial/atmel_serial.c
@@ -44,11 +44,13 @@
 #include <asm/ioctls.h>
 
 #include <asm/mach/serial_at91.h>
-#include <mach/board.h>
 
 #ifdef CONFIG_ARM
-#include <mach/cpu.h>
+#include <mach-at91/board.h>
+#include <mach-at91/cpu.h>
 #include <asm/gpio.h>
+#else
+#include <mach/board.h>
 #endif
 
 #define PDC_BUFFER_SIZE                512
diff --git a/drivers/tty/serial/clps711x.c b/drivers/tty/serial/clps711x.c
index d0f719f..e4dc87b 100644
--- a/drivers/tty/serial/clps711x.c
+++ b/drivers/tty/serial/clps711x.c
@@ -38,7 +38,7 @@
 #include <linux/serial.h>
 #include <linux/io.h>
 
-#include <mach/hardware.h>
+#include <mach-clps711x/hardware.h>
 #include <asm/irq.h>
 
 #define UART_NR                2
diff --git a/drivers/tty/serial/msm_serial_hs.c b/drivers/tty/serial/msm_serial_hs.c
index fca13dc..949c9e6 100644
--- a/drivers/tty/serial/msm_serial_hs.c
+++ b/drivers/tty/serial/msm_serial_hs.c
@@ -51,8 +51,8 @@
 #include <linux/atomic.h>
 #include <asm/irq.h>
 
-#include <mach/hardware.h>
-#include <mach/dma.h>
+#include <mach-msm/hardware.h>
+#include <mach-msm/dma.h>
 #include <linux/platform_data/msm_serial_hs.h>
 
 /* HSUART Registers */
diff --git a/drivers/tty/serial/sa1100.c b/drivers/tty/serial/sa1100.c
index 2ca5959..d5c47f6 100644
--- a/drivers/tty/serial/sa1100.c
+++ b/drivers/tty/serial/sa1100.c
@@ -37,8 +37,8 @@
 #include <linux/io.h>
 
 #include <asm/irq.h>
-#include <mach/hardware.h>
-#include <mach/irqs.h>
+#include <mach-sa1100/hardware.h>
+#include <mach-sa1100/irqs.h>
 #include <asm/mach/serial_sa1100.h>
 
 /* We've been assigned a range on the "Low-density serial ports" major */
diff --git a/drivers/tty/serial/serial_ks8695.c b/drivers/tty/serial/serial_ks8695.c
index 7c13639..f5c672c 100644
--- a/drivers/tty/serial/serial_ks8695.c
+++ b/drivers/tty/serial/serial_ks8695.c
@@ -25,8 +25,8 @@
 #include <asm/irq.h>
 #include <asm/mach/irq.h>
 
-#include <mach/regs-uart.h>
-#include <mach/regs-irq.h>
+#include <mach-ks8695/regs-uart.h>
+#include <mach-ks8695/regs-irq.h>
 
 #if defined(CONFIG_SERIAL_KS8695_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
 #define SUPPORT_SYSRQ
diff --git a/drivers/uio/uio_pruss.c b/drivers/uio/uio_pruss.c
index 33a7a27..4bafe92 100644
--- a/drivers/uio/uio_pruss.c
+++ b/drivers/uio/uio_pruss.c
@@ -25,7 +25,7 @@
 #include <linux/clk.h>
 #include <linux/dma-mapping.h>
 #include <linux/slab.h>
-#include <mach/sram.h>
+#include <mach-davinci/sram.h>
 
 #define DRV_NAME "pruss_uio"
 #define DRV_VERSION "1.0"
diff --git a/drivers/usb/gadget/fsl_mxc_udc.c b/drivers/usb/gadget/fsl_mxc_udc.c
index 1b0f086..fce80b3 100644
--- a/drivers/usb/gadget/fsl_mxc_udc.c
+++ b/drivers/usb/gadget/fsl_mxc_udc.c
@@ -18,7 +18,7 @@
 #include <linux/platform_device.h>
 #include <linux/io.h>
 
-#include <mach/hardware.h>
+#include <mach-imx/hardware.h>
 
 static struct clk *mxc_ahb_clk;
 static struct clk *mxc_per_clk;
diff --git a/drivers/usb/gadget/imx_udc.c b/drivers/usb/gadget/imx_udc.c
index dc53348..476ac2b 100644
--- a/drivers/usb/gadget/imx_udc.c
+++ b/drivers/usb/gadget/imx_udc.c
@@ -35,8 +35,8 @@
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
 
-#include <mach/usb.h>
-#include <mach/hardware.h>
+#include <mach-imx/usb.h>
+#include <mach-imx/hardware.h>
 
 #include "imx_udc.h"
 
diff --git a/drivers/usb/gadget/pxa27x_udc.c b/drivers/usb/gadget/pxa27x_udc.c
index 644b430..d4ef1fe 100644
--- a/drivers/usb/gadget/pxa27x_udc.c
+++ b/drivers/usb/gadget/pxa27x_udc.c
@@ -26,12 +26,12 @@
 #include <linux/prefetch.h>
 
 #include <asm/byteorder.h>
-#include <mach/hardware.h>
+#include <mach-pxa/hardware.h>
 
 #include <linux/usb.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
-#include <mach/udc.h>
+#include <mach-pxa/udc.h>
 
 #include "pxa27x_udc.h"
 
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index a665b3e..5add6ce 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -17,11 +17,11 @@
 #include <linux/of_platform.h>
 #include <linux/of_gpio.h>
 
-#include <mach/hardware.h>
+#include <mach-at91/hardware.h>
 #include <asm/gpio.h>
 
-#include <mach/board.h>
-#include <mach/cpu.h>
+#include <mach-at91/board.h>
+#include <mach-at91/cpu.h>
 
 #ifndef CONFIG_ARCH_AT91
 #error "CONFIG_ARCH_AT91 must be defined."
diff --git a/drivers/usb/host/ohci-exynos.c b/drivers/usb/host/ohci-exynos.c
index 2dce0df..561f56a 100644
--- a/drivers/usb/host/ohci-exynos.c
+++ b/drivers/usb/host/ohci-exynos.c
@@ -14,7 +14,7 @@
 #include <linux/clk.h>
 #include <linux/of.h>
 #include <linux/platform_device.h>
-#include <mach/ohci.h>
+#include <mach-exynos/ohci.h>
 #include <plat-samsung/usb-phy.h>
 
 struct exynos_ohci_hcd {
diff --git a/drivers/usb/musb/davinci.c b/drivers/usb/musb/davinci.c
index 472c8b4..2e8cfb8 100644
--- a/drivers/usb/musb/davinci.c
+++ b/drivers/usb/musb/davinci.c
@@ -34,8 +34,8 @@
 #include <linux/platform_device.h>
 #include <linux/dma-mapping.h>
 
-#include <mach/cputype.h>
-#include <mach/hardware.h>
+#include <mach-davinci/cputype.h>
+#include <mach-davinci/hardware.h>
 
 #include <asm/mach-types.h>
 
diff --git a/drivers/usb/musb/ux500_dma.c b/drivers/usb/musb/ux500_dma.c
index d05c7fb..7c92d86 100644
--- a/drivers/usb/musb/ux500_dma.c
+++ b/drivers/usb/musb/ux500_dma.c
@@ -30,7 +30,7 @@
 #include <linux/dma-mapping.h>
 #include <linux/dmaengine.h>
 #include <linux/pfn.h>
-#include <mach/usb.h>
+#include <mach-ux500/usb.h>
 #include "musb_core.h"
 
 struct ux500_dma_channel {
diff --git a/drivers/usb/otg/msm_otg.c b/drivers/usb/otg/msm_otg.c
index 9f5fc90..e41e6c5 100644
--- a/drivers/usb/otg/msm_otg.c
+++ b/drivers/usb/otg/msm_otg.c
@@ -40,7 +40,7 @@
 #include <linux/usb/msm_hsusb_hw.h>
 #include <linux/regulator/consumer.h>
 
-#include <mach/clk.h>
+#include <mach-msm/clk.h>
 
 #define MSM_USB_BASE   (motg->regs)
 #define DRIVER_NAME    "msm_otg"
diff --git a/drivers/video/backlight/omap1_bl.c b/drivers/video/backlight/omap1_bl.c
index 1e39ae3..556b623 100644
--- a/drivers/video/backlight/omap1_bl.c
+++ b/drivers/video/backlight/omap1_bl.c
@@ -28,7 +28,7 @@
 #include <linux/backlight.h>
 #include <linux/slab.h>
 
-#include <mach/hardware.h>
+#include <mach-omap1/hardware.h>
 #include <plat-omap/board.h>
 #include <plat-omap/mux.h>
 
diff --git a/drivers/video/ep93xx-fb.c b/drivers/video/ep93xx-fb.c
index 345d962..b58f5c5 100644
--- a/drivers/video/ep93xx-fb.c
+++ b/drivers/video/ep93xx-fb.c
@@ -24,7 +24,7 @@
 #include <linux/clk.h>
 #include <linux/fb.h>
 
-#include <mach/fb.h>
+#include <mach-ep93xx/fb.h>
 
 /* Vertical Frame Timing Registers */
 #define EP93XXFB_VLINES_TOTAL                  0x0000  /* SW locked */
diff --git a/drivers/video/nuc900fb.h b/drivers/video/nuc900fb.h
index bc7c930..6f7f59a 100644
--- a/drivers/video/nuc900fb.h
+++ b/drivers/video/nuc900fb.h
@@ -15,8 +15,8 @@
 #ifndef __NUC900FB_H
 #define __NUC900FB_H
 
-#include <mach/map.h>
-#include <mach/fb.h>
+#include <mach-w90x900/map.h>
+#include <mach-w90x900/fb.h>
 
 enum nuc900_lcddrv_type {
        LCDDRV_NUC910,
diff --git a/drivers/video/pnx4008/dum.h b/drivers/video/pnx4008/dum.h
index 1234d43..ddae1c2 100644
--- a/drivers/video/pnx4008/dum.h
+++ b/drivers/video/pnx4008/dum.h
@@ -12,7 +12,7 @@
 #ifndef __PNX008_DUM_H__
 #define __PNX008_DUM_H__
 
-#include <mach/platform.h>
+#include <mach-pnx4008/platform.h>
 
 #define PNX4008_DUMCONF_VA_BASE                IO_ADDRESS(PNX4008_DUMCONF_BASE)
 #define PNX4008_DUM_MAIN_VA_BASE       IO_ADDRESS(PNX4008_DUM_MAINCFG_BASE)
diff --git a/drivers/w1/masters/omap_hdq.c b/drivers/w1/masters/omap_hdq.c
index 4b0fcf3..2d9cc12 100644
--- a/drivers/w1/masters/omap_hdq.c
+++ b/drivers/w1/masters/omap_hdq.c
@@ -19,7 +19,7 @@
 #include <linux/pm_runtime.h>
 
 #include <asm/irq.h>
-#include <mach/hardware.h>
+#include <mach-omap2/hardware.h>
 
 #include "../w1.h"
 #include "../w1_int.h"
diff --git a/drivers/watchdog/imx2_wdt.c b/drivers/watchdog/imx2_wdt.c
index bcfab2b..f745c9b 100644
--- a/drivers/watchdog/imx2_wdt.c
+++ b/drivers/watchdog/imx2_wdt.c
@@ -33,7 +33,7 @@
 #include <linux/uaccess.h>
 #include <linux/timer.h>
 #include <linux/jiffies.h>
-#include <mach/hardware.h>
+#include <mach-imx/hardware.h>
 
 #define DRIVER_NAME "imx2-wdt"
 
diff --git a/drivers/watchdog/ixp4xx_wdt.c b/drivers/watchdog/ixp4xx_wdt.c
index 5580b4f..913d480 100644
--- a/drivers/watchdog/ixp4xx_wdt.c
+++ b/drivers/watchdog/ixp4xx_wdt.c
@@ -25,7 +25,7 @@
 #include <linux/init.h>
 #include <linux/bitops.h>
 #include <linux/uaccess.h>
-#include <mach/hardware.h>
+#include <mach-ixp4xx/hardware.h>
 
 static bool nowayout = WATCHDOG_NOWAYOUT;
 static int heartbeat = 60;     /* (secs) Default is 1 minute */
diff --git a/drivers/watchdog/ks8695_wdt.c b/drivers/watchdog/ks8695_wdt.c
index 59e75d9..19c1dc1 100644
--- a/drivers/watchdog/ks8695_wdt.c
+++ b/drivers/watchdog/ks8695_wdt.c
@@ -23,8 +23,8 @@
 #include <linux/watchdog.h>
 #include <linux/io.h>
 #include <linux/uaccess.h>
-#include <mach/hardware.h>
-#include <mach/regs-timer.h>
+#include <mach-ks8695/hardware.h>
+#include <mach-ks8695/regs-timer.h>
 
 #define WDT_DEFAULT_TIME       5       /* seconds */
 #define WDT_MAX_TIME           171     /* seconds */
diff --git a/drivers/watchdog/wdt285.c b/drivers/watchdog/wdt285.c
index 5eec740..1e1c743 100644
--- a/drivers/watchdog/wdt285.c
+++ b/drivers/watchdog/wdt285.c
@@ -31,7 +31,7 @@
 #include <linux/interrupt.h>
 #include <linux/uaccess.h>
 #include <linux/irq.h>
-#include <mach/hardware.h>
+#include <mach-footbridge/hardware.h>
 
 #include <asm/mach-types.h>
 #include <asm/system_info.h>
-- 

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers
  2012-08-22 12:53 [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
                   ` (3 preceding siblings ...)
  2012-08-22 13:01 ` [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes Arnd Bergmann
@ 2012-08-22 15:23 ` Nicolas Pitre
  2012-08-22 15:31   ` Arnd Bergmann
  2012-08-22 19:44 ` Stephen Warren
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 28+ messages in thread
From: Nicolas Pitre @ 2012-08-22 15:23 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linaro-kernel, linux-kernel

On Wed, 22 Aug 2012, Arnd Bergmann wrote:

> I've created this series some time ago, and updated it now to
> v3.6-rc1. The idea is to get us a big step closer to the
> single zImage kernel across multiple ARM platforms by
> untangling the duplicate header file names.

Thanks for picking up this task.

> There are two branches available in the arm-soc tree:
> 
> 1. This series,
>    http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=shortlog;h=refs/heads/testing/mach-headers
>    This just moves header files around and changes most of the
>    files including them. There are a few remaining drivers
>    and platform files that keep including a generic file name
>    like <mach/uncompress.h>. It remains possible to do that,
>    and I've run extensive tests to ensure I did not break
>    anything with this. However, each of these instances means
>    that there is something that stops working when you get to
>    the real multiplatform kernel and we still need to deal
>    with them one by one.

The content of <mach/uncompress.h> is fundamentally machine or SOC 
specific.  We already know it is generally incompatible with a multi 
platform kernel.  So the best way to deal with this at the moment is 
probably to just provide a dummy uncompress.h with empty stubs whenever 
CONFIG_ARCH_MULTIPLATFORM is selected.  The effect from this is that 
there wouldn't be any "Uncompressing the kernel... Done" output anymore, 
which should be an acceptable compromise until a better solution is 
found.

One problem is that some (very few) machines define a method in that 
file to keep a hardware watchdog alive.  This might not be the case for 
all the intended targets to gather in a single kernel binary image 
though.

Another issue is the fact that some platforms do very ugly 
layer-violating hacks where the decompressor selects a serial port for 
early output and then store that selection in some arbitrary memory 
location for the main kernel to blindly use, making the decompressor 
mandatory.  OMAP and Davinci are prime example of such "abuse" which 
would need to be fixed.


Nicolas

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 1/4] [RFC] ARM: autogenerate mach-foo/* and plat-foo/* header redirects
  2012-08-22 12:54 ` [PATCH 1/4] [RFC] ARM: autogenerate mach-foo/* and plat-foo/* header redirects Arnd Bergmann
@ 2012-08-22 15:24   ` Nicolas Pitre
  2012-08-24 13:44   ` Rob Herring
  1 sibling, 0 replies; 28+ messages in thread
From: Nicolas Pitre @ 2012-08-22 15:24 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linaro-kernel, linux-kernel

On Wed, 22 Aug 2012, Arnd Bergmann wrote:

> This is an attempt to simplify the duplicate header problem for
> multiplatform kernels, in multiple steps:
> 
> 1. (this patch)
>    for each arch/arm/mach-${MACHINE}/include/mach-${MACHINE}/*.h file,
>    generate a arch/arm/include/generated/mach/*.h file at build time,
>    same for plat-*.
> 
> 2. rename all arch/arm/mach-${MACHINE}/include/mach/*.h to
>    arch/arm/mach-${MACHINE}/include/mach-${MACHINE}/*.h and
>    arch/arm/plat-${PLAT}/include/plat/*.h to
>    arch/arm/plat-${PLAT}/include/plat-${PLAT}/*.h
> 
> 3. change all includes of <mach/*.h> to <mach-${MACHINE}/*.h>
>    in all files where ${MACHINE} is known.
> 
> 4. ...
> 
> 5. Revert this patch again.
> 
> We can apply this patch at any time, and do step 2 at the end
> of the next merge window to minimize the potential for conflicts.
> We will also still need to deal with any inclusion of a mach/*
> file, but out of the 6355 ones we have today, I expect only a
> few hundred to remain after step 3 and they will be much easier
> to spot.
> 
> I've picked the format <mach-foo/bar.h> to get a unique name because
> it matches the directory name under arch/arm, but other names
> would work with the same script, <mach/foo-bar.h> and <foo/bar.h>
> have been suggested previously.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Nicolas Pitre <nico@linaro.org>

> ---
>  arch/arm/Makefile          |    1 +
>  arch/arm/tools/Makefile    |    5 ++++
>  arch/arm/tools/gen-headers |   57 ++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 63 insertions(+)
>  create mode 100755 arch/arm/tools/gen-headers
> 
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index 30eae87..761b077 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -274,6 +274,7 @@ boot := arch/arm/boot
>  
>  archprepare:
>         $(Q)$(MAKE) $(build)=arch/arm/tools include/generated/mach-types.h
> +       $(Q)$(MAKE) $(build)=arch/arm/tools plat="$(plat-y)" machine="$(machine-y)" gen_headers
>  
>  # Convert bzImage to zImage
>  bzImage: zImage
> diff --git a/arch/arm/tools/Makefile b/arch/arm/tools/Makefile
> index 635cb18..6e18ca9 100644
> --- a/arch/arm/tools/Makefile
> +++ b/arch/arm/tools/Makefile
> @@ -8,3 +8,8 @@ include/generated/mach-types.h: $(src)/gen-mach-types $(src)/mach-types
>         @echo '  Generating $@'
>         @mkdir -p $(dir $@)
>         $(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; }
> +
> +gen_headers:
> +       $(Q)bash $(srctree)/$(src)/gen-headers $(srctree) $(objtree) $(machine) $(plat)
> +
> +.PHONY: gen_headers
> diff --git a/arch/arm/tools/gen-headers b/arch/arm/tools/gen-headers
> new file mode 100755
> index 0000000..caa6a9a
> --- /dev/null
> +++ b/arch/arm/tools/gen-headers
> @@ -0,0 +1,57 @@
> +#!/bin/bash
> +
> +SRC=$1
> +OBJ=$2
> +MACH=$3
> +PLAT1=$4
> +PLAT2=$5
> +
> +# create $3 to include $2 if it doesn't already have the correct
> +# contents, or remove it if it's no longer needed.
> +mkfile()
> +{
> +       if [ -e $1/$2 ] ; then
> +               if [ ! -e $3 ] ; then
> +                       mkdir -p ${3%/*}
> +                       echo "#include <${2}>" > $3
> +               elif [ "`cat $3`" != "#include <${2#./}>" ] ; then
> +                       echo "#include <${2}>" > $3
> +               fi
> +       elif [ ! -e $1/$2 -a -e $3 ] ; then
> +               rm -f $3
> +       fi
> +}
> +
> +# list any header files that are present in the source or
> +# destination directories
> +find_files()
> +{
> +       pushd ${SRC}/arch/arm/$1-$2/include/$1-$2 >/dev/null 2>&1 &&
> +       find . -type f -name \*.h -o -name \*.S &&
> +       popd > /dev/null 2>&1
> +       pushd ${OBJ}/arch/arm/include/generated/$1 >/dev/null 2>&1 &&
> +       find . -type f -name \*.h -o -name \*.S &&
> +       popd > /dev/null 2>&1
> +}
> +
> +# process files in either mach-{MACH} or plat-${PLAT}
> +mkfiles()
> +{
> +       mkdir -p ${OBJ}/arch/arm/include/generated/$1
> +
> +       FILES=`find_files $1 $2 | sort -u`
> +       for i in ${FILES} ; do
> +               mkfile "${SRC}/arch/arm/$1-$2/include/" "$1-$2/${i#./}" \
> +                       "${OBJ}/arch/arm/include/generated/$1/$i"
> +       done
> +}
> +
> +# always process mach-*
> +mkfiles mach ${MACH}
> +# process plat-* if applicable
> +if [ -d ${SRC}/arch/arm/plat-${PLAT1} ]; then
> +       mkfiles plat ${PLAT1}
> +fi
> +if [ -d ${SRC}/arch/arm/plat-${PLAT2} ]; then
> +       mkfiles plat ${PLAT2}
> +fi
> -- 
> 1.7.10
> 
> 
> _______________________________________________
> linaro-kernel mailing list
> linaro-kernel@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-kernel
> 

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 2/4] [RFC] ARM: mass move of mach-*/plat-* header files
  2012-08-22 12:56 ` [PATCH 2/4] [RFC] ARM: mass move of mach-*/plat-* header files Arnd Bergmann
@ 2012-08-22 15:28   ` Nicolas Pitre
  2012-08-22 15:37     ` Arnd Bergmann
  0 siblings, 1 reply; 28+ messages in thread
From: Nicolas Pitre @ 2012-08-22 15:28 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linaro-kernel, linux-kernel

On Wed, 22 Aug 2012, Arnd Bergmann wrote:

> This moves all <mach/*.h> headers to <mach-*/*.h>, and all
> <plat/*.h> headers to <plat-*/*.h>, as another step closer
> to building kernels for multiple platforms combined.
> 
> A script to generate headers with the traditional names including
> the headers from the new place is already there, so this move
> should be completely transparent.
> 
> This patch was created fully automated by a script and
> should be redone if the headers change. Note that the
> plat-mxc headers move to mach-imx in the process because
> they don't follow the <plat/foo.h> naming convention:
> 
> for i in arch/arm/mach-* ; do git mv $i/include/mach $i/include/${i##*/} ; done
> for i in arch/arm/plat-* ; do git mv $i/include/plat $i/include/${i##*/} ; done
> git mv arch/arm/plat-mxc/include/mach/*.h arch/arm/mach-imx/include/mach-imx/
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Nicolas Pitre <nico@linaro.org>

Ideally, files such as ...

> rename from arch/arm/mach-at91/include/mach/at91_pio.h
> rename to arch/arm/mach-at91/include/mach-at91/at91_pio.h

should move next to the A91 GPIO driver file.  but that require manual 
operations which can be done later.


Nicolas

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 3/4] [RFC] ARM: multiplatform: rename all mach headers
  2012-08-22 13:00 ` [PATCH 3/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
@ 2012-08-22 15:31   ` Nicolas Pitre
  0 siblings, 0 replies; 28+ messages in thread
From: Nicolas Pitre @ 2012-08-22 15:31 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linaro-kernel, linux-kernel

On Wed, 22 Aug 2012, Arnd Bergmann wrote:

> While converting all machine specific headers from
> automatically detect the right machine and platform
> name in most cases. This script uses a number of
> information sources for this:
> 
> * any arch/arm/mach-*/ directory uses its own headers,
>   with a few exceptions, same for plat-*/
> * each mach-*/ directory belongs to at most one plat-*
>   directory holding header files
> * for any header below mach/* that exists in only one
>   machine, we know that the users belong to that machine
> * some driver directories or files are manually listed
>   here.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Nicolas Pitre <nico@linaro.org>

I think that would be a good idea if you do keep your scripts in the 
commit log like it is done here.

> ===========================================================
> 
> fixup()
> {
>  echo fixup "$1 $2 $3"
>  git ls-files $1 | xargs sed -i "s:^\(#.*include <\)$2/:\1$3/:g"
> }
> 
> fixup arch/arm/mach-s3c2410 mach mach-s3c24xx
> fixup arch/arm/mach-s3c2412 mach mach-s3c24xx
> fixup arch/arm/mach-s3c2440 mach mach-s3c24xx
> 
> fixup arch/arm/plat-mxc mach mach-imx
> fixup arch/arm/plat-s3c24xx mach mach-s3c24xx
> fixup arch/arm/plat-s3c24xx plat plat-samsung
> 
> for i in arch/arm/mach-*; do
>         fixup "$i" mach "${i##*/}"
> done
> 
> for i in arch/arm/plat-* ; do
>         fixup "$i" plat "${i##*/}"
> done
> 
> fixup arch/arm/mach-spear3xx plat plat-spear
> fixup arch/arm/mach-spear6xx plat plat-spear
> fixup arch/arm/mach-spear13xx plat plat-spear
> fixup arch/arm/mach-pxa plat plat-pxa
> fixup arch/arm/mach-mmp plat plat-pxa
> fixup arch/arm/mach-orion5x plat plat-orion
> fixup arch/arm/mach-kirkwood plat plat-orion
> fixup arch/arm/mach-mv78xx0 plat plat-orion
> fixup arch/arm/mach-dove plat plat-orion
> fixup arch/arm/mach-nomadik plat plat-nomadik
> fixup arch/arm/mach-ux500 plat plat-nomadik
> fixup arch/arm/mach-s3c2410 plat plat-samsung
> fixup arch/arm/mach-s3c2412 plat plat-samsung
> fixup arch/arm/mach-s3c2440 plat plat-samsung
> fixup arch/arm/mach-s3c24xx plat plat-samsung
> fixup arch/arm/mach-s3c64xx plat plat-samsung
> fixup arch/arm/mach-s5p64x0 plat plat-samsung
> fixup arch/arm/mach-s5pc100 plat plat-samsung
> fixup arch/arm/mach-s5pv210 plat plat-samsung
> fixup arch/arm/mach-exynos plat plat-samsung
> fixup arch/arm/mach-omap1 plat plat-omap
> fixup arch/arm/mach-omap2 plat plat-omap
> fixup arch/arm/mach-versatile plat plat-versatile
> fixup arch/arm/mach-integrator plat plat-versatile
> fixup arch/arm/mach-realview plat plat-versatile
> fixup arch/arm/mach-vexpress plat plat-versatile
> fixup arch/arm/mach-zynq plat plat-versatile
> 
> fixup drivers/video/omap plat plat-omap
> fixup drivers/video/omap2 plat plat-omap
> fixup drivers/video/exynos plat plat-samsung
> fixup drivers/char/hw_random/omap\* plat plat-omap
> fixup drivers/cpufreq/omap\* plat plat-omap
> fixup drivers/crypto/omap\* plat plat-omap
> fixup drivers/media/video/omap\* plat plat-omap
> fixup drivers/input/keyboard/omap\* plat plat-omap
> fixup drivers/mmc/host/omap\* plat plat-omap
> fixup drivers/mtd/*nand/omap\* plat plat-omap
> fixup drivers/spi/spi-omap\* plat plat-omap
> fixup drivers/tty/serial/omap\* plat plat-omap
> fixup drivers/usb/gadget/omap\* plat plat-omap
> fixup drivers/usb/musb/*omap\* plat plat-omap
> fixup drivers/dma/omap-dma.c plat plat-omap
> fixup drivers/staging/omapdrm plat plat-omap
> fixup drivers/staging/tidspbridge/ plat plat-omap
> fixup drivers/input/keyboard/spear-keyboard.c plat plat-spear
> fixup drivers/cpufreq/exynos-cpufreq.c plat plat-samsung
> fixup drivers/crypto/s5p-sss.c plat plat-samsung
> fixup drivers/i2c/busses/i2c-nomadik.c plat plat-nomadik
> fixup drivers/mtd/nand/s3c2410.c plat plat-samsung
> fixup drivers/tty/serial/samsung.c plat plat-samsung
> fixup drivers/usb/gadget/s3c-hsotg.c plat plat-samsung
> fixup drivers/gpio/gpio-samsung.c plat plat-samsung
> fixup sound/soc/samsung plat plat-samsung
> fixup sound/soc/omap plat plat-omap
> fixup sound/soc/pxa plat plat-pxa
> fixup sound/soc/kirkwood/ plat plat-orion
> fixup sound/soc/fsl/imx*.[ch] plat plat-mxc
> 
> fixup drivers/video/omap mach mach-omap1
> fixup drivers/video/omap2 mach mach-omap2
> fixup drivers/video/exynos mach mach-exynos
> fixup drivers/media/video/davinci mach mach-davinci
> 
> fixup sound/soc/omap/osk5912.c mach mach-omap1
> fixup sound/soc/omap mach mach-omap2
> fixup sound/soc/pxa mach mach-pxa
> fixup sound/soc/davinci mach mach-davinci
> fixup sound/soc/ep93xx mach mach-ep93xx
> fixup sound/soc/kirkwood/ mach mach-kirkwood
> fixup sound/soc/fsl/imx*.[ch] mach mach-imx
> fixup sound/soc/mxs mach mach-mxs
> fixup sound/soc/tegra mach mach-tegra
> fixup sound/soc/nuc900 mach mach-w90x900
> fixup sound/arm/pxa\* mach mach-pxa
> fixup sound/atmel/ac97c.c mach mach-at91
> fixup sound/oss/waveartist.c mach mach-footbridge
> fixup sound/oss/vidc\* mach mach-rpc
> fixup sound/soc/atmel/ mach mach-at91
> fixup sound/soc/ux500/ mach mach-ux500
> 
> fixup include/linux/spi/pxa2xx_spi.h mach mach-pxa
> fixup include/linux/mfd/dbx500-prcmu.h mach mach-ux500
> 
> find_unique_mach()
> {
>   {
>     # find files in other architectures using mach/*.h
>     git ls-files | grep /mach/[^/]*.h | while read i ;
>         do echo ${i##*/}
>     done
>     # find files we've already renamed in ARM
>     for i in arch/arm/mach-*/include/mach-*/ ; do
>         git ls-files "$i" | sed -e "s:^$i::g"
>     done
>   } | sort | uniq -c | grep -w 1  | cut -f 2- -d\1
> }
> rename_unique_mach()
> {
>   ALLFILES=`git grep -l "^#include.*<mach/"`
>   ALLINCLUDES=`git grep "^#include.*<mach/" ${ALLFILES}`
>   find_unique_mach | while read i ; do
>     echo "$ALLINCLUDES" | if grep -q "#include.*<mach/$i>" &&
>                 [ -e arch/arm/mach-*/include/mach-*/"$i" ] ; then
>        MACH=`ls arch/arm/mach-*/include/mach-*/$i | cut -f 3 -d /`
>        THESEFILES=`git grep -l "^#include.*<mach/$i>" ${ALLFILES}`
>        echo mach/$i
>        for j in ${THESEFILES} ; do
>           fixup $j mach ${MACH}
>        done
>     fi
>   done
> }
> 
> find_unique_plat()
> {
>   {
>     # all plat/*.h files are already renamed
>     for i in arch/arm/plat-*/include/plat-*/ ; do
>         git ls-files "$i" | sed -e "s:^$i::g"
>     done
>   } | sort | uniq -c | grep -w 1  | cut -f 2- -d\1
> }
> rename_unique_plat()
> {
>   ALLFILES=`git grep -l "#include.*<plat/"`
>   if [ "" != "${ALLFILES}" ] ; then
>     find_unique_plat | while read i ; do
>       PLAT=`ls arch/arm/plat-*/include/plat-*/$i | cut -f 3 -d /`
>       THESEFILES=`git grep -l "^#include.*<plat/$i>" ${ALLFILES}`
>       echo plat/$i
>        for j in ${THESEFILES} ; do
>           fixup $j plat ${PLAT}
>        done
>     done
>   fi
> }
> 
> rename_unique_mach
> rename_unique_plat
> ---
>    0.0% Documentation/spi/
>    0.0% arch/arm/boot/compressed/
>    0.3% arch/arm/mach-at91/include/mach-at91/
>    4.7% arch/arm/mach-at91/
>    0.1% arch/arm/mach-bcmring/csp/chipc/
>    0.1% arch/arm/mach-bcmring/csp/dmac/
>    0.0% arch/arm/mach-bcmring/csp/tmr/
>    0.0% arch/arm/mach-bcmring/include/csp/
>    0.3% arch/arm/mach-bcmring/include/mach-bcmring/csp/
>    0.1% arch/arm/mach-bcmring/include/mach-bcmring/
>    0.4% arch/arm/mach-bcmring/
>    0.0% arch/arm/mach-clps711x/include/mach-clps711x/
>    0.1% arch/arm/mach-clps711x/
>    0.0% arch/arm/mach-cns3xxx/include/mach-cns3xxx/
>    0.1% arch/arm/mach-cns3xxx/
>    0.3% arch/arm/mach-davinci/include/mach-davinci/
>    3.3% arch/arm/mach-davinci/
>    0.0% arch/arm/mach-dove/include/mach-dove/
>    0.3% arch/arm/mach-dove/
>    0.0% arch/arm/mach-ebsa110/
>    0.0% arch/arm/mach-ep93xx/include/mach-ep93xx/
>    0.5% arch/arm/mach-ep93xx/
>    0.2% arch/arm/mach-exynos/include/mach-exynos/
>    3.9% arch/arm/mach-exynos/
>    0.0% arch/arm/mach-footbridge/include/mach-footbridge/
>    0.0% arch/arm/mach-footbridge/
>    0.1% arch/arm/mach-gemini/include/mach-gemini/
>    0.1% arch/arm/mach-gemini/
>    0.0% arch/arm/mach-h720x/include/mach-h720x/
>    0.1% arch/arm/mach-h720x/
>    0.6% arch/arm/mach-imx/include/mach-imx/
>    5.0% arch/arm/mach-imx/
>    0.5% arch/arm/mach-integrator/
>    0.0% arch/arm/mach-iop13xx/include/mach-iop13xx/
>    0.2% arch/arm/mach-iop13xx/
>    0.0% arch/arm/mach-iop32x/include/mach-iop32x/
>    0.1% arch/arm/mach-iop32x/
>    0.0% arch/arm/mach-iop33x/include/mach-iop33x/
>    0.1% arch/arm/mach-iop33x/
>    0.1% arch/arm/mach-ixp4xx/include/mach-ixp4xx/
>    0.3% arch/arm/mach-ixp4xx/
>    0.0% arch/arm/mach-kirkwood/include/mach-kirkwood/
>    1.1% arch/arm/mach-kirkwood/
>    0.1% arch/arm/mach-ks8695/include/mach-ks8695/
>    0.4% arch/arm/mach-ks8695/
>    0.0% arch/arm/mach-lpc32xx/include/mach-lpc32xx/
>    0.3% arch/arm/mach-lpc32xx/
>    0.4% arch/arm/mach-mmp/include/mach-mmp/
>    1.5% arch/arm/mach-mmp/
>    0.1% arch/arm/mach-msm/include/mach-msm/
>    1.2% arch/arm/mach-msm/
>    0.0% arch/arm/mach-mv78xx0/include/mach-mv78xx0/
>    0.3% arch/arm/mach-mv78xx0/
>    0.0% arch/arm/mach-mvebu/include/mach-mvebu/
>    0.0% arch/arm/mach-mvebu/
>    0.5% arch/arm/mach-mxs/devices/
>    0.1% arch/arm/mach-mxs/include/mach-mxs/
>    0.5% arch/arm/mach-mxs/
>    0.3% arch/arm/mach-netx/
>    0.0% arch/arm/mach-nomadik/include/mach-nomadik/
>    0.1% arch/arm/mach-nomadik/
>    0.2% arch/arm/mach-omap1/include/mach-omap1/
>    3.3% arch/arm/mach-omap1/
>    0.1% arch/arm/mach-omap2/include/mach-omap2/
>    8.1% arch/arm/mach-omap2/
>    0.1% arch/arm/mach-orion5x/include/mach-orion5x/
>    0.7% arch/arm/mach-orion5x/
>    0.0% arch/arm/mach-picoxcell/include/mach-picoxcell/
>    0.0% arch/arm/mach-picoxcell/
>    0.0% arch/arm/mach-pnx4008/include/mach-pnx4008/
>    0.4% arch/arm/mach-pnx4008/
>    0.1% arch/arm/mach-prima2/include/mach-prima2/
>    0.0% arch/arm/mach-prima2/
>    0.7% arch/arm/mach-pxa/include/mach-pxa/
>    7.6% arch/arm/mach-pxa/
>    0.3% arch/arm/mach-realview/include/mach-realview/
>    0.4% arch/arm/mach-realview/
>    0.0% arch/arm/mach-rpc/include/mach-rpc/
>    0.1% arch/arm/mach-rpc/
>    0.1% arch/arm/mach-s3c2410/
>    0.1% arch/arm/mach-s3c2412/
>    0.2% arch/arm/mach-s3c2440/
>    0.3% arch/arm/mach-s3c24xx/include/mach-s3c24xx/
>   10.9% arch/arm/mach-s3c24xx/
>    0.1% arch/arm/mach-s3c64xx/include/mach-s3c64xx/
>    3.9% arch/arm/mach-s3c64xx/
>    0.2% arch/arm/mach-s5p64x0/include/mach-s5p64x0/
>    2.1% arch/arm/mach-s5p64x0/
>    0.2% arch/arm/mach-s5pc100/include/mach-s5pc100/
>    1.0% arch/arm/mach-s5pc100/
>    0.2% arch/arm/mach-s5pv210/include/mach-s5pv210/
>    2.1% arch/arm/mach-s5pv210/
>    0.1% arch/arm/mach-sa1100/include/mach-sa1100/
>    1.1% arch/arm/mach-sa1100/
>    0.0% arch/arm/mach-shmobile/include/mach-shmobile/
>    1.9% arch/arm/mach-shmobile/
>    0.0% arch/arm/mach-spear13xx/include/mach-spear13xx/
>    0.1% arch/arm/mach-spear13xx/
>    0.0% arch/arm/mach-spear3xx/include/mach-spear3xx/
>    0.2% arch/arm/mach-spear3xx/
>    0.0% arch/arm/mach-spear6xx/include/mach-spear6xx/
>    0.0% arch/arm/mach-spear6xx/
>    0.0% arch/arm/mach-tegra/include/mach-tegra/
>    1.0% arch/arm/mach-tegra/
>    0.0% arch/arm/mach-u300/include/mach-u300/
>    0.2% arch/arm/mach-u300/
>    0.1% arch/arm/mach-ux500/include/mach-ux500/
>    0.9% arch/arm/mach-ux500/
>    0.0% arch/arm/mach-versatile/include/mach-versatile/
>    0.1% arch/arm/mach-versatile/
>    0.1% arch/arm/mach-vexpress/
>    0.1% arch/arm/mach-vt8500/
>    0.1% arch/arm/mach-w90x900/include/mach-w90x900/
>    0.4% arch/arm/mach-w90x900/
>    0.0% arch/arm/mach-zynq/include/mach-zynq/
>    0.0% arch/arm/mach-zynq/
>    0.0% arch/arm/mm/
>    1.0% arch/arm/plat-mxc/devices/
>    0.4% arch/arm/plat-mxc/
>    0.4% arch/arm/plat-omap/include/plat-omap/
>    0.6% arch/arm/plat-omap/
>    0.1% arch/arm/plat-orion/
>    0.0% arch/arm/plat-pxa/
>    0.6% arch/arm/plat-s3c24xx/
>    0.2% arch/arm/plat-samsung/include/plat-samsung/
>    1.4% arch/arm/plat-samsung/
>    0.0% arch/arm/plat-spear/
>    0.0% arch/arm/plat-versatile/
>    0.1% drivers/ata/
>    0.0% drivers/char/hw_random/
>    0.0% drivers/char/
>    0.0% drivers/clk/mxs/
>    0.0% drivers/clk/
>    0.0% drivers/clocksource/
>    0.0% drivers/cpufreq/
>    0.0% drivers/crypto/ux500/cryp/
>    0.0% drivers/crypto/ux500/hash/
>    0.1% drivers/crypto/
>    0.0% drivers/devfreq/
>    0.0% drivers/dma/ipu/
>    0.2% drivers/dma/
>    0.4% drivers/gpio/
>    0.0% drivers/gpu/drm/exynos/
>    0.0% drivers/hwmon/
>    0.0% drivers/i2c/busses/
>    0.0% drivers/iio/adc/
>    0.3% drivers/input/keyboard/
>    0.0% drivers/input/mouse/
>    0.0% drivers/input/serio/
>    0.1% drivers/input/touchscreen/
>    0.2% drivers/iommu/
>    0.0% drivers/leds/
>    0.1% drivers/media/video/davinci/
>    0.0% drivers/media/video/omap/
>    0.1% drivers/media/video/omap3isp/
>    0.0% drivers/media/video/s5p-fimc/
>    0.0% drivers/media/video/s5p-tv/
>    0.1% drivers/media/video/
>    0.1% drivers/mfd/
>    0.3% drivers/mmc/host/
>    0.0% drivers/mtd/maps/
>    0.4% drivers/mtd/nand/
>    0.0% drivers/mtd/onenand/
>    0.0% drivers/net/ethernet/cadence/
>    0.0% drivers/net/ethernet/micrel/
>    0.0% drivers/net/ethernet/smsc/
>    0.0% drivers/net/ethernet/xscale/
>    0.0% drivers/net/ethernet/
>    0.0% drivers/net/wan/
>    0.6% drivers/pcmcia/
>    0.0% drivers/pinctrl/
>    0.0% drivers/power/
>    0.0% drivers/ptp/
>    0.0% drivers/pwm/
>    0.0% drivers/remoteproc/
>    0.0% drivers/rtc/
>    0.2% drivers/spi/
>    0.0% drivers/staging/nvec/
>    0.0% drivers/staging/omapdrm/
>    0.0% drivers/staging/tidspbridge/core/
>    0.0% drivers/staging/tidspbridge/include/dspbridge/
>    0.0% drivers/staging/tidspbridge/rmgr/
>    0.1% drivers/tty/serial/
>    0.2% drivers/usb/gadget/
>    0.4% drivers/usb/host/
>    0.1% drivers/usb/musb/
>    0.0% drivers/usb/otg/
>    0.1% drivers/video/backlight/
>    0.0% drivers/video/exynos/
>    0.2% drivers/video/msm/
>    0.1% drivers/video/omap/
>    0.1% drivers/video/omap2/dss/
>    0.0% drivers/video/omap2/omapfb/
>    0.0% drivers/video/omap2/
>    0.4% drivers/video/
>    0.0% drivers/watchdog/
>    0.0% include/linux/mfd/
>    0.0% include/linux/platform_data/
>    0.0% include/linux/power/
>    0.0% include/linux/spi/
>    0.0% include/linux/
>    0.1% sound/arm/
>    0.0% sound/atmel/
>    0.0% sound/oss/
>    0.0% sound/soc/atmel/
>    0.1% sound/soc/davinci/
>    0.1% sound/soc/ep93xx/
>    0.0% sound/soc/fsl/
>    0.0% sound/soc/kirkwood/
>    0.0% sound/soc/mxs/
>    0.0% sound/soc/nuc900/
>    0.6% sound/soc/omap/
>    0.5% sound/soc/pxa/
>    0.2% sound/soc/samsung/
>    0.0% sound/soc/tegra/
>    0.1% sound/soc/ux500/
> 
> diff --git a/Documentation/spi/ep93xx_spi b/Documentation/spi/ep93xx_spi
> index d8eb01c..f088b4b 100644
> --- a/Documentation/spi/ep93xx_spi
> +++ b/Documentation/spi/ep93xx_spi
> @@ -26,7 +26,7 @@ arch/arm/mach-ep93xx/ts72xx.c:
>  #include <linux/gpio.h>
>  #include <linux/spi/spi.h>
>  
> -#include <mach/ep93xx_spi.h>
> +#include <mach-ep93xx/ep93xx_spi.h>
>  
>  /* this is our GPIO line used for chip select */
>  #define MMC_CHIP_SELECT_GPIO EP93XX_GPIO_LINE_EGPIO9
> diff --git a/arch/arm/boot/compressed/head-shmobile.S b/arch/arm/boot/compressed/head-shmobile.S
> index fe3719b..4bcb9c7 100644
> --- a/arch/arm/boot/compressed/head-shmobile.S
> +++ b/arch/arm/boot/compressed/head-shmobile.S
> @@ -23,7 +23,7 @@
>         .section        ".start", "ax"
>  
>         /* load board-specific initialization code */
> -#include <mach/zboot.h>
> +#include <mach-shmobile/zboot.h>
>  
>  #if defined(CONFIG_ZBOOT_ROM_MMCIF) || defined(CONFIG_ZBOOT_ROM_SH_MOBILE_SDHI)
>         /* Load image from MMC/SD */
> diff --git a/arch/arm/boot/compressed/sdhi-shmobile.c b/arch/arm/boot/compressed/sdhi-shmobile.c
> index bd3d469..ff0aa20 100644
> --- a/arch/arm/boot/compressed/sdhi-shmobile.c
> +++ b/arch/arm/boot/compressed/sdhi-shmobile.c
> @@ -18,7 +18,7 @@
>  #include <linux/mmc/mmc.h>
>  #include <linux/mmc/sd.h>
>  #include <linux/mmc/tmio.h>
> -#include <mach/sdhi.h>
> +#include <mach-shmobile/sdhi.h>
>  
>  #define OCR_FASTBOOT           (1<<29)
>  #define OCR_HCS                        (1<<30)
> diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c
> index 6f50c67..fd81ffe 100644
> --- a/arch/arm/mach-at91/at91rm9200.c
> +++ b/arch/arm/mach-at91/at91rm9200.c
> @@ -16,11 +16,11 @@
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
>  #include <asm/system_misc.h>
> -#include <mach/at91rm9200.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91_pmc.h>
> -#include <mach/at91_st.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/at91rm9200.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91_pmc.h>
> +#include <mach-at91/at91_st.h>
> +#include <mach-at91/cpu.h>
>  
>  #include "soc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c
> index 01fb732..2b63b60 100644
> --- a/arch/arm/mach-at91/at91rm9200_devices.c
> +++ b/arch/arm/mach-at91/at91rm9200_devices.c
> @@ -18,10 +18,10 @@
>  #include <linux/platform_device.h>
>  #include <linux/i2c-gpio.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91rm9200.h>
> -#include <mach/at91rm9200_mc.h>
> -#include <mach/at91_ramc.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91rm9200.h>
> +#include <mach-at91/at91rm9200_mc.h>
> +#include <mach-at91/at91_ramc.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/at91rm9200_time.c b/arch/arm/mach-at91/at91rm9200_time.c
> index 104ca40..aec1da4 100644
> --- a/arch/arm/mach-at91/at91rm9200_time.c
> +++ b/arch/arm/mach-at91/at91rm9200_time.c
> @@ -27,7 +27,7 @@
>  
>  #include <asm/mach/time.h>
>  
> -#include <mach/at91_st.h>
> +#include <mach-at91/at91_st.h>
>  
>  static unsigned long last_crtr;
>  static u32 irqmask;
> diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c
> index 30c7f26..e84bddb 100644
> --- a/arch/arm/mach-at91/at91sam9260.c
> +++ b/arch/arm/mach-at91/at91sam9260.c
> @@ -17,12 +17,12 @@
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
>  #include <asm/system_misc.h>
> -#include <mach/cpu.h>
> -#include <mach/at91_dbgu.h>
> -#include <mach/at91sam9260.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91_pmc.h>
> -#include <mach/at91_rstc.h>
> +#include <mach-at91/cpu.h>
> +#include <mach-at91/at91_dbgu.h>
> +#include <mach-at91/at91sam9260.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91_pmc.h>
> +#include <mach-at91/at91_rstc.h>
>  
>  #include "soc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c
> index 7b9c2ba..cb364af 100644
> --- a/arch/arm/mach-at91/at91sam9260_devices.c
> +++ b/arch/arm/mach-at91/at91sam9260_devices.c
> @@ -19,13 +19,13 @@
>  
>  #include <linux/platform_data/at91_adc.h>
>  
> -#include <mach/board.h>
> -#include <mach/cpu.h>
> -#include <mach/at91sam9260.h>
> -#include <mach/at91sam9260_matrix.h>
> -#include <mach/at91_matrix.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/at91_adc.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/cpu.h>
> +#include <mach-at91/at91sam9260.h>
> +#include <mach-at91/at91sam9260_matrix.h>
> +#include <mach-at91/at91_matrix.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/at91_adc.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c
> index f40762c..58c830b 100644
> --- a/arch/arm/mach-at91/at91sam9261.c
> +++ b/arch/arm/mach-at91/at91sam9261.c
> @@ -17,11 +17,11 @@
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
>  #include <asm/system_misc.h>
> -#include <mach/cpu.h>
> -#include <mach/at91sam9261.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91_pmc.h>
> -#include <mach/at91_rstc.h>
> +#include <mach-at91/cpu.h>
> +#include <mach-at91/at91sam9261.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91_pmc.h>
> +#include <mach-at91/at91_rstc.h>
>  
>  #include "soc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c
> index 8df5c1b..f2e6805 100644
> --- a/arch/arm/mach-at91/at91sam9261_devices.c
> +++ b/arch/arm/mach-at91/at91sam9261_devices.c
> @@ -21,11 +21,11 @@
>  #include <linux/fb.h>
>  #include <video/atmel_lcdc.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91sam9261.h>
> -#include <mach/at91sam9261_matrix.h>
> -#include <mach/at91_matrix.h>
> -#include <mach/at91sam9_smc.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91sam9261.h>
> +#include <mach-at91/at91sam9261_matrix.h>
> +#include <mach-at91/at91_matrix.h>
> +#include <mach-at91/at91sam9_smc.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c
> index 84b3810..51f4f7e 100644
> --- a/arch/arm/mach-at91/at91sam9263.c
> +++ b/arch/arm/mach-at91/at91sam9263.c
> @@ -17,10 +17,10 @@
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
>  #include <asm/system_misc.h>
> -#include <mach/at91sam9263.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91_pmc.h>
> -#include <mach/at91_rstc.h>
> +#include <mach-at91/at91sam9263.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91_pmc.h>
> +#include <mach-at91/at91_rstc.h>
>  
>  #include "soc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c
> index eb6bbf8..26dc600 100644
> --- a/arch/arm/mach-at91/at91sam9263_devices.c
> +++ b/arch/arm/mach-at91/at91sam9263_devices.c
> @@ -20,11 +20,11 @@
>  #include <linux/fb.h>
>  #include <video/atmel_lcdc.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91sam9263.h>
> -#include <mach/at91sam9263_matrix.h>
> -#include <mach/at91_matrix.h>
> -#include <mach/at91sam9_smc.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91sam9263.h>
> +#include <mach-at91/at91sam9263_matrix.h>
> +#include <mach-at91/at91_matrix.h>
> +#include <mach-at91/at91sam9_smc.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/at91sam926x_time.c b/arch/arm/mach-at91/at91sam926x_time.c
> index ffc0957..e3b0d36 100644
> --- a/arch/arm/mach-at91/at91sam926x_time.c
> +++ b/arch/arm/mach-at91/at91sam926x_time.c
> @@ -20,7 +20,7 @@
>  
>  #include <asm/mach/time.h>
>  
> -#include <mach/at91_pit.h>
> +#include <mach-at91/at91_pit.h>
>  
>  
>  #define PIT_CPIV(x)    ((x) & AT91_PIT_CPIV)
> diff --git a/arch/arm/mach-at91/at91sam9_alt_reset.S b/arch/arm/mach-at91/at91sam9_alt_reset.S
> index 7af2e10..6d8da98 100644
> --- a/arch/arm/mach-at91/at91sam9_alt_reset.S
> +++ b/arch/arm/mach-at91/at91sam9_alt_reset.S
> @@ -14,9 +14,9 @@
>   */
>  
>  #include <linux/linkage.h>
> -#include <mach/hardware.h>
> -#include <mach/at91_ramc.h>
> -#include <mach/at91_rstc.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/at91_ramc.h>
> +#include <mach-at91/at91_rstc.h>
>  
>                         .arm
>  
> diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c
> index ef6cedd..45c79b4 100644
> --- a/arch/arm/mach-at91/at91sam9g45.c
> +++ b/arch/arm/mach-at91/at91sam9g45.c
> @@ -17,10 +17,10 @@
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
>  #include <asm/system_misc.h>
> -#include <mach/at91sam9g45.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91_pmc.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/at91sam9g45.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91_pmc.h>
> +#include <mach-at91/cpu.h>
>  
>  #include "soc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c
> index 0607399..242c850 100644
> --- a/arch/arm/mach-at91/at91sam9g45_devices.c
> +++ b/arch/arm/mach-at91/at91sam9g45_devices.c
> @@ -25,14 +25,14 @@
>  #include <linux/fb.h>
>  #include <video/atmel_lcdc.h>
>  
> -#include <mach/at91_adc.h>
> -#include <mach/board.h>
> -#include <mach/at91sam9g45.h>
> -#include <mach/at91sam9g45_matrix.h>
> -#include <mach/at91_matrix.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/at_hdmac.h>
> -#include <mach/atmel-mci.h>
> +#include <mach-at91/at91_adc.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91sam9g45.h>
> +#include <mach-at91/at91sam9g45_matrix.h>
> +#include <mach-at91/at91_matrix.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/at_hdmac.h>
> +#include <mach-at91/atmel-mci.h>
>  
>  #include <media/atmel-isi.h>
>  
> diff --git a/arch/arm/mach-at91/at91sam9g45_reset.S b/arch/arm/mach-at91/at91sam9g45_reset.S
> index 9d45718..0726dad 100644
> --- a/arch/arm/mach-at91/at91sam9g45_reset.S
> +++ b/arch/arm/mach-at91/at91sam9g45_reset.S
> @@ -11,9 +11,9 @@
>   */
>  
>  #include <linux/linkage.h>
> -#include <mach/hardware.h>
> -#include <mach/at91_ramc.h>
> -#include <mach/at91_rstc.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/at91_ramc.h>
> +#include <mach-at91/at91_rstc.h>
>  
>                         .arm
>  
> diff --git a/arch/arm/mach-at91/at91sam9n12.c b/arch/arm/mach-at91/at91sam9n12.c
> index 0849466..b5f4e1d 100644
> --- a/arch/arm/mach-at91/at91sam9n12.c
> +++ b/arch/arm/mach-at91/at91sam9n12.c
> @@ -12,10 +12,10 @@
>  #include <asm/irq.h>
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
> -#include <mach/at91sam9n12.h>
> -#include <mach/at91_pmc.h>
> -#include <mach/cpu.h>
> -#include <mach/board.h>
> +#include <mach-at91/at91sam9n12.h>
> +#include <mach-at91/at91_pmc.h>
> +#include <mach-at91/cpu.h>
> +#include <mach-at91/board.h>
>  
>  #include "soc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/at91sam9rl.c b/arch/arm/mach-at91/at91sam9rl.c
> index 72ce50a..3c17719 100644
> --- a/arch/arm/mach-at91/at91sam9rl.c
> +++ b/arch/arm/mach-at91/at91sam9rl.c
> @@ -16,12 +16,12 @@
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
>  #include <asm/system_misc.h>
> -#include <mach/cpu.h>
> -#include <mach/at91_dbgu.h>
> -#include <mach/at91sam9rl.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91_pmc.h>
> -#include <mach/at91_rstc.h>
> +#include <mach-at91/cpu.h>
> +#include <mach-at91/at91_dbgu.h>
> +#include <mach-at91/at91sam9rl.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91_pmc.h>
> +#include <mach-at91/at91_rstc.h>
>  
>  #include "soc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c
> index f09fff9..cf41235 100644
> --- a/arch/arm/mach-at91/at91sam9rl_devices.c
> +++ b/arch/arm/mach-at91/at91sam9rl_devices.c
> @@ -17,12 +17,12 @@
>  #include <linux/fb.h>
>  #include <video/atmel_lcdc.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91sam9rl.h>
> -#include <mach/at91sam9rl_matrix.h>
> -#include <mach/at91_matrix.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/at_hdmac.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91sam9rl.h>
> +#include <mach-at91/at91sam9rl_matrix.h>
> +#include <mach-at91/at91_matrix.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/at_hdmac.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/at91sam9x5.c b/arch/arm/mach-at91/at91sam9x5.c
> index 477cf9d..d919d0e 100644
> --- a/arch/arm/mach-at91/at91sam9x5.c
> +++ b/arch/arm/mach-at91/at91sam9x5.c
> @@ -12,10 +12,10 @@
>  #include <asm/irq.h>
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
> -#include <mach/at91sam9x5.h>
> -#include <mach/at91_pmc.h>
> -#include <mach/cpu.h>
> -#include <mach/board.h>
> +#include <mach-at91/at91sam9x5.h>
> +#include <mach-at91/at91_pmc.h>
> +#include <mach-at91/cpu.h>
> +#include <mach-at91/board.h>
>  
>  #include "soc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/at91x40.c b/arch/arm/mach-at91/at91x40.c
> index 46090e6..e3224b1 100644
> --- a/arch/arm/mach-at91/at91x40.c
> +++ b/arch/arm/mach-at91/at91x40.c
> @@ -17,10 +17,10 @@
>  #include <asm/proc-fns.h>
>  #include <asm/system_misc.h>
>  #include <asm/mach/arch.h>
> -#include <mach/at91x40.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91_st.h>
> -#include <mach/timex.h>
> +#include <mach-at91/at91x40.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91_st.h>
> +#include <mach-at91/timex.h>
>  #include "generic.h"
>  
>  /*
> diff --git a/arch/arm/mach-at91/at91x40_time.c b/arch/arm/mach-at91/at91x40_time.c
> index 6ca680a..478fa8a 100644
> --- a/arch/arm/mach-at91/at91x40_time.c
> +++ b/arch/arm/mach-at91/at91x40_time.c
> @@ -24,9 +24,9 @@
>  #include <linux/irq.h>
>  #include <linux/time.h>
>  #include <linux/io.h>
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/mach/time.h>
> -#include <mach/at91_tc.h>
> +#include <mach-at91/at91_tc.h>
>  
>  #define at91_tc_read(field) \
>         __raw_readl(AT91_TC + field)
> diff --git a/arch/arm/mach-at91/board-1arm.c b/arch/arm/mach-at91/board-1arm.c
> index 22d8856..bbfe99a 100644
> --- a/arch/arm/mach-at91/board-1arm.c
> +++ b/arch/arm/mach-at91/board-1arm.c
> @@ -25,7 +25,7 @@
>  #include <linux/module.h>
>  #include <linux/platform_device.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  #include <asm/irq.h>
> @@ -34,9 +34,9 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/cpu.h>
> -#include <mach/at91_aic.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/cpu.h>
> +#include <mach-at91/at91_aic.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-afeb-9260v1.c b/arch/arm/mach-at91/board-afeb-9260v1.c
> index de7be19..ae1469e 100644
> --- a/arch/arm/mach-at91/board-afeb-9260v1.c
> +++ b/arch/arm/mach-at91/board-afeb-9260v1.c
> @@ -34,7 +34,7 @@
>  #include <linux/clk.h>
>  #include <linux/dma-mapping.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  #include <asm/irq.h>
> @@ -43,8 +43,8 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-cam60.c b/arch/arm/mach-at91/board-cam60.c
> index 477e708..8e3b25a 100644
> --- a/arch/arm/mach-at91/board-cam60.c
> +++ b/arch/arm/mach-at91/board-cam60.c
> @@ -29,7 +29,7 @@
>  #include <linux/spi/spi.h>
>  #include <linux/spi/flash.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  #include <asm/irq.h>
> @@ -38,9 +38,9 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-carmeva.c b/arch/arm/mach-at91/board-carmeva.c
> index a5b002f..b2f21fc 100644
> --- a/arch/arm/mach-at91/board-carmeva.c
> +++ b/arch/arm/mach-at91/board-carmeva.c
> @@ -34,9 +34,9 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-cpu9krea.c b/arch/arm/mach-at91/board-cpu9krea.c
> index ecbc13b..2d5334c 100644
> --- a/arch/arm/mach-at91/board-cpu9krea.c
> +++ b/arch/arm/mach-at91/board-cpu9krea.c
> @@ -39,12 +39,12 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/at91sam9260_matrix.h>
> -#include <mach/at91_matrix.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/at91sam9260_matrix.h>
> +#include <mach-at91/at91_matrix.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-cpuat91.c b/arch/arm/mach-at91/board-cpuat91.c
> index 2e6d043..73934ef 100644
> --- a/arch/arm/mach-at91/board-cpuat91.c
> +++ b/arch/arm/mach-at91/board-cpuat91.c
> @@ -27,7 +27,7 @@
>  #include <linux/mtd/physmap.h>
>  #include <linux/mtd/plat-ram.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  #include <asm/irq.h>
> @@ -36,11 +36,11 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91rm9200_mc.h>
> -#include <mach/at91_ramc.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91rm9200_mc.h>
> +#include <mach-at91/at91_ramc.h>
> +#include <mach-at91/cpu.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-csb337.c b/arch/arm/mach-at91/board-csb337.c
> index 462bc31..40f5e99 100644
> --- a/arch/arm/mach-at91/board-csb337.c
> +++ b/arch/arm/mach-at91/board-csb337.c
> @@ -37,9 +37,9 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-csb637.c b/arch/arm/mach-at91/board-csb637.c
> index 872871a..df54c811 100644
> --- a/arch/arm/mach-at91/board-csb637.c
> +++ b/arch/arm/mach-at91/board-csb637.c
> @@ -34,9 +34,9 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-dt.c b/arch/arm/mach-at91/board-dt.c
> index e8f45c4..346b427 100644
> --- a/arch/arm/mach-at91/board-dt.c
> +++ b/arch/arm/mach-at91/board-dt.c
> @@ -15,8 +15,8 @@
>  #include <linux/of_irq.h>
>  #include <linux/of_platform.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
>  
>  #include <asm/setup.h>
>  #include <asm/irq.h>
> diff --git a/arch/arm/mach-at91/board-eb01.c b/arch/arm/mach-at91/board-eb01.c
> index 01f66e9..5a0365d 100644
> --- a/arch/arm/mach-at91/board-eb01.c
> +++ b/arch/arm/mach-at91/board-eb01.c
> @@ -24,11 +24,11 @@
>  #include <linux/platform_device.h>
>  #include <linux/irq.h>
>  #include <asm/mach-types.h>
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
>  #include "generic.h"
>  
>  static void __init at91eb01_init_irq(void)
> diff --git a/arch/arm/mach-at91/board-eb9200.c b/arch/arm/mach-at91/board-eb9200.c
> index d1e1f3f..3ae9f49 100644
> --- a/arch/arm/mach-at91/board-eb9200.c
> +++ b/arch/arm/mach-at91/board-eb9200.c
> @@ -26,7 +26,7 @@
>  #include <linux/module.h>
>  #include <linux/device.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  #include <asm/irq.h>
> @@ -35,8 +35,8 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-ecbat91.c b/arch/arm/mach-at91/board-ecbat91.c
> index 9c24cb2..f9d2da7 100644
> --- a/arch/arm/mach-at91/board-ecbat91.c
> +++ b/arch/arm/mach-at91/board-ecbat91.c
> @@ -28,7 +28,7 @@
>  #include <linux/spi/spi.h>
>  #include <linux/spi/flash.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  #include <asm/irq.h>
> @@ -37,9 +37,9 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/cpu.h>
> -#include <mach/at91_aic.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/cpu.h>
> +#include <mach-at91/at91_aic.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-eco920.c b/arch/arm/mach-at91/board-eco920.c
> index 82bdfde..814756e 100644
> --- a/arch/arm/mach-at91/board-eco920.c
> +++ b/arch/arm/mach-at91/board-eco920.c
> @@ -24,11 +24,11 @@
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91rm9200_mc.h>
> -#include <mach/at91_ramc.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91rm9200_mc.h>
> +#include <mach-at91/at91_ramc.h>
> +#include <mach-at91/cpu.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-flexibity.c b/arch/arm/mach-at91/board-flexibity.c
> index 6cc83a8..d5315ef 100644
> --- a/arch/arm/mach-at91/board-flexibity.c
> +++ b/arch/arm/mach-at91/board-flexibity.c
> @@ -32,9 +32,9 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-foxg20.c b/arch/arm/mach-at91/board-foxg20.c
> index 69ab124..43b5fc2 100644
> --- a/arch/arm/mach-at91/board-foxg20.c
> +++ b/arch/arm/mach-at91/board-foxg20.c
> @@ -32,7 +32,7 @@
>  #include <linux/clk.h>
>  #include <linux/w1-gpio.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  #include <asm/irq.h>
> @@ -41,9 +41,9 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-gsia18s.c b/arch/arm/mach-at91/board-gsia18s.c
> index a9d5e78..b6d0d6f 100644
> --- a/arch/arm/mach-at91/board-gsia18s.c
> +++ b/arch/arm/mach-at91/board-gsia18s.c
> @@ -30,11 +30,11 @@
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/gsia18s.h>
> -#include <mach/stamp9g20.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/gsia18s.h>
> +#include <mach-at91/stamp9g20.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-kafa.c b/arch/arm/mach-at91/board-kafa.c
> index 64c1dbf..7e98f65 100644
> --- a/arch/arm/mach-at91/board-kafa.c
> +++ b/arch/arm/mach-at91/board-kafa.c
> @@ -25,7 +25,7 @@
>  #include <linux/module.h>
>  #include <linux/platform_device.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  #include <asm/irq.h>
> @@ -34,9 +34,9 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/cpu.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-kb9202.c b/arch/arm/mach-at91/board-kb9202.c
> index 5d96cb8..5b1bf97 100644
> --- a/arch/arm/mach-at91/board-kb9202.c
> +++ b/arch/arm/mach-at91/board-kb9202.c
> @@ -26,7 +26,7 @@
>  #include <linux/module.h>
>  #include <linux/platform_device.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  #include <asm/irq.h>
> @@ -35,11 +35,11 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/cpu.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91rm9200_mc.h>
> -#include <mach/at91_ramc.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/cpu.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91rm9200_mc.h>
> +#include <mach-at91/at91_ramc.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-neocore926.c b/arch/arm/mach-at91/board-neocore926.c
> index 18103c5d..c9e9d89 100644
> --- a/arch/arm/mach-at91/board-neocore926.c
> +++ b/arch/arm/mach-at91/board-neocore926.c
> @@ -43,10 +43,10 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-pcontrol-g20.c b/arch/arm/mach-at91/board-pcontrol-g20.c
> index 9ca3e32..f809d33 100644
> --- a/arch/arm/mach-at91/board-pcontrol-g20.c
> +++ b/arch/arm/mach-at91/board-pcontrol-g20.c
> @@ -29,10 +29,10 @@
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/stamp9g20.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/stamp9g20.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-picotux200.c b/arch/arm/mach-at91/board-picotux200.c
> index 1270655..469000d 100644
> --- a/arch/arm/mach-at91/board-picotux200.c
> +++ b/arch/arm/mach-at91/board-picotux200.c
> @@ -28,7 +28,7 @@
>  #include <linux/spi/spi.h>
>  #include <linux/mtd/physmap.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  #include <asm/irq.h>
> @@ -37,10 +37,10 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91rm9200_mc.h>
> -#include <mach/at91_ramc.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91rm9200_mc.h>
> +#include <mach-at91/at91_ramc.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c
> index bf351e2..0364e46 100644
> --- a/arch/arm/mach-at91/board-qil-a9260.c
> +++ b/arch/arm/mach-at91/board-qil-a9260.c
> @@ -39,11 +39,11 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/at91_shdwc.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/at91_shdwc.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-rm9200dk.c b/arch/arm/mach-at91/board-rm9200dk.c
> index cc2bf97..9769e97 100644
> --- a/arch/arm/mach-at91/board-rm9200dk.c
> +++ b/arch/arm/mach-at91/board-rm9200dk.c
> @@ -38,11 +38,11 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91rm9200_mc.h>
> -#include <mach/at91_ramc.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91rm9200_mc.h>
> +#include <mach-at91/at91_ramc.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-rm9200ek.c b/arch/arm/mach-at91/board-rm9200ek.c
> index 62e19e6..2311b39 100644
> --- a/arch/arm/mach-at91/board-rm9200ek.c
> +++ b/arch/arm/mach-at91/board-rm9200ek.c
> @@ -38,11 +38,11 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91rm9200_mc.h>
> -#include <mach/at91_ramc.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91rm9200_mc.h>
> +#include <mach-at91/at91_ramc.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/board-rsi-ews.c b/arch/arm/mach-at91/board-rsi-ews.c
> index c3b43ae..5dfc434 100644
> --- a/arch/arm/mach-at91/board-rsi-ews.c
> +++ b/arch/arm/mach-at91/board-rsi-ews.c
> @@ -24,9 +24,9 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
>  
>  #include <linux/gpio.h>
>  
> diff --git a/arch/arm/mach-at91/board-sam9-l9260.c b/arch/arm/mach-at91/board-sam9-l9260.c
> index 7bf6da7..39546b8 100644
> --- a/arch/arm/mach-at91/board-sam9-l9260.c
> +++ b/arch/arm/mach-at91/board-sam9-l9260.c
> @@ -28,7 +28,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/spi/spi.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  #include <asm/irq.h>
> @@ -37,9 +37,9 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-sam9260ek.c b/arch/arm/mach-at91/board-sam9260ek.c
> index 889c1bf..27865bc 100644
> --- a/arch/arm/mach-at91/board-sam9260ek.c
> +++ b/arch/arm/mach-at91/board-sam9260ek.c
> @@ -40,12 +40,12 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/at91_shdwc.h>
> -#include <mach/system_rev.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/at91_shdwc.h>
> +#include <mach-at91/system_rev.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c
> index 2269be5..e37f30f 100644
> --- a/arch/arm/mach-at91/board-sam9261ek.c
> +++ b/arch/arm/mach-at91/board-sam9261ek.c
> @@ -44,12 +44,12 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/at91_shdwc.h>
> -#include <mach/system_rev.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/at91_shdwc.h>
> +#include <mach-at91/system_rev.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c
> index 82adf58..b149347 100644
> --- a/arch/arm/mach-at91/board-sam9263ek.c
> +++ b/arch/arm/mach-at91/board-sam9263ek.c
> @@ -43,12 +43,12 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/at91_shdwc.h>
> -#include <mach/system_rev.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/at91_shdwc.h>
> +#include <mach-at91/system_rev.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-sam9g20ek.c b/arch/arm/mach-at91/board-sam9g20ek.c
> index 4ea4ee0..cd48ea7 100644
> --- a/arch/arm/mach-at91/board-sam9g20ek.c
> +++ b/arch/arm/mach-at91/board-sam9g20ek.c
> @@ -34,7 +34,7 @@
>  
>  #include <linux/platform_data/at91_adc.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  #include <asm/irq.h>
> @@ -43,10 +43,10 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/system_rev.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/system_rev.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-sam9m10g45ek.c b/arch/arm/mach-at91/board-sam9m10g45ek.c
> index 3d48ec1..4222519 100644
> --- a/arch/arm/mach-at91/board-sam9m10g45ek.c
> +++ b/arch/arm/mach-at91/board-sam9m10g45ek.c
> @@ -29,7 +29,7 @@
>  
>  #include <linux/platform_data/at91_adc.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <video/atmel_lcdc.h>
>  #include <media/soc_camera.h>
>  #include <media/atmel-isi.h>
> @@ -42,11 +42,11 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/at91_shdwc.h>
> -#include <mach/system_rev.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/at91_shdwc.h>
> +#include <mach-at91/system_rev.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-sam9rlek.c b/arch/arm/mach-at91/board-sam9rlek.c
> index e7dc3ea..80f805c 100644
> --- a/arch/arm/mach-at91/board-sam9rlek.c
> +++ b/arch/arm/mach-at91/board-sam9rlek.c
> @@ -29,11 +29,11 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/at91_shdwc.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/at91_shdwc.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-snapper9260.c b/arch/arm/mach-at91/board-snapper9260.c
> index a4e031a..dada12c 100644
> --- a/arch/arm/mach-at91/board-snapper9260.c
> +++ b/arch/arm/mach-at91/board-snapper9260.c
> @@ -31,10 +31,10 @@
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-stamp9g20.c b/arch/arm/mach-at91/board-stamp9g20.c
> index 29eae16..64c7010 100644
> --- a/arch/arm/mach-at91/board-stamp9g20.c
> +++ b/arch/arm/mach-at91/board-stamp9g20.c
> @@ -25,9 +25,9 @@
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
>  
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-usb-a926x.c b/arch/arm/mach-at91/board-usb-a926x.c
> index c1476b9..dacfc5b 100644
> --- a/arch/arm/mach-at91/board-usb-a926x.c
> +++ b/arch/arm/mach-at91/board-usb-a926x.c
> @@ -40,11 +40,11 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91sam9_smc.h>
> -#include <mach/at91_shdwc.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91sam9_smc.h>
> +#include <mach-at91/at91_shdwc.h>
>  
>  #include "sam9_smc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-at91/board-yl-9200.c b/arch/arm/mach-at91/board-yl-9200.c
> index 516d340..fed4f0a 100644
> --- a/arch/arm/mach-at91/board-yl-9200.c
> +++ b/arch/arm/mach-at91/board-yl-9200.c
> @@ -42,12 +42,12 @@
>  #include <asm/mach/map.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/board.h>
> -#include <mach/at91_aic.h>
> -#include <mach/at91rm9200_mc.h>
> -#include <mach/at91_ramc.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91rm9200_mc.h>
> +#include <mach-at91/at91_ramc.h>
> +#include <mach-at91/cpu.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/clock.c b/arch/arm/mach-at91/clock.c
> index de2ec6b..c5789a1 100644
> --- a/arch/arm/mach-at91/clock.c
> +++ b/arch/arm/mach-at91/clock.c
> @@ -25,9 +25,9 @@
>  #include <linux/io.h>
>  #include <linux/of_address.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/at91_pmc.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/at91_pmc.h>
> +#include <mach-at91/cpu.h>
>  
>  #include <asm/proc-fns.h>
>  
> diff --git a/arch/arm/mach-at91/cpuidle.c b/arch/arm/mach-at91/cpuidle.c
> index 0c63815..6d03dc6 100644
> --- a/arch/arm/mach-at91/cpuidle.c
> +++ b/arch/arm/mach-at91/cpuidle.c
> @@ -21,7 +21,7 @@
>  #include <linux/export.h>
>  #include <asm/proc-fns.h>
>  #include <asm/cpuidle.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/cpu.h>
>  
>  #include "pm.h"
>  
> diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c
> index be42cf0..ce21de2 100644
> --- a/arch/arm/mach-at91/gpio.c
> +++ b/arch/arm/mach-at91/gpio.c
> @@ -28,8 +28,8 @@
>  
>  #include <asm/mach/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/at91_pio.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/at91_pio.h>
>  
>  #include "generic.h"
>  
> diff --git a/arch/arm/mach-at91/include/mach-at91/at91_ramc.h b/arch/arm/mach-at91/include/mach-at91/at91_ramc.h
> index d8aeb27..c871a14 100644
> --- a/arch/arm/mach-at91/include/mach-at91/at91_ramc.h
> +++ b/arch/arm/mach-at91/include/mach-at91/at91_ramc.h
> @@ -25,8 +25,8 @@ extern void __iomem *at91_ramc_base[];
>  #define AT91_MEMCTRL_SDRAMC    1
>  #define AT91_MEMCTRL_DDRSDR    2
>  
> -#include <mach/at91rm9200_sdramc.h>
> -#include <mach/at91sam9_ddrsdr.h>
> -#include <mach/at91sam9_sdramc.h>
> +#include <mach-at91/at91rm9200_sdramc.h>
> +#include <mach-at91/at91sam9_ddrsdr.h>
> +#include <mach-at91/at91sam9_sdramc.h>
>  
>  #endif /* __AT91_RAMC_H__ */
> diff --git a/arch/arm/mach-at91/include/mach-at91/at91sam9_smc.h b/arch/arm/mach-at91/include/mach-at91/at91sam9_smc.h
> index 175e1fd..2f6393e 100644
> --- a/arch/arm/mach-at91/include/mach-at91/at91sam9_smc.h
> +++ b/arch/arm/mach-at91/include/mach-at91/at91sam9_smc.h
> @@ -16,7 +16,7 @@
>  #ifndef AT91SAM9_SMC_H
>  #define AT91SAM9_SMC_H
>  
> -#include <mach/cpu.h>
> +#include <mach-at91/cpu.h>
>  
>  #ifndef __ASSEMBLY__
>  struct sam9_smc_config {
> diff --git a/arch/arm/mach-at91/include/mach-at91/atmel-mci.h b/arch/arm/mach-at91/include/mach-at91/atmel-mci.h
> index 998cb0c..d8f4109 100644
> --- a/arch/arm/mach-at91/include/mach-at91/atmel-mci.h
> +++ b/arch/arm/mach-at91/include/mach-at91/atmel-mci.h
> @@ -1,7 +1,7 @@
>  #ifndef __MACH_ATMEL_MCI_H
>  #define __MACH_ATMEL_MCI_H
>  
> -#include <mach/at_hdmac.h>
> +#include <mach-at91/at_hdmac.h>
>  
>  /**
>   * struct mci_dma_data - DMA data for MCI interface
> diff --git a/arch/arm/mach-at91/include/mach-at91/debug-macro.S b/arch/arm/mach-at91/include/mach-at91/debug-macro.S
> index c6bb9e2..8a1599c 100644
> --- a/arch/arm/mach-at91/include/mach-at91/debug-macro.S
> +++ b/arch/arm/mach-at91/include/mach-at91/debug-macro.S
> @@ -11,8 +11,8 @@
>   *
>  */
>  
> -#include <mach/hardware.h>
> -#include <mach/at91_dbgu.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/at91_dbgu.h>
>  
>  #if defined(CONFIG_AT91_DEBUG_LL_DBGU0)
>  #define AT91_DBGU AT91_BASE_DBGU0
> diff --git a/arch/arm/mach-at91/include/mach-at91/hardware.h b/arch/arm/mach-at91/include/mach-at91/hardware.h
> index 09242b6..caef81c 100644
> --- a/arch/arm/mach-at91/include/mach-at91/hardware.h
> +++ b/arch/arm/mach-at91/include/mach-at91/hardware.h
> @@ -23,16 +23,16 @@
>  #define AT91_BASE_DBGU1        0xffffee00
>  
>  #if defined(CONFIG_ARCH_AT91X40)
> -#include <mach/at91x40.h>
> +#include <mach-at91/at91x40.h>
>  #else
> -#include <mach/at91rm9200.h>
> -#include <mach/at91sam9260.h>
> -#include <mach/at91sam9261.h>
> -#include <mach/at91sam9263.h>
> -#include <mach/at91sam9rl.h>
> -#include <mach/at91sam9g45.h>
> -#include <mach/at91sam9x5.h>
> -#include <mach/at91sam9n12.h>
> +#include <mach-at91/at91rm9200.h>
> +#include <mach-at91/at91sam9260.h>
> +#include <mach-at91/at91sam9261.h>
> +#include <mach-at91/at91sam9263.h>
> +#include <mach-at91/at91sam9rl.h>
> +#include <mach-at91/at91sam9g45.h>
> +#include <mach-at91/at91sam9x5.h>
> +#include <mach-at91/at91sam9n12.h>
>  
>  /*
>   * On all at91 except rm9200 and x40 have the System Controller starts
> diff --git a/arch/arm/mach-at91/include/mach-at91/memory.h b/arch/arm/mach-at91/include/mach-at91/memory.h
> index 401c207..88c06fd 100644
> --- a/arch/arm/mach-at91/include/mach-at91/memory.h
> +++ b/arch/arm/mach-at91/include/mach-at91/memory.h
> @@ -21,6 +21,6 @@
>  #ifndef __ASM_ARCH_MEMORY_H
>  #define __ASM_ARCH_MEMORY_H
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  
>  #endif
> diff --git a/arch/arm/mach-at91/include/mach-at91/timex.h b/arch/arm/mach-at91/include/mach-at91/timex.h
> index 5e917a6..f4e72e2 100644
> --- a/arch/arm/mach-at91/include/mach-at91/timex.h
> +++ b/arch/arm/mach-at91/include/mach-at91/timex.h
> @@ -21,7 +21,7 @@
>  #ifndef __ASM_ARCH_TIMEX_H
>  #define __ASM_ARCH_TIMEX_H
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  
>  #ifdef CONFIG_ARCH_AT91X40
>  
> diff --git a/arch/arm/mach-at91/include/mach-at91/uncompress.h b/arch/arm/mach-at91/include/mach-at91/uncompress.h
> index 6f6118d..914feb7 100644
> --- a/arch/arm/mach-at91/include/mach-at91/uncompress.h
> +++ b/arch/arm/mach-at91/include/mach-at91/uncompress.h
> @@ -24,10 +24,10 @@
>  
>  #include <linux/io.h>
>  #include <linux/atmel_serial.h>
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  
> -#include <mach/at91_dbgu.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/at91_dbgu.h>
> +#include <mach-at91/cpu.h>
>  
>  void __iomem *at91_uart;
>  
> diff --git a/arch/arm/mach-at91/irq.c b/arch/arm/mach-at91/irq.c
> index 1e02c0e..eeddbec 100644
> --- a/arch/arm/mach-at91/irq.c
> +++ b/arch/arm/mach-at91/irq.c
> @@ -33,7 +33,7 @@
>  #include <linux/err.h>
>  #include <linux/slab.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/irq.h>
>  #include <asm/setup.h>
>  
> @@ -42,7 +42,7 @@
>  #include <asm/mach/irq.h>
>  #include <asm/mach/map.h>
>  
> -#include <mach/at91_aic.h>
> +#include <mach-at91/at91_aic.h>
>  
>  void __iomem *at91_aic_base;
>  static struct irq_domain *at91_aic_domain;
> diff --git a/arch/arm/mach-at91/leds.c b/arch/arm/mach-at91/leds.c
> index 8dfafe7..f921b1e 100644
> --- a/arch/arm/mach-at91/leds.c
> +++ b/arch/arm/mach-at91/leds.c
> @@ -15,7 +15,7 @@
>  #include <linux/init.h>
>  #include <linux/platform_device.h>
>  
> -#include <mach/board.h>
> +#include <mach-at91/board.h>
>  
>  
>  /* ------------------------------------------------------------------------- */
> diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
> index 2c2d865..a5b940e 100644
> --- a/arch/arm/mach-at91/pm.c
> +++ b/arch/arm/mach-at91/pm.c
> @@ -25,9 +25,9 @@
>  #include <asm/mach/time.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/at91_aic.h>
> -#include <mach/at91_pmc.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/at91_aic.h>
> +#include <mach-at91/at91_pmc.h>
> +#include <mach-at91/cpu.h>
>  
>  #include "generic.h"
>  #include "pm.h"
> @@ -36,8 +36,8 @@
>   * Show the reason for the previous system reset.
>   */
>  
> -#include <mach/at91_rstc.h>
> -#include <mach/at91_shdwc.h>
> +#include <mach-at91/at91_rstc.h>
> +#include <mach-at91/at91_shdwc.h>
>  
>  static void __init show_reset_status(void)
>  {
> diff --git a/arch/arm/mach-at91/pm.h b/arch/arm/mach-at91/pm.h
> index 38f467c..529072a 100644
> --- a/arch/arm/mach-at91/pm.h
> +++ b/arch/arm/mach-at91/pm.h
> @@ -11,8 +11,8 @@
>  #ifndef __ARCH_ARM_MACH_AT91_PM
>  #define __ARCH_ARM_MACH_AT91_PM
>  
> -#include <mach/at91_ramc.h>
> -#include <mach/at91rm9200_sdramc.h>
> +#include <mach-at91/at91_ramc.h>
> +#include <mach-at91/at91rm9200_sdramc.h>
>  
>  /*
>   * The AT91RM9200 goes into self-refresh mode with this command, and will
> diff --git a/arch/arm/mach-at91/pm_slowclock.S b/arch/arm/mach-at91/pm_slowclock.S
> index 098c28d..8f263c6 100644
> --- a/arch/arm/mach-at91/pm_slowclock.S
> +++ b/arch/arm/mach-at91/pm_slowclock.S
> @@ -13,9 +13,9 @@
>   */
>  
>  #include <linux/linkage.h>
> -#include <mach/hardware.h>
> -#include <mach/at91_pmc.h>
> -#include <mach/at91_ramc.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/at91_pmc.h>
> +#include <mach-at91/at91_ramc.h>
>  
>  
>  #ifdef CONFIG_SOC_AT91SAM9263
> diff --git a/arch/arm/mach-at91/sam9_smc.c b/arch/arm/mach-at91/sam9_smc.c
> index 99a0a1d..be40bf2 100644
> --- a/arch/arm/mach-at91/sam9_smc.c
> +++ b/arch/arm/mach-at91/sam9_smc.c
> @@ -14,7 +14,7 @@
>  #include <linux/of.h>
>  #include <linux/of_address.h>
>  
> -#include <mach/at91sam9_smc.h>
> +#include <mach-at91/at91sam9_smc.h>
>  
>  #include "sam9_smc.h"
>  
> diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
> index 944bffb..0fe58d5 100644
> --- a/arch/arm/mach-at91/setup.c
> +++ b/arch/arm/mach-at91/setup.c
> @@ -14,11 +14,11 @@
>  #include <asm/system_misc.h>
>  #include <asm/mach/map.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/cpu.h>
> -#include <mach/at91_dbgu.h>
> -#include <mach/at91_pmc.h>
> -#include <mach/at91_shdwc.h>
> +#include <mach-at91/hardware.h>
> +#include <mach-at91/cpu.h>
> +#include <mach-at91/at91_dbgu.h>
> +#include <mach-at91/at91_pmc.h>
> +#include <mach-at91/at91_shdwc.h>
>  
>  #include "soc.h"
>  #include "generic.h"
> diff --git a/arch/arm/mach-bcmring/arch.c b/arch/arm/mach-bcmring/arch.c
> index 45c97b1..f7469da 100644
> --- a/arch/arm/mach-bcmring/arch.c
> +++ b/arch/arm/mach-bcmring/arch.c
> @@ -32,11 +32,11 @@
>  #include <asm/pmu.h>
>  
>  #include <asm/mach/arch.h>
> -#include <mach/dma.h>
> -#include <mach/hardware.h>
> -#include <mach/csp/mm_io.h>
> -#include <mach/csp/chipcHw_def.h>
> -#include <mach/csp/chipcHw_inline.h>
> +#include <mach-bcmring/dma.h>
> +#include <mach-bcmring/hardware.h>
> +#include <mach-bcmring/csp/mm_io.h>
> +#include <mach-bcmring/csp/chipcHw_def.h>
> +#include <mach-bcmring/csp/chipcHw_inline.h>
>  
>  #include <cfg_global.h>
>  
> diff --git a/arch/arm/mach-bcmring/clock.c b/arch/arm/mach-bcmring/clock.c
> index ad237a4..108845f 100644
> --- a/arch/arm/mach-bcmring/clock.c
> +++ b/arch/arm/mach-bcmring/clock.c
> @@ -22,10 +22,10 @@
>  #include <linux/clk.h>
>  #include <linux/spinlock.h>
>  #include <linux/clkdev.h>
> -#include <mach/csp/hw_cfg.h>
> -#include <mach/csp/chipcHw_def.h>
> -#include <mach/csp/chipcHw_reg.h>
> -#include <mach/csp/chipcHw_inline.h>
> +#include <mach-bcmring/csp/hw_cfg.h>
> +#include <mach-bcmring/csp/chipcHw_def.h>
> +#include <mach-bcmring/csp/chipcHw_reg.h>
> +#include <mach-bcmring/csp/chipcHw_inline.h>
>  
>  #include "clock.h"
>  
> diff --git a/arch/arm/mach-bcmring/clock.h b/arch/arm/mach-bcmring/clock.h
> index 5e0b981..2e01614 100644
> --- a/arch/arm/mach-bcmring/clock.h
> +++ b/arch/arm/mach-bcmring/clock.h
> @@ -11,7 +11,7 @@
>  * license other than the GPL, without Broadcom's express prior written
>  * consent.
>  *****************************************************************************/
> -#include <mach/csp/chipcHw_def.h>
> +#include <mach-bcmring/csp/chipcHw_def.h>
>  
>  #define CLK_TYPE_PRIMARY         1     /* primary clock must NOT have a parent */
>  #define CLK_TYPE_PLL1            2     /* PPL1 */
> diff --git a/arch/arm/mach-bcmring/core.c b/arch/arm/mach-bcmring/core.c
> index adbfb19..4d089b3 100644
> --- a/arch/arm/mach-bcmring/core.c
> +++ b/arch/arm/mach-bcmring/core.c
> @@ -29,8 +29,8 @@
>  #include <linux/amba/bus.h>
>  #include <linux/clkdev.h>
>  
> -#include <mach/csp/mm_addr.h>
> -#include <mach/hardware.h>
> +#include <mach-bcmring/csp/mm_addr.h>
> +#include <mach-bcmring/hardware.h>
>  #include <linux/io.h>
>  #include <asm/irq.h>
>  #include <asm/hardware/arm_timer.h>
> @@ -48,9 +48,9 @@
>  #include "clock.h"
>  
>  #include <csp/secHw.h>
> -#include <mach/csp/secHw_def.h>
> -#include <mach/csp/chipcHw_inline.h>
> -#include <mach/csp/tmrHw_reg.h>
> +#include <mach-bcmring/csp/secHw_def.h>
> +#include <mach-bcmring/csp/chipcHw_inline.h>
> +#include <mach-bcmring/csp/tmrHw_reg.h>
>  
>  static AMBA_APB_DEVICE(uartA, "uartA", 0, MM_ADDR_IO_UARTA, {IRQ_UARTA}, NULL);
>  static AMBA_APB_DEVICE(uartB, "uartB", 0, MM_ADDR_IO_UARTB, {IRQ_UARTB}, NULL);
> diff --git a/arch/arm/mach-bcmring/csp/chipc/chipcHw.c b/arch/arm/mach-bcmring/csp/chipc/chipcHw.c
> index 96273ff..270689d 100644
> --- a/arch/arm/mach-bcmring/csp/chipc/chipcHw.c
> +++ b/arch/arm/mach-bcmring/csp/chipc/chipcHw.c
> @@ -30,8 +30,8 @@
>  #include <csp/stdint.h>
>  #include <csp/module.h>
>  
> -#include <mach/csp/chipcHw_def.h>
> -#include <mach/csp/chipcHw_inline.h>
> +#include <mach-bcmring/csp/chipcHw_def.h>
> +#include <mach-bcmring/csp/chipcHw_inline.h>
>  
>  #include <csp/reg.h>
>  #include <csp/delay.h>
> diff --git a/arch/arm/mach-bcmring/csp/chipc/chipcHw_init.c b/arch/arm/mach-bcmring/csp/chipc/chipcHw_init.c
> index 367df75..48e5977 100644
> --- a/arch/arm/mach-bcmring/csp/chipc/chipcHw_init.c
> +++ b/arch/arm/mach-bcmring/csp/chipc/chipcHw_init.c
> @@ -30,8 +30,8 @@
>  #include <csp/stdint.h>
>  #include <csp/module.h>
>  
> -#include <mach/csp/chipcHw_def.h>
> -#include <mach/csp/chipcHw_inline.h>
> +#include <mach-bcmring/csp/chipcHw_def.h>
> +#include <mach-bcmring/csp/chipcHw_inline.h>
>  
>  #include <csp/reg.h>
>  #include <csp/delay.h>
> diff --git a/arch/arm/mach-bcmring/csp/chipc/chipcHw_reset.c b/arch/arm/mach-bcmring/csp/chipc/chipcHw_reset.c
> index 2671d88..0aee4f2 100644
> --- a/arch/arm/mach-bcmring/csp/chipc/chipcHw_reset.c
> +++ b/arch/arm/mach-bcmring/csp/chipc/chipcHw_reset.c
> @@ -14,8 +14,8 @@
>  
>  /* ---- Include Files ---------------------------------------------------- */
>  #include <csp/stdint.h>
> -#include <mach/csp/chipcHw_def.h>
> -#include <mach/csp/chipcHw_inline.h>
> +#include <mach-bcmring/csp/chipcHw_def.h>
> +#include <mach-bcmring/csp/chipcHw_inline.h>
>  #include <csp/intcHw.h>
>  #include <csp/cache.h>
>  
> diff --git a/arch/arm/mach-bcmring/csp/chipc/chipcHw_str.c b/arch/arm/mach-bcmring/csp/chipc/chipcHw_str.c
> index 54ad964..d466c49 100644
> --- a/arch/arm/mach-bcmring/csp/chipc/chipcHw_str.c
> +++ b/arch/arm/mach-bcmring/csp/chipc/chipcHw_str.c
> @@ -23,7 +23,7 @@
>  
>  /* ---- Include Files ---------------------------------------------------- */
>  
> -#include <mach/csp/chipcHw_inline.h>
> +#include <mach-bcmring/csp/chipcHw_inline.h>
>  
>  /* ---- Private Constants and Types --------------------------------------- */
>  
> diff --git a/arch/arm/mach-bcmring/csp/dmac/dmacHw.c b/arch/arm/mach-bcmring/csp/dmac/dmacHw.c
> index 6b9be2e..4a9675a 100644
> --- a/arch/arm/mach-bcmring/csp/dmac/dmacHw.c
> +++ b/arch/arm/mach-bcmring/csp/dmac/dmacHw.c
> @@ -30,9 +30,9 @@
>  #include <stddef.h>
>  
>  #include <csp/dmacHw.h>
> -#include <mach/csp/dmacHw_reg.h>
> -#include <mach/csp/dmacHw_priv.h>
> -#include <mach/csp/chipcHw_inline.h>
> +#include <mach-bcmring/csp/dmacHw_reg.h>
> +#include <mach-bcmring/csp/dmacHw_priv.h>
> +#include <mach-bcmring/csp/chipcHw_inline.h>
>  
>  /* ---- External Function Prototypes ------------------------------------- */
>  
> diff --git a/arch/arm/mach-bcmring/csp/dmac/dmacHw_extra.c b/arch/arm/mach-bcmring/csp/dmac/dmacHw_extra.c
> index a1f3283..f4e883a 100644
> --- a/arch/arm/mach-bcmring/csp/dmac/dmacHw_extra.c
> +++ b/arch/arm/mach-bcmring/csp/dmac/dmacHw_extra.c
> @@ -30,8 +30,8 @@
>  #include <stddef.h>
>  
>  #include <csp/dmacHw.h>
> -#include <mach/csp/dmacHw_reg.h>
> -#include <mach/csp/dmacHw_priv.h>
> +#include <mach-bcmring/csp/dmacHw_reg.h>
> +#include <mach-bcmring/csp/dmacHw_priv.h>
>  
>  extern dmacHw_CBLK_t dmacHw_gCblk[dmacHw_MAX_CHANNEL_COUNT];   /* Declared in dmacHw.c */
>  
> diff --git a/arch/arm/mach-bcmring/csp/tmr/tmrHw.c b/arch/arm/mach-bcmring/csp/tmr/tmrHw.c
> index 16225e4..220e314 100644
> --- a/arch/arm/mach-bcmring/csp/tmr/tmrHw.c
> +++ b/arch/arm/mach-bcmring/csp/tmr/tmrHw.c
> @@ -30,7 +30,7 @@
>  #include <csp/stdint.h>
>  
>  #include <csp/tmrHw.h>
> -#include <mach/csp/tmrHw_reg.h>
> +#include <mach-bcmring/csp/tmrHw_reg.h>
>  
>  #define tmrHw_ASSERT(a)                     if (!(a)) *(char *)0 = 0
>  #define tmrHw_MILLISEC_PER_SEC              (1000)
> diff --git a/arch/arm/mach-bcmring/dma.c b/arch/arm/mach-bcmring/dma.c
> index e5fd241..e90cfdf 100644
> --- a/arch/arm/mach-bcmring/dma.c
> +++ b/arch/arm/mach-bcmring/dma.c
> @@ -31,11 +31,11 @@
>  #include <linux/proc_fs.h>
>  #include <linux/slab.h>
>  
> -#include <mach/timer.h>
> +#include <mach-bcmring/timer.h>
>  
>  #include <linux/pfn.h>
>  #include <linux/atomic.h>
> -#include <mach/dma.h>
> +#include <mach-bcmring/dma.h>
>  
>  /* ---- Public Variables ------------------------------------------------- */
>  
> diff --git a/arch/arm/mach-bcmring/include/csp/dmacHw.h b/arch/arm/mach-bcmring/include/csp/dmacHw.h
> index e6a1dc4..97d8a04 100644
> --- a/arch/arm/mach-bcmring/include/csp/dmacHw.h
> +++ b/arch/arm/mach-bcmring/include/csp/dmacHw.h
> @@ -26,7 +26,7 @@
>  #include <stddef.h>
>  
>  #include <csp/stdint.h>
> -#include <mach/csp/dmacHw_reg.h>
> +#include <mach-bcmring/csp/dmacHw_reg.h>
>  
>  /* Define DMA Channel ID using DMA controller number (m) and channel number (c).
>  
> diff --git a/arch/arm/mach-bcmring/include/csp/intcHw.h b/arch/arm/mach-bcmring/include/csp/intcHw.h
> index 1c639c8..eb7d3ae 100644
> --- a/arch/arm/mach-bcmring/include/csp/intcHw.h
> +++ b/arch/arm/mach-bcmring/include/csp/intcHw.h
> @@ -28,7 +28,7 @@
>  #define _INTCHW_H
>  
>  /* ---- Include Files ---------------------------------------------------- */
> -#include <mach/csp/intcHw_reg.h>
> +#include <mach-bcmring/csp/intcHw_reg.h>
>  
>  /* ---- Public Constants and Types --------------------------------------- */
>  /* ---- Public Variable Externs ------------------------------------------ */
> diff --git a/arch/arm/mach-bcmring/include/csp/reg.h b/arch/arm/mach-bcmring/include/csp/reg.h
> index 56654d2..23ac669 100644
> --- a/arch/arm/mach-bcmring/include/csp/reg.h
> +++ b/arch/arm/mach-bcmring/include/csp/reg.h
> @@ -69,7 +69,7 @@
>  /*  */
>  
>  #if defined(__KERNEL__) && !defined(STANDALONE)
> -#include <mach/hardware.h>
> +#include <mach-bcmring/hardware.h>
>  #include <linux/interrupt.h>
>  
>  #define REG_LOCAL_IRQ_SAVE      HW_DECLARE_SPINLOCK(reg32) \
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/cap_inline.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/cap_inline.h
> index 933ce68..4a1ecfa 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/cap_inline.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/cap_inline.h
> @@ -16,7 +16,7 @@
>  #define CAP_INLINE_H
>  
>  /* ---- Include Files ---------------------------------------------------- */
> -#include <mach/csp/cap.h>
> +#include <mach-bcmring/csp/cap.h>
>  #include <cfg_global.h>
>  
>  /* ---- Public Constants and Types --------------------------------------- */
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_def.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_def.h
> index 1619733..fe57b08 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_def.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_def.h
> @@ -20,7 +20,7 @@
>  #include <csp/stdint.h>
>  #include <csp/errno.h>
>  #include <csp/reg.h>
> -#include <mach/csp/chipcHw_reg.h>
> +#include <mach-bcmring/csp/chipcHw_reg.h>
>  
>  /* ---- Public Constants and Types ---------------------------------------- */
>  
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_inline.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_inline.h
> index 03238c2..108209c 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_inline.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_inline.h
> @@ -19,8 +19,8 @@
>  
>  #include <csp/errno.h>
>  #include <csp/reg.h>
> -#include <mach/csp/chipcHw_reg.h>
> -#include <mach/csp/chipcHw_def.h>
> +#include <mach-bcmring/csp/chipcHw_reg.h>
> +#include <mach-bcmring/csp/chipcHw_def.h>
>  
>  /* ---- Private Constants and Types --------------------------------------- */
>  typedef enum {
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_reg.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_reg.h
> index b162448..85b13d7 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_reg.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/chipcHw_reg.h
> @@ -23,9 +23,9 @@
>  #ifndef CHIPCHW_REG_H
>  #define CHIPCHW_REG_H
>  
> -#include <mach/csp/mm_io.h>
> +#include <mach-bcmring/csp/mm_io.h>
>  #include <csp/reg.h>
> -#include <mach/csp/ddrcReg.h>
> +#include <mach-bcmring/csp/ddrcReg.h>
>  
>  #define chipcHw_BASE_ADDRESS    MM_IO_BASE_CHIPC
>  
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/ddrcReg.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/ddrcReg.h
> index f1b68e2..462c099 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/ddrcReg.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/ddrcReg.h
> @@ -33,7 +33,7 @@ extern "C" {
>  #include <csp/reg.h>
>  #include <csp/stdint.h>
>  
> -#include <mach/csp/mm_io.h>
> +#include <mach-bcmring/csp/mm_io.h>
>  
>  /* ---- Public Constants and Types --------------------------------------- */
>  
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/dmacHw_reg.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/dmacHw_reg.h
> index f1ecf96..1f5263f 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/dmacHw_reg.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/dmacHw_reg.h
> @@ -25,7 +25,7 @@
>  #define _DMACHW_REG_H
>  
>  #include <csp/stdint.h>
> -#include <mach/csp/mm_io.h>
> +#include <mach-bcmring/csp/mm_io.h>
>  
>  /* Data type for 64 bit little endian register */
>  typedef struct {
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/hw_cfg.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/hw_cfg.h
> index cfa91be..aad4e17 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/hw_cfg.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/hw_cfg.h
> @@ -19,10 +19,10 @@
>  /* ---- Include Files ---------------------------------------------------- */
>  
>  #include <cfg_global.h>
> -#include <mach/csp/cap_inline.h>
> +#include <mach-bcmring/csp/cap_inline.h>
>  
>  #if defined(__KERNEL__)
> -#include <mach/memory_settings.h>
> +#include <mach-bcmring/memory_settings.h>
>  #else
>  #include <hw_cfg.h>
>  #endif
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/intcHw_reg.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/intcHw_reg.h
> index 0aeb6a6..0770d7d 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/intcHw_reg.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/intcHw_reg.h
> @@ -29,7 +29,7 @@
>  /* ---- Include Files ---------------------------------------------------- */
>  #include <csp/stdint.h>
>  #include <csp/reg.h>
> -#include <mach/csp/mm_io.h>
> +#include <mach-bcmring/csp/mm_io.h>
>  
>  /* ---- Public Constants and Types --------------------------------------- */
>  
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/mm_io.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/mm_io.h
> index de92ec6..dcb1eae 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/mm_io.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/mm_io.h
> @@ -27,7 +27,7 @@
>  #define _MM_IO_H
>  
>  /* ---- Include Files ---------------------------------------------------- */
> -#include <mach/csp/mm_addr.h>
> +#include <mach-bcmring/csp/mm_addr.h>
>  
>  #if !defined(CSP_SIMULATION)
>  #include <cfg_global.h>
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/secHw_def.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/secHw_def.h
> index d15f5f3..18279ce 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/secHw_def.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/secHw_def.h
> @@ -26,7 +26,7 @@
>  #ifndef SECHW_DEF_H
>  #define SECHW_DEF_H
>  
> -#include <mach/csp/mm_io.h>
> +#include <mach-bcmring/csp/mm_io.h>
>  
>  /* Bit mask for various secure device */
>  #define secHw_BLK_MASK_CHIP_CONTROL     0x00000001
> @@ -95,6 +95,6 @@ static inline void secHw_setUnsecure(uint32_t mask    /*  mask of type secHw_BLK_MA
>  /****************************************************************************/
>  static inline uint32_t secHw_getStatus(void);
>  
> -#include <mach/csp/secHw_inline.h>
> +#include <mach-bcmring/csp/secHw_inline.h>
>  
>  #endif /* SECHW_DEF_H */
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/csp/tmrHw_reg.h b/arch/arm/mach-bcmring/include/mach-bcmring/csp/tmrHw_reg.h
> index 3080ac7..e6069f5 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/csp/tmrHw_reg.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/csp/tmrHw_reg.h
> @@ -23,8 +23,8 @@
>  #ifndef _TMRHW_REG_H
>  #define _TMRHW_REG_H
>  
> -#include <mach/csp/mm_io.h>
> -#include <mach/csp/hw_cfg.h>
> +#include <mach-bcmring/csp/mm_io.h>
> +#include <mach-bcmring/csp/hw_cfg.h>
>  /* Base address */
>  #define tmrHw_MODULE_BASE_ADDR          MM_IO_BASE_TMR
>  
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/dma.h b/arch/arm/mach-bcmring/include/mach-bcmring/dma.h
> index 7254378..366caa3 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/dma.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/dma.h
> @@ -28,7 +28,7 @@
>  #include <linux/kernel.h>
>  #include <linux/semaphore.h>
>  #include <csp/dmacHw.h>
> -#include <mach/timer.h>
> +#include <mach-bcmring/timer.h>
>  
>  /* ---- Constants and Types ---------------------------------------------- */
>  
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/entry-macro.S b/arch/arm/mach-bcmring/include/mach-bcmring/entry-macro.S
> index 2f316f0..8967896 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/entry-macro.S
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/entry-macro.S
> @@ -17,9 +17,9 @@
>   * Low-level IRQ helper macros for BCMRing-based platforms
>   *
>   */
> -#include <mach/irqs.h>
> -#include <mach/hardware.h>
> -#include <mach/csp/mm_io.h>
> +#include <mach-bcmring/irqs.h>
> +#include <mach-bcmring/hardware.h>
> +#include <mach-bcmring/csp/mm_io.h>
>  
>                 .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
>                 ldr     \base, =(MM_IO_BASE_INTC0)
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/hardware.h b/arch/arm/mach-bcmring/include/mach-bcmring/hardware.h
> index 6ae20a6..c708efd 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/hardware.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/hardware.h
> @@ -23,7 +23,7 @@
>  
>  #include <asm/sizes.h>
>  #include <cfg_global.h>
> -#include <mach/csp/mm_io.h>
> +#include <mach-bcmring/csp/mm_io.h>
>  
>  /* Hardware addresses of major areas.
>   *  *_START is the physical address
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/reg_nand.h b/arch/arm/mach-bcmring/include/mach-bcmring/reg_nand.h
> index 387376f..ec773c2 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/reg_nand.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/reg_nand.h
> @@ -31,7 +31,7 @@
>  
>  /* ---- Include Files ---------------------------------------------------- */
>  #include <csp/reg.h>
> -#include <mach/reg_umi.h>
> +#include <mach-bcmring/reg_umi.h>
>  
>  /* ---- Constants and Types ---------------------------------------------- */
>  
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/reg_umi.h b/arch/arm/mach-bcmring/include/mach-bcmring/reg_umi.h
> index 0992842..f659cc1 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/reg_umi.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/reg_umi.h
> @@ -31,7 +31,7 @@
>  
>  /* ---- Include Files ---------------------------------------------------- */
>  #include <csp/reg.h>
> -#include <mach/csp/mm_io.h>
> +#include <mach-bcmring/csp/mm_io.h>
>  
>  /* ---- Constants and Types ---------------------------------------------- */
>  
> diff --git a/arch/arm/mach-bcmring/include/mach-bcmring/uncompress.h b/arch/arm/mach-bcmring/include/mach-bcmring/uncompress.h
> index 9c9821b..b11fb3f 100644
> --- a/arch/arm/mach-bcmring/include/mach-bcmring/uncompress.h
> +++ b/arch/arm/mach-bcmring/include/mach-bcmring/uncompress.h
> @@ -11,7 +11,7 @@
>  * license other than the GPL, without Broadcom's express prior written
>  * consent.
>  *****************************************************************************/
> -#include <mach/csp/mm_addr.h>
> +#include <mach-bcmring/csp/mm_addr.h>
>  
>  #define BCMRING_UART_0_DR (*(volatile unsigned int *)MM_ADDR_IO_UARTA)
>  #define BCMRING_UART_0_FR (*(volatile unsigned int *)(MM_ADDR_IO_UARTA + 0x18))
> diff --git a/arch/arm/mach-bcmring/irq.c b/arch/arm/mach-bcmring/irq.c
> index 437fa68..aa88cac 100644
> --- a/arch/arm/mach-bcmring/irq.c
> +++ b/arch/arm/mach-bcmring/irq.c
> @@ -22,12 +22,12 @@
>  #include <linux/timer.h>
>  #include <linux/io.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-bcmring/hardware.h>
>  #include <asm/irq.h>
>  
>  #include <asm/mach/irq.h>
> -#include <mach/csp/intcHw_reg.h>
> -#include <mach/csp/mm_io.h>
> +#include <mach-bcmring/csp/intcHw_reg.h>
> +#include <mach-bcmring/csp/mm_io.h>
>  
>  static void bcmring_mask_irq0(struct irq_data *d)
>  {
> diff --git a/arch/arm/mach-bcmring/mm.c b/arch/arm/mach-bcmring/mm.c
> index 1adec78e..411fa2b 100644
> --- a/arch/arm/mach-bcmring/mm.c
> +++ b/arch/arm/mach-bcmring/mm.c
> @@ -17,8 +17,8 @@
>  #include <asm/page.h>
>  #include <asm/mach/map.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/csp/mm_io.h>
> +#include <mach-bcmring/hardware.h>
> +#include <mach-bcmring/csp/mm_io.h>
>  
>  #define IO_DESC(va, sz) { .virtual = va, \
>         .pfn = __phys_to_pfn(HW_IO_VIRT_TO_PHYS(va)), \
> diff --git a/arch/arm/mach-bcmring/timer.c b/arch/arm/mach-bcmring/timer.c
> index af9c3d7..ba9754d 100644
> --- a/arch/arm/mach-bcmring/timer.c
> +++ b/arch/arm/mach-bcmring/timer.c
> @@ -16,7 +16,7 @@
>  #include <linux/module.h>
>  #include <csp/tmrHw.h>
>  
> -#include <mach/timer.h>
> +#include <mach-bcmring/timer.h>
>  /* The core.c file initializes timers 1 and 3 as a linux clocksource. */
>  /* The real time clock should probably be the real linux clocksource. */
>  /* In the meantime, this file should agree with core.c as to the */
> diff --git a/arch/arm/mach-clps711x/autcpu12.c b/arch/arm/mach-clps711x/autcpu12.c
> index 3fb79a1..82ec281 100644
> --- a/arch/arm/mach-clps711x/autcpu12.c
> +++ b/arch/arm/mach-clps711x/autcpu12.c
> @@ -24,7 +24,7 @@
>  #include <linux/mm.h>
>  #include <linux/io.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-clps711x/hardware.h>
>  #include <asm/sizes.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
> @@ -33,7 +33,7 @@
>  #include <asm/page.h>
>  
>  #include <asm/mach/map.h>
> -#include <mach/autcpu12.h>
> +#include <mach-clps711x/autcpu12.h>
>  
>  #include "common.h"
>  
> diff --git a/arch/arm/mach-clps711x/cdb89712.c b/arch/arm/mach-clps711x/cdb89712.c
> index c314f49..6693600 100644
> --- a/arch/arm/mach-clps711x/cdb89712.c
> +++ b/arch/arm/mach-clps711x/cdb89712.c
> @@ -24,7 +24,7 @@
>  #include <linux/mm.h>
>  #include <linux/io.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-clps711x/hardware.h>
>  #include <asm/pgtable.h>
>  #include <asm/page.h>
>  #include <asm/setup.h>
> diff --git a/arch/arm/mach-clps711x/ceiva.c b/arch/arm/mach-clps711x/ceiva.c
> index a70147e..177fb74 100644
> --- a/arch/arm/mach-clps711x/ceiva.c
> +++ b/arch/arm/mach-clps711x/ceiva.c
> @@ -27,7 +27,7 @@
>  
>  #include <linux/kernel.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-clps711x/hardware.h>
>  #include <asm/page.h>
>  #include <asm/pgtable.h>
>  #include <asm/sizes.h>
> diff --git a/arch/arm/mach-clps711x/common.c b/arch/arm/mach-clps711x/common.c
> index f15293b..5b4fa62 100644
> --- a/arch/arm/mach-clps711x/common.c
> +++ b/arch/arm/mach-clps711x/common.c
> @@ -28,7 +28,7 @@
>  #include <linux/sched.h>
>  
>  #include <asm/sizes.h>
> -#include <mach/hardware.h>
> +#include <mach-clps711x/hardware.h>
>  #include <asm/irq.h>
>  #include <asm/leds.h>
>  #include <asm/pgtable.h>
> diff --git a/arch/arm/mach-clps711x/edb7211-mm.c b/arch/arm/mach-clps711x/edb7211-mm.c
> index 4372f06..6d3e94e 100644
> --- a/arch/arm/mach-clps711x/edb7211-mm.c
> +++ b/arch/arm/mach-clps711x/edb7211-mm.c
> @@ -23,7 +23,7 @@
>  #include <linux/init.h>
>  #include <linux/bug.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-clps711x/hardware.h>
>  #include <asm/page.h>
>  #include <asm/sizes.h>
>   
> diff --git a/arch/arm/mach-clps711x/fortunet.c b/arch/arm/mach-clps711x/fortunet.c
> index 3a3f0b7..12a1368 100644
> --- a/arch/arm/mach-clps711x/fortunet.c
> +++ b/arch/arm/mach-clps711x/fortunet.c
> @@ -23,7 +23,7 @@
>  #include <linux/init.h>
>  #include <linux/initrd.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-clps711x/hardware.h>
>  #include <asm/setup.h>
>  #include <asm/mach-types.h>
>  
> diff --git a/arch/arm/mach-clps711x/include/mach-clps711x/debug-macro.S b/arch/arm/mach-clps711x/include/mach-clps711x/debug-macro.S
> index 118b3d9..52bd3ef 100644
> --- a/arch/arm/mach-clps711x/include/mach-clps711x/debug-macro.S
> +++ b/arch/arm/mach-clps711x/include/mach-clps711x/debug-macro.S
> @@ -11,7 +11,7 @@
>   *
>  */
>  
> -#include <mach/hardware.h>
> +#include <mach-clps711x/hardware.h>
>  
>                 .macro  addruart, rp, rv, tmp
>  #ifndef CONFIG_DEBUG_CLPS711X_UART2
> diff --git a/arch/arm/mach-clps711x/include/mach-clps711x/entry-macro.S b/arch/arm/mach-clps711x/include/mach-clps711x/entry-macro.S
> index 56e5c2c..889521e 100644
> --- a/arch/arm/mach-clps711x/include/mach-clps711x/entry-macro.S
> +++ b/arch/arm/mach-clps711x/include/mach-clps711x/entry-macro.S
> @@ -7,7 +7,7 @@
>   * License version 2. This program is licensed "as is" without any
>   * warranty of any kind, whether express or implied.
>   */
> -#include <mach/hardware.h>
> +#include <mach-clps711x/hardware.h>
>  
>                 .macro  get_irqnr_preamble, base, tmp
>                 .endm
> diff --git a/arch/arm/mach-clps711x/include/mach-clps711x/hardware.h b/arch/arm/mach-clps711x/include/mach-clps711x/hardware.h
> index 13a64fc..29f3409 100644
> --- a/arch/arm/mach-clps711x/include/mach-clps711x/hardware.h
> +++ b/arch/arm/mach-clps711x/include/mach-clps711x/hardware.h
> @@ -22,7 +22,7 @@
>  #ifndef __MACH_HARDWARE_H
>  #define __MACH_HARDWARE_H
>  
> -#include <mach/clps711x.h>
> +#include <mach-clps711x/clps711x.h>
>  
>  #define CLPS711X_VIRT_BASE     IOMEM(0xff000000)
>  
> ---
> Intentionally cut off for review. If you managed to read this far, you
> get the idea. See the rest at
> http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=commit;h=d59d6b49ed5287dd0131acda9428fdc0bb0a7365
> 
> 
> _______________________________________________
> linaro-kernel mailing list
> linaro-kernel@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-kernel
> 

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers
  2012-08-22 15:23 ` [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Nicolas Pitre
@ 2012-08-22 15:31   ` Arnd Bergmann
  0 siblings, 0 replies; 28+ messages in thread
From: Arnd Bergmann @ 2012-08-22 15:31 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: linux-arm-kernel, linaro-kernel, linux-kernel

On Wednesday 22 August 2012, Nicolas Pitre wrote:
> On Wed, 22 Aug 2012, Arnd Bergmann wrote:
> > There are two branches available in the arm-soc tree:
> > 
> > 1. This series,
> >    http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=shortlog;h=refs/heads/testing/mach-headers
> >    This just moves header files around and changes most of the
> >    files including them. There are a few remaining drivers
> >    and platform files that keep including a generic file name
> >    like <mach/uncompress.h>. It remains possible to do that,
> >    and I've run extensive tests to ensure I did not break
> >    anything with this. However, each of these instances means
> >    that there is something that stops working when you get to
> >    the real multiplatform kernel and we still need to deal
> >    with them one by one.
> 
> The content of <mach/uncompress.h> is fundamentally machine or SOC 
> specific.  We already know it is generally incompatible with a multi 
> platform kernel.  So the best way to deal with this at the moment is 
> probably to just provide a dummy uncompress.h with empty stubs whenever 
> CONFIG_ARCH_MULTIPLATFORM is selected.  The effect from this is that 
> there wouldn't be any "Uncompressing the kernel... Done" output anymore, 
> which should be an acceptable compromise until a better solution is 
> found.

Yes, that is what I do in the second series.

> One problem is that some (very few) machines define a method in that 
> file to keep a hardware watchdog alive.  This might not be the case for 
> all the intended targets to gather in a single kernel binary image 
> though.

Ok. I think we have a list of known issues somewhere, we should add this
one. I just can't remember where that list is located.

> Another issue is the fact that some platforms do very ugly 
> layer-violating hacks where the decompressor selects a serial port for 
> early output and then store that selection in some arbitrary memory 
> location for the main kernel to blindly use, making the decompressor 
> mandatory.  OMAP and Davinci are prime example of such "abuse" which 
> would need to be fixed.

Same thing here I guess.

Thanks for the input!

	Arnd

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-22 13:01 ` [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes Arnd Bergmann
@ 2012-08-22 15:33   ` Nicolas Pitre
  2012-08-22 21:43   ` Russell King - ARM Linux
  2012-08-27 22:16   ` Haojian Zhuang
  2 siblings, 0 replies; 28+ messages in thread
From: Nicolas Pitre @ 2012-08-22 15:33 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linaro-kernel, linux-kernel

On Wed, 22 Aug 2012, Arnd Bergmann wrote:

> These are lots of device drivers that include machine
> specific header files from ARM platforms and that are
> not easily scriptable. The changes have been found through
> manual inspection and should cause no visible changes
> because of the build script that maps the old names to the
> new ones.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Nicolas Pitre <nico@linaro.org>


> ---
>  drivers/char/ds1620.c                                 |    2 +-
>  drivers/char/hw_random/ixp4xx-rng.c                   |    2 +-
>  drivers/cpufreq/db8500-cpufreq.c                      |    2 +-
>  drivers/cpufreq/exynos-cpufreq.c                      |    2 +-
>  drivers/cpufreq/exynos4210-cpufreq.c                  |    4 ++--
>  drivers/cpufreq/exynos4x12-cpufreq.c                  |    4 ++--
>  drivers/cpufreq/exynos5250-cpufreq.c                  |    6 +++---
>  drivers/cpufreq/omap-cpufreq.c                        |    2 +-
>  drivers/cpufreq/s5pv210-cpufreq.c                     |    2 +-
>  drivers/crypto/omap-sham.c                            |    2 +-
>  drivers/crypto/tegra-aes.c                            |    2 +-
>  drivers/devfreq/exynos4_bus.c                         |    2 +-
>  drivers/dma/ep93xx_dma.c                              |    2 +-
>  drivers/dma/imx-dma.c                                 |    4 ++--
>  drivers/gpio/gpio-omap.c                              |    4 ++--
>  drivers/gpio/gpio-pxa.c                               |    8 +++++++-
>  drivers/i2c/busses/i2c-acorn.c                        |    2 +-
>  drivers/i2c/busses/i2c-davinci.c                      |    4 ++--
>  drivers/i2c/busses/i2c-imx.c                          |    4 ++--
>  drivers/i2c/busses/i2c-nuc900.c                       |    4 ++--
>  drivers/i2c/busses/i2c-tegra.c                        |    2 +-
>  drivers/input/misc/ixp4xx-beeper.c                    |    2 +-
>  drivers/input/mouse/rpcmouse.c                        |    2 +-
>  drivers/input/serio/rpckbd.c                          |    2 +-
>  drivers/input/touchscreen/atmel_tsadcc.c              |    4 ++--
>  drivers/input/touchscreen/h3600_ts_input.c            |    4 ++--
>  drivers/input/touchscreen/mainstone-wm97xx.c          |    2 +-
>  drivers/input/touchscreen/zylonite-wm97xx.c           |    6 +++---
>  drivers/leds/leds-fsg.c                               |    2 +-
>  drivers/media/video/pxa_camera.c                      |    4 ++--
>  drivers/mfd/dbx500-prcmu-regs.h                       |    2 +-
>  drivers/misc/ep93xx_pwm.c                             |    2 +-
>  drivers/misc/spear13xx_pcie_gadget.c                  |    4 ++--
>  drivers/mmc/host/at91_mci.c                           |    4 ++--
>  drivers/mmc/host/mxcmmc.c                             |    6 +++---
>  drivers/mmc/host/omap_hsmmc.c                         |    2 +-
>  drivers/mmc/host/pxamci.c                             |    6 +++---
>  drivers/mtd/maps/cdb89712.c                           |    2 +-
>  drivers/mtd/maps/h720x-flash.c                        |    2 +-
>  drivers/mtd/maps/pxa2xx-flash.c                       |    2 +-
>  drivers/mtd/maps/sa1100-flash.c                       |    2 +-
>  drivers/mtd/nand/ams-delta.c                          |    2 +-
>  drivers/mtd/nand/sharpsl.c                            |    2 +-
>  drivers/net/can/at91_can.c                            |    2 +-
>  drivers/net/ethernet/amd/am79c961a.c                  |    2 +-
>  drivers/net/ethernet/cirrus/ep93xx_eth.c              |    2 +-
>  drivers/net/ethernet/nxp/lpc_eth.c                    |    6 +++---
>  drivers/net/ethernet/smsc/smc911x.h                   |    2 +-
>  drivers/net/ethernet/smsc/smc91x.h                    |    2 +-
>  drivers/net/irda/ep7211-sir.c                         |    2 +-
>  drivers/net/irda/pxaficp_ir.c                         |    8 ++++----
>  drivers/net/irda/sa1100_ir.c                          |    2 +-
>  drivers/pcmcia/omap_cf.c                              |    2 +-
>  drivers/pcmcia/pxa2xx_cm_x2xx.c                       |    2 +-
>  drivers/pcmcia/sa1111_jornada720.c                    |    2 +-
>  drivers/pcmcia/sa11xx_base.c                          |    2 +-
>  drivers/power/avs/smartreflex.c                       |    1 +
>  drivers/pwm/pwm-imx.c                                 |    2 +-
>  drivers/rtc/rtc-mxc.c                                 |    2 +-
>  drivers/rtc/rtc-pxa.c                                 |    2 +-
>  drivers/rtc/rtc-stmp3xxx.c                            |    2 +-
>  drivers/scsi/arm/acornscsi-io.S                       |    2 +-
>  drivers/spi/spi-imx.c                                 |    2 +-
>  drivers/spi/spi-omap-uwire.c                          |    2 +-
>  drivers/spi/spi-s3c24xx-fiq.S                         |    4 ++--
>  drivers/spi/spi-tegra.c                               |    2 +-
>  drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c |    4 ++--
>  drivers/tty/serial/21285.c                            |    2 +-
>  drivers/tty/serial/atmel_serial.c                     |    6 ++++--
>  drivers/tty/serial/clps711x.c                         |    2 +-
>  drivers/tty/serial/msm_serial_hs.c                    |    4 ++--
>  drivers/tty/serial/sa1100.c                           |    4 ++--
>  drivers/tty/serial/serial_ks8695.c                    |    4 ++--
>  drivers/uio/uio_pruss.c                               |    2 +-
>  drivers/usb/gadget/fsl_mxc_udc.c                      |    2 +-
>  drivers/usb/gadget/imx_udc.c                          |    4 ++--
>  drivers/usb/gadget/pxa27x_udc.c                       |    4 ++--
>  drivers/usb/host/ohci-at91.c                          |    6 +++---
>  drivers/usb/host/ohci-exynos.c                        |    2 +-
>  drivers/usb/musb/davinci.c                            |    4 ++--
>  drivers/usb/musb/ux500_dma.c                          |    2 +-
>  drivers/usb/otg/msm_otg.c                             |    2 +-
>  drivers/video/backlight/omap1_bl.c                    |    2 +-
>  drivers/video/ep93xx-fb.c                             |    2 +-
>  drivers/video/nuc900fb.h                              |    4 ++--
>  drivers/video/pnx4008/dum.h                           |    2 +-
>  drivers/w1/masters/omap_hdq.c                         |    2 +-
>  drivers/watchdog/imx2_wdt.c                           |    2 +-
>  drivers/watchdog/ixp4xx_wdt.c                         |    2 +-
>  drivers/watchdog/ks8695_wdt.c                         |    4 ++--
>  drivers/watchdog/wdt285.c                             |    2 +-
>  91 files changed, 137 insertions(+), 128 deletions(-)
> 
> diff --git a/drivers/char/ds1620.c b/drivers/char/ds1620.c
> index aab9605..b4c21b1 100644
> --- a/drivers/char/ds1620.c
> +++ b/drivers/char/ds1620.c
> @@ -10,7 +10,7 @@
>  #include <linux/init.h>
>  #include <linux/mutex.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-footbridge/hardware.h>
>  #include <asm/mach-types.h>
>  #include <asm/uaccess.h>
>  #include <asm/therm.h>
> diff --git a/drivers/char/hw_random/ixp4xx-rng.c b/drivers/char/hw_random/ixp4xx-rng.c
> index 263567f..42889bb 100644
> --- a/drivers/char/hw_random/ixp4xx-rng.c
> +++ b/drivers/char/hw_random/ixp4xx-rng.c
> @@ -23,7 +23,7 @@
>  #include <linux/hw_random.h>
>  
>  #include <asm/io.h>
> -#include <mach/hardware.h>
> +#include <mach-ixp4xx/hardware.h>
>  
>  
>  static int ixp4xx_rng_data_read(struct hwrng *rng, u32 *buffer)
> diff --git a/drivers/cpufreq/db8500-cpufreq.c b/drivers/cpufreq/db8500-cpufreq.c
> index 74b830b..c771360 100644
> --- a/drivers/cpufreq/db8500-cpufreq.c
> +++ b/drivers/cpufreq/db8500-cpufreq.c
> @@ -13,7 +13,7 @@
>  #include <linux/delay.h>
>  #include <linux/slab.h>
>  #include <linux/mfd/dbx500-prcmu.h>
> -#include <mach/id.h>
> +#include <mach-ux500/id.h>
>  
>  static struct cpufreq_frequency_table freq_table[] = {
>         [0] = {
> diff --git a/drivers/cpufreq/exynos-cpufreq.c b/drivers/cpufreq/exynos-cpufreq.c
> index 9382a6b..637782b 100644
> --- a/drivers/cpufreq/exynos-cpufreq.c
> +++ b/drivers/cpufreq/exynos-cpufreq.c
> @@ -18,7 +18,7 @@
>  #include <linux/cpufreq.h>
>  #include <linux/suspend.h>
>  
> -#include <mach/cpufreq.h>
> +#include <mach-exynos/cpufreq.h>
>  
>  #include <plat-samsung/cpu.h>
>  
> diff --git a/drivers/cpufreq/exynos4210-cpufreq.c b/drivers/cpufreq/exynos4210-cpufreq.c
> index fb148fa..33d3d4c 100644
> --- a/drivers/cpufreq/exynos4210-cpufreq.c
> +++ b/drivers/cpufreq/exynos4210-cpufreq.c
> @@ -17,8 +17,8 @@
>  #include <linux/slab.h>
>  #include <linux/cpufreq.h>
>  
> -#include <mach/regs-clock.h>
> -#include <mach/cpufreq.h>
> +#include <mach-exynos/regs-clock.h>
> +#include <mach-exynos/cpufreq.h>
>  
>  #define CPUFREQ_LEVEL_END      L5
>  
> diff --git a/drivers/cpufreq/exynos4x12-cpufreq.c b/drivers/cpufreq/exynos4x12-cpufreq.c
> index 8c5a7af..e7aa354 100644
> --- a/drivers/cpufreq/exynos4x12-cpufreq.c
> +++ b/drivers/cpufreq/exynos4x12-cpufreq.c
> @@ -17,8 +17,8 @@
>  #include <linux/slab.h>
>  #include <linux/cpufreq.h>
>  
> -#include <mach/regs-clock.h>
> -#include <mach/cpufreq.h>
> +#include <mach-exynos/regs-clock.h>
> +#include <mach-exynos/cpufreq.h>
>  
>  #define CPUFREQ_LEVEL_END      (L13 + 1)
>  
> diff --git a/drivers/cpufreq/exynos5250-cpufreq.c b/drivers/cpufreq/exynos5250-cpufreq.c
> index e64c253..74950a3 100644
> --- a/drivers/cpufreq/exynos5250-cpufreq.c
> +++ b/drivers/cpufreq/exynos5250-cpufreq.c
> @@ -17,9 +17,9 @@
>  #include <linux/slab.h>
>  #include <linux/cpufreq.h>
>  
> -#include <mach/map.h>
> -#include <mach/regs-clock.h>
> -#include <mach/cpufreq.h>
> +#include <mach-exynos/map.h>
> +#include <mach-exynos/regs-clock.h>
> +#include <mach-exynos/cpufreq.h>
>  
>  #define CPUFREQ_LEVEL_END      (L15 + 1)
>  
> diff --git a/drivers/cpufreq/omap-cpufreq.c b/drivers/cpufreq/omap-cpufreq.c
> index 4449907..45b2331 100644
> --- a/drivers/cpufreq/omap-cpufreq.c
> +++ b/drivers/cpufreq/omap-cpufreq.c
> @@ -35,7 +35,7 @@
>  #include <plat-omap/common.h>
>  #include <plat-omap/omap_device.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-omap2/hardware.h>
>  
>  /* OPP tolerance in percentage */
>  #define        OPP_TOLERANCE   4
> diff --git a/drivers/cpufreq/s5pv210-cpufreq.c b/drivers/cpufreq/s5pv210-cpufreq.c
> index a484aae..04dfc10 100644
> --- a/drivers/cpufreq/s5pv210-cpufreq.c
> +++ b/drivers/cpufreq/s5pv210-cpufreq.c
> @@ -20,7 +20,7 @@
>  #include <linux/regulator/consumer.h>
>  #include <linux/suspend.h>
>  
> -#include <mach/map.h>
> +#include <mach-s5pv210/map.h>
>  #include <mach/regs-clock.h>
>  
>  static struct clk *cpu_clk;
> diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c
> index 737afed..98e877d 100644
> --- a/drivers/crypto/omap-sham.c
> +++ b/drivers/crypto/omap-sham.c
> @@ -39,7 +39,7 @@
>  
>  #include <plat-omap/cpu.h>
>  #include <plat-omap/dma.h>
> -#include <mach/irqs.h>
> +#include <mach-omap2/irqs.h>
>  
>  #define SHA_REG_DIGEST(x)              (0x00 + ((x) * 0x04))
>  #define SHA_REG_DIN(x)                 (0x1C + ((x) * 0x04))
> diff --git a/drivers/crypto/tegra-aes.c b/drivers/crypto/tegra-aes.c
> index ac236f6..971bd27 100644
> --- a/drivers/crypto/tegra-aes.c
> +++ b/drivers/crypto/tegra-aes.c
> @@ -41,7 +41,7 @@
>  #include <linux/completion.h>
>  #include <linux/workqueue.h>
>  
> -#include <mach/clk.h>
> +#include <mach-tegra/clk.h>
>  
>  #include <crypto/scatterwalk.h>
>  #include <crypto/aes.h>
> diff --git a/drivers/devfreq/exynos4_bus.c b/drivers/devfreq/exynos4_bus.c
> index c8af6d4..e8d7ce8 100644
> --- a/drivers/devfreq/exynos4_bus.c
> +++ b/drivers/devfreq/exynos4_bus.c
> @@ -30,7 +30,7 @@
>  extern unsigned int exynos_result_of_asv;
>  #endif
>  
> -#include <mach/regs-clock.h>
> +#include <mach-exynos/regs-clock.h>
>  
>  #include <plat-samsung/map-s5p.h>
>  
> diff --git a/drivers/dma/ep93xx_dma.c b/drivers/dma/ep93xx_dma.c
> index c64917e..09d7112 100644
> --- a/drivers/dma/ep93xx_dma.c
> +++ b/drivers/dma/ep93xx_dma.c
> @@ -26,7 +26,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/slab.h>
>  
> -#include <mach/dma.h>
> +#include <mach-ep93xx/dma.h>
>  
>  #include "dmaengine.h"
>  
> diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c
> index fcfeb3c..0597cbc 100644
> --- a/drivers/dma/imx-dma.c
> +++ b/drivers/dma/imx-dma.c
> @@ -28,8 +28,8 @@
>  #include <linux/module.h>
>  
>  #include <asm/irq.h>
> -#include <mach/dma.h>
> -#include <mach/hardware.h>
> +#include <mach-imx/dma.h>
> +#include <mach-imx/hardware.h>
>  
>  #include "dmaengine.h"
>  #define IMXDMA_MAX_CHAN_DESCRIPTORS    16
> diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
> index e6efd77..45592ca 100644
> --- a/drivers/gpio/gpio-omap.c
> +++ b/drivers/gpio/gpio-omap.c
> @@ -26,9 +26,9 @@
>  #include <linux/of_device.h>
>  #include <linux/irqdomain.h>
>  
> -#include <mach/hardware.h>
> +#include <plat-omap/hardware.h>
>  #include <asm/irq.h>
> -#include <mach/irqs.h>
> +#include <plat-omap/irqs.h>
>  #include <asm/gpio.h>
>  #include <asm/mach/irq.h>
>  
> diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c
> index 58a6a63..c6440a5 100644
> --- a/drivers/gpio/gpio-pxa.c
> +++ b/drivers/gpio/gpio-pxa.c
> @@ -26,7 +26,13 @@
>  #include <linux/syscore_ops.h>
>  #include <linux/slab.h>
>  
> -#include <mach/irqs.h>
> +#ifdef CONFIG_ARCH_PXA
> +#include <mach-pxa/irqs.h>
> +#endif
> +
> +#ifdef CONFIG_ARCH_MMP
> +#include <mach-mmp/irqs.h>
> +#endif
>  
>  /*
>   * We handle the GPIOs by banks, each bank covers up to 32 GPIOs with
> diff --git a/drivers/i2c/busses/i2c-acorn.c b/drivers/i2c/busses/i2c-acorn.c
> index ed9f48d..4d0f7797 100644
> --- a/drivers/i2c/busses/i2c-acorn.c
> +++ b/drivers/i2c/busses/i2c-acorn.c
> @@ -17,7 +17,7 @@
>  #include <linux/i2c-algo-bit.h>
>  #include <linux/io.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-rpc/hardware.h>
>  #include <asm/hardware/ioc.h>
>  
>  #define FORCE_ONES     0xdc
> diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
> index 79b4bcb..d163b73 100644
> --- a/drivers/i2c/busses/i2c-davinci.c
> +++ b/drivers/i2c/busses/i2c-davinci.c
> @@ -39,8 +39,8 @@
>  #include <linux/cpufreq.h>
>  #include <linux/gpio.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/i2c.h>
> +#include <mach-davinci/hardware.h>
> +#include <mach-davinci/i2c.h>
>  
>  /* ----- global defines ----------------------------------------------- */
>  
> diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
> index 0722f86..a8ffc39 100644
> --- a/drivers/i2c/busses/i2c-imx.c
> +++ b/drivers/i2c/busses/i2c-imx.c
> @@ -53,8 +53,8 @@
>  #include <linux/of_i2c.h>
>  #include <linux/pinctrl/consumer.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/i2c.h>
> +#include <mach-imx/hardware.h>
> +#include <mach-imx/i2c.h>
>  
>  /** Defines ********************************************************************
>  *******************************************************************************/
> diff --git a/drivers/i2c/busses/i2c-nuc900.c b/drivers/i2c/busses/i2c-nuc900.c
> index a26dfb8..cfe6803 100644
> --- a/drivers/i2c/busses/i2c-nuc900.c
> +++ b/drivers/i2c/busses/i2c-nuc900.c
> @@ -28,8 +28,8 @@
>  #include <linux/slab.h>
>  #include <linux/io.h>
>  
> -#include <mach/mfp.h>
> -#include <mach/i2c.h>
> +#include <mach-w90x900/mfp.h>
> +#include <mach-w90x900/i2c.h>
>  
>  /* nuc900 i2c registers offset */
>  
> diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
> index 66eb53f..8712414 100644
> --- a/drivers/i2c/busses/i2c-tegra.c
> +++ b/drivers/i2c/busses/i2c-tegra.c
> @@ -31,7 +31,7 @@
>  
>  #include <asm/unaligned.h>
>  
> -#include <mach/clk.h>
> +#include <mach-tegra/clk.h>
>  
>  #define TEGRA_I2C_TIMEOUT (msecs_to_jiffies(1000))
>  #define BYTES_PER_FIFO_WORD 4
> diff --git a/drivers/input/misc/ixp4xx-beeper.c b/drivers/input/misc/ixp4xx-beeper.c
> index 50e2830..9b644e1 100644
> --- a/drivers/input/misc/ixp4xx-beeper.c
> +++ b/drivers/input/misc/ixp4xx-beeper.c
> @@ -20,7 +20,7 @@
>  #include <linux/delay.h>
>  #include <linux/platform_device.h>
>  #include <linux/interrupt.h>
> -#include <mach/hardware.h>
> +#include <mach-ixp4xx/hardware.h>
>  
>  MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
>  MODULE_DESCRIPTION("ixp4xx beeper driver");
> diff --git a/drivers/input/mouse/rpcmouse.c b/drivers/input/mouse/rpcmouse.c
> index 272dedd..41c1fa4 100644
> --- a/drivers/input/mouse/rpcmouse.c
> +++ b/drivers/input/mouse/rpcmouse.c
> @@ -24,7 +24,7 @@
>  #include <linux/input.h>
>  #include <linux/io.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-rpc/hardware.h>
>  #include <asm/irq.h>
>  #include <asm/hardware/iomd.h>
>  
> diff --git a/drivers/input/serio/rpckbd.c b/drivers/input/serio/rpckbd.c
> index 2af5df6..5bee7e0 100644
> --- a/drivers/input/serio/rpckbd.c
> +++ b/drivers/input/serio/rpckbd.c
> @@ -36,7 +36,7 @@
>  #include <linux/io.h>
>  #include <linux/slab.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-rpc/hardware.h>
>  #include <asm/hardware/iomd.h>
>  
>  MODULE_AUTHOR("Vojtech Pavlik, Russell King");
> diff --git a/drivers/input/touchscreen/atmel_tsadcc.c b/drivers/input/touchscreen/atmel_tsadcc.c
> index 201b2d2..00f8aac 100644
> --- a/drivers/input/touchscreen/atmel_tsadcc.c
> +++ b/drivers/input/touchscreen/atmel_tsadcc.c
> @@ -22,8 +22,8 @@
>  #include <linux/clk.h>
>  #include <linux/platform_device.h>
>  #include <linux/io.h>
> -#include <mach/board.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/cpu.h>
>  
>  /* Register definitions based on AT91SAM9RL64 preliminary draft datasheet */
>  
> diff --git a/drivers/input/touchscreen/h3600_ts_input.c b/drivers/input/touchscreen/h3600_ts_input.c
> index b9e8686..39a0ce5 100644
> --- a/drivers/input/touchscreen/h3600_ts_input.c
> +++ b/drivers/input/touchscreen/h3600_ts_input.c
> @@ -39,8 +39,8 @@
>  #include <linux/delay.h>
>  
>  /* SA1100 serial defines */
> -#include <mach/hardware.h>
> -#include <mach/irqs.h>
> +#include <mach-sa1100/hardware.h>
> +#include <mach-sa1100/irqs.h>
>  
>  #define DRIVER_DESC    "H3600 touchscreen driver"
>  
> diff --git a/drivers/input/touchscreen/mainstone-wm97xx.c b/drivers/input/touchscreen/mainstone-wm97xx.c
> index 7d2b213..997e627 100644
> --- a/drivers/input/touchscreen/mainstone-wm97xx.c
> +++ b/drivers/input/touchscreen/mainstone-wm97xx.c
> @@ -33,7 +33,7 @@
>  #include <linux/io.h>
>  #include <linux/gpio.h>
>  
> -#include <mach/regs-ac97.h>
> +#include <mach-pxa/regs-ac97.h>
>  
>  #include <asm/mach-types.h>
>  
> diff --git a/drivers/input/touchscreen/zylonite-wm97xx.c b/drivers/input/touchscreen/zylonite-wm97xx.c
> index bf0869a7..be59125 100644
> --- a/drivers/input/touchscreen/zylonite-wm97xx.c
> +++ b/drivers/input/touchscreen/zylonite-wm97xx.c
> @@ -28,9 +28,9 @@
>  #include <linux/io.h>
>  #include <linux/wm97xx.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/mfp.h>
> -#include <mach/regs-ac97.h>
> +#include <mach-pxa/hardware.h>
> +#include <mach-pxa/mfp.h>
> +#include <mach-pxa/regs-ac97.h>
>  
>  struct continuous {
>         u16 id;    /* codec id */
> diff --git a/drivers/leds/leds-fsg.c b/drivers/leds/leds-fsg.c
> index b9053fa..683b01d 100644
> --- a/drivers/leds/leds-fsg.c
> +++ b/drivers/leds/leds-fsg.c
> @@ -20,7 +20,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/leds.h>
>  #include <linux/module.h>
> -#include <mach/hardware.h>
> +#include <mach-ixp4xx/hardware.h>
>  #include <asm/io.h>
>  
>  #define FSG_LED_WLAN_BIT       0
> diff --git a/drivers/media/video/pxa_camera.c b/drivers/media/video/pxa_camera.c
> index 9c21e01..0d76655 100644
> --- a/drivers/media/video/pxa_camera.c
> +++ b/drivers/media/video/pxa_camera.c
> @@ -36,8 +36,8 @@
>  
>  #include <linux/videodev2.h>
>  
> -#include <mach/dma.h>
> -#include <mach/camera.h>
> +#include <mach-pxa/dma.h>
> +#include <mach-pxa/camera.h>
>  
>  #define PXA_CAM_VERSION "0.0.6"
>  #define PXA_CAM_DRV_NAME "pxa27x-camera"
> diff --git a/drivers/mfd/dbx500-prcmu-regs.h b/drivers/mfd/dbx500-prcmu-regs.h
> index 23108a6..7de55f8 100644
> --- a/drivers/mfd/dbx500-prcmu-regs.h
> +++ b/drivers/mfd/dbx500-prcmu-regs.h
> @@ -13,7 +13,7 @@
>  #ifndef __DB8500_PRCMU_REGS_H
>  #define __DB8500_PRCMU_REGS_H
>  
> -#include <mach/hardware.h>
> +#include <mach-ux500/hardware.h>
>  
>  #define BITS(_start, _end) ((BIT(_end) - BIT(_start)) + BIT(_end))
>  
> diff --git a/drivers/misc/ep93xx_pwm.c b/drivers/misc/ep93xx_pwm.c
> index 16d7179..a996270 100644
> --- a/drivers/misc/ep93xx_pwm.c
> +++ b/drivers/misc/ep93xx_pwm.c
> @@ -24,7 +24,7 @@
>  #include <linux/err.h>
>  #include <linux/io.h>
>  
> -#include <mach/platform.h>
> +#include <mach-ep93xx/platform.h>
>  
>  #define EP93XX_PWMx_TERM_COUNT 0x00
>  #define EP93XX_PWMx_DUTY_CYCLE 0x04
> diff --git a/drivers/misc/spear13xx_pcie_gadget.c b/drivers/misc/spear13xx_pcie_gadget.c
> index 123ed98..0a32042 100644
> --- a/drivers/misc/spear13xx_pcie_gadget.c
> +++ b/drivers/misc/spear13xx_pcie_gadget.c
> @@ -20,8 +20,8 @@
>  #include <linux/platform_device.h>
>  #include <linux/pci_regs.h>
>  #include <linux/configfs.h>
> -#include <mach/pcie.h>
> -#include <mach/misc_regs.h>
> +#include <mach-spear13xx/pcie.h>
> +#include <mach-spear13xx/misc_regs.h>
>  
>  #define IN0_MEM_SIZE   (200 * 1024 * 1024 - 1)
>  /* In current implementation address translation is done using IN0 only.
> diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c
> index efdb81d..ec7f665 100644
> --- a/drivers/mmc/host/at91_mci.c
> +++ b/drivers/mmc/host/at91_mci.c
> @@ -75,8 +75,8 @@
>  #include <asm/irq.h>
>  #include <asm/gpio.h>
>  
> -#include <mach/board.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/cpu.h>
>  
>  #include "at91_mci.h"
>  
> diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c
> index 28ed52d..dec1bb1 100644
> --- a/drivers/mmc/host/mxcmmc.c
> +++ b/drivers/mmc/host/mxcmmc.c
> @@ -38,10 +38,10 @@
>  #include <asm/dma.h>
>  #include <asm/irq.h>
>  #include <asm/sizes.h>
> -#include <mach/mmc.h>
> +#include <mach-imx/mmc.h>
>  
> -#include <mach/dma.h>
> -#include <mach/hardware.h>
> +#include <mach-imx/dma.h>
> +#include <mach-imx/hardware.h>
>  
>  #define DRIVER_NAME "mxc-mmc"
>  
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index 198066c..194bc04 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -39,7 +39,7 @@
>  #include <linux/gpio.h>
>  #include <linux/regulator/consumer.h>
>  #include <linux/pm_runtime.h>
> -#include <mach/hardware.h>
> +#include <plat-omap/hardware.h>
>  #include <plat-omap/board.h>
>  #include <plat-omap/mmc.h>
>  #include <plat-omap/cpu.h>
> diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
> index cb2dc0e..8b01058 100644
> --- a/drivers/mmc/host/pxamci.c
> +++ b/drivers/mmc/host/pxamci.c
> @@ -33,9 +33,9 @@
>  
>  #include <asm/sizes.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/dma.h>
> -#include <mach/mmc.h>
> +#include <mach-pxa/hardware.h>
> +#include <mach-pxa/dma.h>
> +#include <mach-pxa/mmc.h>
>  
>  #include "pxamci.h"
>  
> diff --git a/drivers/mtd/maps/cdb89712.c b/drivers/mtd/maps/cdb89712.c
> index c29cbf8..c224dd4 100644
> --- a/drivers/mtd/maps/cdb89712.c
> +++ b/drivers/mtd/maps/cdb89712.c
> @@ -9,7 +9,7 @@
>  #include <linux/ioport.h>
>  #include <linux/init.h>
>  #include <asm/io.h>
> -#include <mach/hardware.h>
> +#include <mach-clps711x/hardware.h>
>  #include <linux/mtd/mtd.h>
>  #include <linux/mtd/map.h>
>  #include <linux/mtd/partitions.h>
> diff --git a/drivers/mtd/maps/h720x-flash.c b/drivers/mtd/maps/h720x-flash.c
> index 8ed6cb4..3206fef 100644
> --- a/drivers/mtd/maps/h720x-flash.c
> +++ b/drivers/mtd/maps/h720x-flash.c
> @@ -16,7 +16,7 @@
>  #include <linux/mtd/mtd.h>
>  #include <linux/mtd/map.h>
>  #include <linux/mtd/partitions.h>
> -#include <mach/hardware.h>
> +#include <mach-h720x/hardware.h>
>  #include <asm/io.h>
>  
>  static struct mtd_info *mymtd;
> diff --git a/drivers/mtd/maps/pxa2xx-flash.c b/drivers/mtd/maps/pxa2xx-flash.c
> index 81884c2..8a82445 100644
> --- a/drivers/mtd/maps/pxa2xx-flash.c
> +++ b/drivers/mtd/maps/pxa2xx-flash.c
> @@ -20,7 +20,7 @@
>  #include <linux/mtd/partitions.h>
>  
>  #include <asm/io.h>
> -#include <mach/hardware.h>
> +#include <mach-pxa/hardware.h>
>  
>  #include <asm/mach/flash.h>
>  
> diff --git a/drivers/mtd/maps/sa1100-flash.c b/drivers/mtd/maps/sa1100-flash.c
> index a675bdb..2f234e6 100644
> --- a/drivers/mtd/maps/sa1100-flash.c
> +++ b/drivers/mtd/maps/sa1100-flash.c
> @@ -19,7 +19,7 @@
>  #include <linux/mtd/partitions.h>
>  #include <linux/mtd/concat.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-sa1100/hardware.h>
>  #include <asm/sizes.h>
>  #include <asm/mach/flash.h>
>  
> diff --git a/drivers/mtd/nand/ams-delta.c b/drivers/mtd/nand/ams-delta.c
> index 1386f6b..7a921a1 100644
> --- a/drivers/mtd/nand/ams-delta.c
> +++ b/drivers/mtd/nand/ams-delta.c
> @@ -24,7 +24,7 @@
>  #include <linux/mtd/nand.h>
>  #include <linux/mtd/partitions.h>
>  #include <asm/io.h>
> -#include <mach/hardware.h>
> +#include <mach-omap1/hardware.h>
>  #include <asm/sizes.h>
>  #include <linux/gpio.h>
>  #include <plat-omap/board-ams-delta.h>
> diff --git a/drivers/mtd/nand/sharpsl.c b/drivers/mtd/nand/sharpsl.c
> index 3421e37..866aaac 100644
> --- a/drivers/mtd/nand/sharpsl.c
> +++ b/drivers/mtd/nand/sharpsl.c
> @@ -25,7 +25,7 @@
>  #include <linux/platform_device.h>
>  
>  #include <asm/io.h>
> -#include <mach/hardware.h>
> +#include <mach-pxa/hardware.h>
>  #include <asm/mach-types.h>
>  
>  struct sharpsl_nand {
> diff --git a/drivers/net/can/at91_can.c b/drivers/net/can/at91_can.c
> index fcff73a..8f14511 100644
> --- a/drivers/net/can/at91_can.c
> +++ b/drivers/net/can/at91_can.c
> @@ -37,7 +37,7 @@
>  #include <linux/can/dev.h>
>  #include <linux/can/error.h>
>  
> -#include <mach/board.h>
> +#include <mach-at91/board.h>
>  
>  #define AT91_MB_MASK(i)                ((1 << (i)) - 1)
>  
> diff --git a/drivers/net/ethernet/amd/am79c961a.c b/drivers/net/ethernet/amd/am79c961a.c
> index e10ffad..89746bf 100644
> --- a/drivers/net/ethernet/amd/am79c961a.c
> +++ b/drivers/net/ethernet/amd/am79c961a.c
> @@ -29,7 +29,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/io.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-ebsa110/hardware.h>
>  
>  #define TX_BUFFERS 15
>  #define RX_BUFFERS 25
> diff --git a/drivers/net/ethernet/cirrus/ep93xx_eth.c b/drivers/net/ethernet/cirrus/ep93xx_eth.c
> index 78c5521..7ad8b0d 100644
> --- a/drivers/net/ethernet/cirrus/ep93xx_eth.c
> +++ b/drivers/net/ethernet/cirrus/ep93xx_eth.c
> @@ -26,7 +26,7 @@
>  #include <linux/io.h>
>  #include <linux/slab.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-ep93xx/hardware.h>
>  
>  #define DRV_MODULE_NAME                "ep93xx-eth"
>  #define DRV_MODULE_VERSION     "0.1"
> diff --git a/drivers/net/ethernet/nxp/lpc_eth.c b/drivers/net/ethernet/nxp/lpc_eth.c
> index 4069eda..5be01c0 100644
> --- a/drivers/net/ethernet/nxp/lpc_eth.c
> +++ b/drivers/net/ethernet/nxp/lpc_eth.c
> @@ -45,9 +45,9 @@
>  #include <linux/types.h>
>  
>  #include <linux/io.h>
> -#include <mach/board.h>
> -#include <mach/platform.h>
> -#include <mach/hardware.h>
> +#include <mach-lpc32xx/board.h>
> +#include <mach-lpc32xx/platform.h>
> +#include <mach-lpc32xx/hardware.h>
>  
>  #define MODNAME "lpc-eth"
>  #define DRV_VERSION "1.00"
> diff --git a/drivers/net/ethernet/smsc/smc911x.h b/drivers/net/ethernet/smsc/smc911x.h
> index 3269292..80eb9d0 100644
> --- a/drivers/net/ethernet/smsc/smc911x.h
> +++ b/drivers/net/ethernet/smsc/smc911x.h
> @@ -211,7 +211,7 @@ static inline void SMC_outsl(struct smc911x_local *lp, int reg,
>  
>  #ifdef SMC_USE_PXA_DMA
>  
> -#include <mach/dma.h>
> +#include <mach-pxa/dma.h>
>  
>  /*
>   * Define the request and free functions
> diff --git a/drivers/net/ethernet/smsc/smc91x.h b/drivers/net/ethernet/smsc/smc91x.h
> index 7f4beeb..754af90 100644
> --- a/drivers/net/ethernet/smsc/smc91x.h
> +++ b/drivers/net/ethernet/smsc/smc91x.h
> @@ -364,7 +364,7 @@ struct smc_local {
>   * as RX which can overrun memory and lose packets.
>   */
>  #include <linux/dma-mapping.h>
> -#include <mach-sa1100/dma.h>
> +#include <mach-pxa/dma.h>
>  
>  #ifdef SMC_insl
>  #undef SMC_insl
> diff --git a/drivers/net/irda/ep7211-sir.c b/drivers/net/irda/ep7211-sir.c
> index f83c5b8..8f8d91c 100644
> --- a/drivers/net/irda/ep7211-sir.c
> +++ b/drivers/net/irda/ep7211-sir.c
> @@ -14,7 +14,7 @@
>  #include <net/irda/irda_device.h>
>  
>  #include <asm/io.h>
> -#include <mach/hardware.h>
> +#include <mach-clps711x/hardware.h>
>  
>  #include "sir-dev.h"
>  
> diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c
> index 8d54767..86073eb 100644
> --- a/drivers/net/irda/pxaficp_ir.c
> +++ b/drivers/net/irda/pxaficp_ir.c
> @@ -27,10 +27,10 @@
>  #include <net/irda/wrapper.h>
>  #include <net/irda/irda_device.h>
>  
> -#include <mach/dma.h>
> -#include <mach/irda.h>
> -#include <mach/regs-uart.h>
> -#include <mach/regs-ost.h>
> +#include <mach-pxa/dma.h>
> +#include <mach-pxa/irda.h>
> +#include <mach-pxa/regs-uart.h>
> +#include <mach-pxa/regs-ost.h>
>  
>  #define FICP           __REG(0x40800000)  /* Start of FICP area */
>  #define ICCR0          __REG(0x40800000)  /* ICP Control Register 0 */
> diff --git a/drivers/net/irda/sa1100_ir.c b/drivers/net/irda/sa1100_ir.c
> index e250675..3f88a39 100644
> --- a/drivers/net/irda/sa1100_ir.c
> +++ b/drivers/net/irda/sa1100_ir.c
> @@ -37,7 +37,7 @@
>  #include <net/irda/wrapper.h>
>  #include <net/irda/irda_device.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-sa1100/hardware.h>
>  #include <asm/mach/irda.h>
>  
>  static int power_level = 3;
> diff --git a/drivers/pcmcia/omap_cf.c b/drivers/pcmcia/omap_cf.c
> index adb5b1e..070eaa6 100644
> --- a/drivers/pcmcia/omap_cf.c
> +++ b/drivers/pcmcia/omap_cf.c
> @@ -20,7 +20,7 @@
>  
>  #include <pcmcia/ss.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-omap1/hardware.h>
>  #include <asm/io.h>
>  #include <asm/sizes.h>
>  
> diff --git a/drivers/pcmcia/pxa2xx_cm_x2xx.c b/drivers/pcmcia/pxa2xx_cm_x2xx.c
> index 6e7dcfd..61097ba 100644
> --- a/drivers/pcmcia/pxa2xx_cm_x2xx.c
> +++ b/drivers/pcmcia/pxa2xx_cm_x2xx.c
> @@ -13,7 +13,7 @@
>  #include <linux/module.h>
>  
>  #include <asm/mach-types.h>
> -#include <mach/hardware.h>
> +#include <mach-pxa/hardware.h>
>  
>  int cmx255_pcmcia_init(void);
>  int cmx270_pcmcia_init(void);
> diff --git a/drivers/pcmcia/sa1111_jornada720.c b/drivers/pcmcia/sa1111_jornada720.c
> index 69428d1..86fc717 100644
> --- a/drivers/pcmcia/sa1111_jornada720.c
> +++ b/drivers/pcmcia/sa1111_jornada720.c
> @@ -10,7 +10,7 @@
>  #include <linux/errno.h>
>  #include <linux/init.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-sa1100/hardware.h>
>  #include <asm/hardware/sa1111.h>
>  #include <asm/mach-types.h>
>  
> diff --git a/drivers/pcmcia/sa11xx_base.c b/drivers/pcmcia/sa11xx_base.c
> index 6eecd7c..2d689b2 100644
> --- a/drivers/pcmcia/sa11xx_base.c
> +++ b/drivers/pcmcia/sa11xx_base.c
> @@ -39,7 +39,7 @@
>  #include <linux/io.h>
>  #include <linux/slab.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-sa1100/hardware.h>
>  #include <asm/irq.h>
>  
>  #include "soc_common.h"
> diff --git a/drivers/power/avs/smartreflex.c b/drivers/power/avs/smartreflex.c
> index 44efc6e..af502d1 100644
> --- a/drivers/power/avs/smartreflex.c
> +++ b/drivers/power/avs/smartreflex.c
> @@ -26,6 +26,7 @@
>  #include <linux/slab.h>
>  #include <linux/pm_runtime.h>
>  #include <linux/power/smartreflex.h>
> +#include <plat-omap/cpu.h>
>  
>  #define SMARTREFLEX_NAME_LEN   16
>  #define NVALUE_NAME_LEN                40
> diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c
> index 2a0b353..68ff175 100644
> --- a/drivers/pwm/pwm-imx.c
> +++ b/drivers/pwm/pwm-imx.c
> @@ -16,7 +16,7 @@
>  #include <linux/clk.h>
>  #include <linux/io.h>
>  #include <linux/pwm.h>
> -#include <mach/hardware.h>
> +#include <mach-imx/hardware.h>
>  
>  
>  /* i.MX1 and i.MX21 share the same PWM function block: */
> diff --git a/drivers/rtc/rtc-mxc.c b/drivers/rtc/rtc-mxc.c
> index e3e50d6..eb4d40e 100644
> --- a/drivers/rtc/rtc-mxc.c
> +++ b/drivers/rtc/rtc-mxc.c
> @@ -17,7 +17,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/clk.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-imx/hardware.h>
>  
>  #define RTC_INPUT_CLK_32768HZ  (0x00 << 5)
>  #define RTC_INPUT_CLK_32000HZ  (0x01 << 5)
> diff --git a/drivers/rtc/rtc-pxa.c b/drivers/rtc/rtc-pxa.c
> index 0075c8f..679ca79 100644
> --- a/drivers/rtc/rtc-pxa.c
> +++ b/drivers/rtc/rtc-pxa.c
> @@ -28,7 +28,7 @@
>  #include <linux/io.h>
>  #include <linux/slab.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-pxa/hardware.h>
>  
>  #define TIMER_FREQ             CLOCK_TICK_RATE
>  #define RTC_DEF_DIVIDER                (32768 - 1)
> diff --git a/drivers/rtc/rtc-stmp3xxx.c b/drivers/rtc/rtc-stmp3xxx.c
> index 739ef556..9f7ff1d 100644
> --- a/drivers/rtc/rtc-stmp3xxx.c
> +++ b/drivers/rtc/rtc-stmp3xxx.c
> @@ -27,7 +27,7 @@
>  #include <linux/slab.h>
>  #include <linux/of_device.h>
>  
> -#include <mach/common.h>
> +#include <mach-mxs/common.h>
>  
>  #define STMP3XXX_RTC_CTRL                      0x0
>  #define STMP3XXX_RTC_CTRL_SET                  0x4
> diff --git a/drivers/scsi/arm/acornscsi-io.S b/drivers/scsi/arm/acornscsi-io.S
> index 22171b2..6395330 100644
> --- a/drivers/scsi/arm/acornscsi-io.S
> +++ b/drivers/scsi/arm/acornscsi-io.S
> @@ -8,7 +8,7 @@
>  #include <linux/linkage.h>
>  
>  #include <asm/assembler.h>
> -#include <mach/hardware.h>
> +#include <mach-rpc/hardware.h>
>  
>  #if defined(__APCS_32__)
>  #define LOADREGS(t,r,l...)     ldm##t  r, l
> diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c
> index e834ff8..819ddf0 100644
> --- a/drivers/spi/spi-imx.c
> +++ b/drivers/spi/spi-imx.c
> @@ -39,7 +39,7 @@
>  #include <linux/of_gpio.h>
>  #include <linux/pinctrl/consumer.h>
>  
> -#include <mach/spi.h>
> +#include <mach-imx/spi.h>
>  
>  #define DRIVER_NAME "spi_imx"
>  
> diff --git a/drivers/spi/spi-omap-uwire.c b/drivers/spi/spi-omap-uwire.c
> index 177b6cf..dc2ad86 100644
> --- a/drivers/spi/spi-omap-uwire.c
> +++ b/drivers/spi/spi-omap-uwire.c
> @@ -48,7 +48,7 @@
>  #include <linux/module.h>
>  
>  #include <asm/irq.h>
> -#include <mach/hardware.h>
> +#include <mach-omap1/hardware.h>
>  #include <asm/io.h>
>  #include <asm/mach-types.h>
>  
> diff --git a/drivers/spi/spi-s3c24xx-fiq.S b/drivers/spi/spi-s3c24xx-fiq.S
> index 9718a11..44941ce 100644
> --- a/drivers/spi/spi-s3c24xx-fiq.S
> +++ b/drivers/spi/spi-s3c24xx-fiq.S
> @@ -13,8 +13,8 @@
>  #include <linux/linkage.h>
>  #include <asm/assembler.h>
>  
> -#include <mach/map.h>
> -#include <mach/regs-irq.h>
> +#include <mach-s3c24xx/map.h>
> +#include <mach-s3c24xx/regs-irq.h>
>  #include <plat-samsung/regs-spi.h>
>  
>  #include "spi-s3c24xx-fiq.h"
> diff --git a/drivers/spi/spi-tegra.c b/drivers/spi/spi-tegra.c
> index ef52c1c..77b2810 100644
> --- a/drivers/spi/spi-tegra.c
> +++ b/drivers/spi/spi-tegra.c
> @@ -32,7 +32,7 @@
>  #include <linux/spi/spi.h>
>  #include <linux/dmaengine.h>
>  
> -#include <mach/dma.h>
> +#include <mach-tegra/dma.h>
>  
>  #define SLINK_COMMAND          0x000
>  #define   SLINK_BIT_LENGTH(x)          (((x) & 0x1f) << 0)
> diff --git a/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c b/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
> index a272e48..1e4f493 100644
> --- a/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
> +++ b/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
> @@ -5,8 +5,8 @@
>  #include <linux/i2c.h>
>  #include <linux/gpio.h>
>  #include <linux/interrupt.h>
> -#include <mach/gpio.h>
> -#include <mach/irqs.h>
> +#include <mach-ux500/gpio.h>
> +#include <mach-ux500/irqs.h>
>  #include "synaptics_i2c_rmi4.h"
>  
>  /*
> diff --git a/drivers/tty/serial/21285.c b/drivers/tty/serial/21285.c
> index a44345a..8104b07 100644
> --- a/drivers/tty/serial/21285.c
> +++ b/drivers/tty/serial/21285.c
> @@ -18,7 +18,7 @@
>  #include <asm/mach-types.h>
>  #include <asm/system_info.h>
>  #include <asm/hardware/dec21285.h>
> -#include <mach/hardware.h>
> +#include <mach-footbridge/hardware.h>
>  
>  #define BAUD_BASE              (mem_fclk_21285/64)
>  
> diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c
> index 3d7e1ee..ff99a33 100644
> --- a/drivers/tty/serial/atmel_serial.c
> +++ b/drivers/tty/serial/atmel_serial.c
> @@ -44,11 +44,13 @@
>  #include <asm/ioctls.h>
>  
>  #include <asm/mach/serial_at91.h>
> -#include <mach/board.h>
>  
>  #ifdef CONFIG_ARM
> -#include <mach/cpu.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/cpu.h>
>  #include <asm/gpio.h>
> +#else
> +#include <mach/board.h>
>  #endif
>  
>  #define PDC_BUFFER_SIZE                512
> diff --git a/drivers/tty/serial/clps711x.c b/drivers/tty/serial/clps711x.c
> index d0f719f..e4dc87b 100644
> --- a/drivers/tty/serial/clps711x.c
> +++ b/drivers/tty/serial/clps711x.c
> @@ -38,7 +38,7 @@
>  #include <linux/serial.h>
>  #include <linux/io.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-clps711x/hardware.h>
>  #include <asm/irq.h>
>  
>  #define UART_NR                2
> diff --git a/drivers/tty/serial/msm_serial_hs.c b/drivers/tty/serial/msm_serial_hs.c
> index fca13dc..949c9e6 100644
> --- a/drivers/tty/serial/msm_serial_hs.c
> +++ b/drivers/tty/serial/msm_serial_hs.c
> @@ -51,8 +51,8 @@
>  #include <linux/atomic.h>
>  #include <asm/irq.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/dma.h>
> +#include <mach-msm/hardware.h>
> +#include <mach-msm/dma.h>
>  #include <linux/platform_data/msm_serial_hs.h>
>  
>  /* HSUART Registers */
> diff --git a/drivers/tty/serial/sa1100.c b/drivers/tty/serial/sa1100.c
> index 2ca5959..d5c47f6 100644
> --- a/drivers/tty/serial/sa1100.c
> +++ b/drivers/tty/serial/sa1100.c
> @@ -37,8 +37,8 @@
>  #include <linux/io.h>
>  
>  #include <asm/irq.h>
> -#include <mach/hardware.h>
> -#include <mach/irqs.h>
> +#include <mach-sa1100/hardware.h>
> +#include <mach-sa1100/irqs.h>
>  #include <asm/mach/serial_sa1100.h>
>  
>  /* We've been assigned a range on the "Low-density serial ports" major */
> diff --git a/drivers/tty/serial/serial_ks8695.c b/drivers/tty/serial/serial_ks8695.c
> index 7c13639..f5c672c 100644
> --- a/drivers/tty/serial/serial_ks8695.c
> +++ b/drivers/tty/serial/serial_ks8695.c
> @@ -25,8 +25,8 @@
>  #include <asm/irq.h>
>  #include <asm/mach/irq.h>
>  
> -#include <mach/regs-uart.h>
> -#include <mach/regs-irq.h>
> +#include <mach-ks8695/regs-uart.h>
> +#include <mach-ks8695/regs-irq.h>
>  
>  #if defined(CONFIG_SERIAL_KS8695_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
>  #define SUPPORT_SYSRQ
> diff --git a/drivers/uio/uio_pruss.c b/drivers/uio/uio_pruss.c
> index 33a7a27..4bafe92 100644
> --- a/drivers/uio/uio_pruss.c
> +++ b/drivers/uio/uio_pruss.c
> @@ -25,7 +25,7 @@
>  #include <linux/clk.h>
>  #include <linux/dma-mapping.h>
>  #include <linux/slab.h>
> -#include <mach/sram.h>
> +#include <mach-davinci/sram.h>
>  
>  #define DRV_NAME "pruss_uio"
>  #define DRV_VERSION "1.0"
> diff --git a/drivers/usb/gadget/fsl_mxc_udc.c b/drivers/usb/gadget/fsl_mxc_udc.c
> index 1b0f086..fce80b3 100644
> --- a/drivers/usb/gadget/fsl_mxc_udc.c
> +++ b/drivers/usb/gadget/fsl_mxc_udc.c
> @@ -18,7 +18,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/io.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-imx/hardware.h>
>  
>  static struct clk *mxc_ahb_clk;
>  static struct clk *mxc_per_clk;
> diff --git a/drivers/usb/gadget/imx_udc.c b/drivers/usb/gadget/imx_udc.c
> index dc53348..476ac2b 100644
> --- a/drivers/usb/gadget/imx_udc.c
> +++ b/drivers/usb/gadget/imx_udc.c
> @@ -35,8 +35,8 @@
>  #include <linux/usb/ch9.h>
>  #include <linux/usb/gadget.h>
>  
> -#include <mach/usb.h>
> -#include <mach/hardware.h>
> +#include <mach-imx/usb.h>
> +#include <mach-imx/hardware.h>
>  
>  #include "imx_udc.h"
>  
> diff --git a/drivers/usb/gadget/pxa27x_udc.c b/drivers/usb/gadget/pxa27x_udc.c
> index 644b430..d4ef1fe 100644
> --- a/drivers/usb/gadget/pxa27x_udc.c
> +++ b/drivers/usb/gadget/pxa27x_udc.c
> @@ -26,12 +26,12 @@
>  #include <linux/prefetch.h>
>  
>  #include <asm/byteorder.h>
> -#include <mach/hardware.h>
> +#include <mach-pxa/hardware.h>
>  
>  #include <linux/usb.h>
>  #include <linux/usb/ch9.h>
>  #include <linux/usb/gadget.h>
> -#include <mach/udc.h>
> +#include <mach-pxa/udc.h>
>  
>  #include "pxa27x_udc.h"
>  
> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
> index a665b3e..5add6ce 100644
> --- a/drivers/usb/host/ohci-at91.c
> +++ b/drivers/usb/host/ohci-at91.c
> @@ -17,11 +17,11 @@
>  #include <linux/of_platform.h>
>  #include <linux/of_gpio.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-at91/hardware.h>
>  #include <asm/gpio.h>
>  
> -#include <mach/board.h>
> -#include <mach/cpu.h>
> +#include <mach-at91/board.h>
> +#include <mach-at91/cpu.h>
>  
>  #ifndef CONFIG_ARCH_AT91
>  #error "CONFIG_ARCH_AT91 must be defined."
> diff --git a/drivers/usb/host/ohci-exynos.c b/drivers/usb/host/ohci-exynos.c
> index 2dce0df..561f56a 100644
> --- a/drivers/usb/host/ohci-exynos.c
> +++ b/drivers/usb/host/ohci-exynos.c
> @@ -14,7 +14,7 @@
>  #include <linux/clk.h>
>  #include <linux/of.h>
>  #include <linux/platform_device.h>
> -#include <mach/ohci.h>
> +#include <mach-exynos/ohci.h>
>  #include <plat-samsung/usb-phy.h>
>  
>  struct exynos_ohci_hcd {
> diff --git a/drivers/usb/musb/davinci.c b/drivers/usb/musb/davinci.c
> index 472c8b4..2e8cfb8 100644
> --- a/drivers/usb/musb/davinci.c
> +++ b/drivers/usb/musb/davinci.c
> @@ -34,8 +34,8 @@
>  #include <linux/platform_device.h>
>  #include <linux/dma-mapping.h>
>  
> -#include <mach/cputype.h>
> -#include <mach/hardware.h>
> +#include <mach-davinci/cputype.h>
> +#include <mach-davinci/hardware.h>
>  
>  #include <asm/mach-types.h>
>  
> diff --git a/drivers/usb/musb/ux500_dma.c b/drivers/usb/musb/ux500_dma.c
> index d05c7fb..7c92d86 100644
> --- a/drivers/usb/musb/ux500_dma.c
> +++ b/drivers/usb/musb/ux500_dma.c
> @@ -30,7 +30,7 @@
>  #include <linux/dma-mapping.h>
>  #include <linux/dmaengine.h>
>  #include <linux/pfn.h>
> -#include <mach/usb.h>
> +#include <mach-ux500/usb.h>
>  #include "musb_core.h"
>  
>  struct ux500_dma_channel {
> diff --git a/drivers/usb/otg/msm_otg.c b/drivers/usb/otg/msm_otg.c
> index 9f5fc90..e41e6c5 100644
> --- a/drivers/usb/otg/msm_otg.c
> +++ b/drivers/usb/otg/msm_otg.c
> @@ -40,7 +40,7 @@
>  #include <linux/usb/msm_hsusb_hw.h>
>  #include <linux/regulator/consumer.h>
>  
> -#include <mach/clk.h>
> +#include <mach-msm/clk.h>
>  
>  #define MSM_USB_BASE   (motg->regs)
>  #define DRIVER_NAME    "msm_otg"
> diff --git a/drivers/video/backlight/omap1_bl.c b/drivers/video/backlight/omap1_bl.c
> index 1e39ae3..556b623 100644
> --- a/drivers/video/backlight/omap1_bl.c
> +++ b/drivers/video/backlight/omap1_bl.c
> @@ -28,7 +28,7 @@
>  #include <linux/backlight.h>
>  #include <linux/slab.h>
>  
> -#include <mach/hardware.h>
> +#include <mach-omap1/hardware.h>
>  #include <plat-omap/board.h>
>  #include <plat-omap/mux.h>
>  
> diff --git a/drivers/video/ep93xx-fb.c b/drivers/video/ep93xx-fb.c
> index 345d962..b58f5c5 100644
> --- a/drivers/video/ep93xx-fb.c
> +++ b/drivers/video/ep93xx-fb.c
> @@ -24,7 +24,7 @@
>  #include <linux/clk.h>
>  #include <linux/fb.h>
>  
> -#include <mach/fb.h>
> +#include <mach-ep93xx/fb.h>
>  
>  /* Vertical Frame Timing Registers */
>  #define EP93XXFB_VLINES_TOTAL                  0x0000  /* SW locked */
> diff --git a/drivers/video/nuc900fb.h b/drivers/video/nuc900fb.h
> index bc7c930..6f7f59a 100644
> --- a/drivers/video/nuc900fb.h
> +++ b/drivers/video/nuc900fb.h
> @@ -15,8 +15,8 @@
>  #ifndef __NUC900FB_H
>  #define __NUC900FB_H
>  
> -#include <mach/map.h>
> -#include <mach/fb.h>
> +#include <mach-w90x900/map.h>
> +#include <mach-w90x900/fb.h>
>  
>  enum nuc900_lcddrv_type {
>         LCDDRV_NUC910,
> diff --git a/drivers/video/pnx4008/dum.h b/drivers/video/pnx4008/dum.h
> index 1234d43..ddae1c2 100644
> --- a/drivers/video/pnx4008/dum.h
> +++ b/drivers/video/pnx4008/dum.h
> @@ -12,7 +12,7 @@
>  #ifndef __PNX008_DUM_H__
>  #define __PNX008_DUM_H__
>  
> -#include <mach/platform.h>
> +#include <mach-pnx4008/platform.h>
>  
>  #define PNX4008_DUMCONF_VA_BASE                IO_ADDRESS(PNX4008_DUMCONF_BASE)
>  #define PNX4008_DUM_MAIN_VA_BASE       IO_ADDRESS(PNX4008_DUM_MAINCFG_BASE)
> diff --git a/drivers/w1/masters/omap_hdq.c b/drivers/w1/masters/omap_hdq.c
> index 4b0fcf3..2d9cc12 100644
> --- a/drivers/w1/masters/omap_hdq.c
> +++ b/drivers/w1/masters/omap_hdq.c
> @@ -19,7 +19,7 @@
>  #include <linux/pm_runtime.h>
>  
>  #include <asm/irq.h>
> -#include <mach/hardware.h>
> +#include <mach-omap2/hardware.h>
>  
>  #include "../w1.h"
>  #include "../w1_int.h"
> diff --git a/drivers/watchdog/imx2_wdt.c b/drivers/watchdog/imx2_wdt.c
> index bcfab2b..f745c9b 100644
> --- a/drivers/watchdog/imx2_wdt.c
> +++ b/drivers/watchdog/imx2_wdt.c
> @@ -33,7 +33,7 @@
>  #include <linux/uaccess.h>
>  #include <linux/timer.h>
>  #include <linux/jiffies.h>
> -#include <mach/hardware.h>
> +#include <mach-imx/hardware.h>
>  
>  #define DRIVER_NAME "imx2-wdt"
>  
> diff --git a/drivers/watchdog/ixp4xx_wdt.c b/drivers/watchdog/ixp4xx_wdt.c
> index 5580b4f..913d480 100644
> --- a/drivers/watchdog/ixp4xx_wdt.c
> +++ b/drivers/watchdog/ixp4xx_wdt.c
> @@ -25,7 +25,7 @@
>  #include <linux/init.h>
>  #include <linux/bitops.h>
>  #include <linux/uaccess.h>
> -#include <mach/hardware.h>
> +#include <mach-ixp4xx/hardware.h>
>  
>  static bool nowayout = WATCHDOG_NOWAYOUT;
>  static int heartbeat = 60;     /* (secs) Default is 1 minute */
> diff --git a/drivers/watchdog/ks8695_wdt.c b/drivers/watchdog/ks8695_wdt.c
> index 59e75d9..19c1dc1 100644
> --- a/drivers/watchdog/ks8695_wdt.c
> +++ b/drivers/watchdog/ks8695_wdt.c
> @@ -23,8 +23,8 @@
>  #include <linux/watchdog.h>
>  #include <linux/io.h>
>  #include <linux/uaccess.h>
> -#include <mach/hardware.h>
> -#include <mach/regs-timer.h>
> +#include <mach-ks8695/hardware.h>
> +#include <mach-ks8695/regs-timer.h>
>  
>  #define WDT_DEFAULT_TIME       5       /* seconds */
>  #define WDT_MAX_TIME           171     /* seconds */
> diff --git a/drivers/watchdog/wdt285.c b/drivers/watchdog/wdt285.c
> index 5eec740..1e1c743 100644
> --- a/drivers/watchdog/wdt285.c
> +++ b/drivers/watchdog/wdt285.c
> @@ -31,7 +31,7 @@
>  #include <linux/interrupt.h>
>  #include <linux/uaccess.h>
>  #include <linux/irq.h>
> -#include <mach/hardware.h>
> +#include <mach-footbridge/hardware.h>
>  
>  #include <asm/mach-types.h>
>  #include <asm/system_info.h>
> -- 
> 
> _______________________________________________
> linaro-kernel mailing list
> linaro-kernel@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-kernel
> 

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 2/4] [RFC] ARM: mass move of mach-*/plat-* header files
  2012-08-22 15:28   ` Nicolas Pitre
@ 2012-08-22 15:37     ` Arnd Bergmann
  0 siblings, 0 replies; 28+ messages in thread
From: Arnd Bergmann @ 2012-08-22 15:37 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: linux-arm-kernel, linaro-kernel, linux-kernel

On Wednesday 22 August 2012, Nicolas Pitre wrote:
> Ideally, files such as ...
> 
> > rename from arch/arm/mach-at91/include/mach/at91_pio.h
> > rename to arch/arm/mach-at91/include/mach-at91/at91_pio.h
> 
> should move next to the A91 GPIO driver file.  but that require manual 
> operations which can be done later.

Right. There are cases where we have to do this eventually because the
files are duplicated, e.g. at91/avr32, pxa/mmp, s3c/s5p/exynos, or
sa1100/pxa.

For the majority of cases where it's desirable to move the header file
closer to the driver, it's not actually a prerequisite to do this
in order to get a complete multiplatform setup.

	Arnd

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers
  2012-08-22 12:53 [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
                   ` (4 preceding siblings ...)
  2012-08-22 15:23 ` [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Nicolas Pitre
@ 2012-08-22 19:44 ` Stephen Warren
  2012-08-22 20:04   ` Arnd Bergmann
  2012-08-24 13:19 ` Shawn Guo
  2012-08-24 13:55 ` Rob Herring
  7 siblings, 1 reply; 28+ messages in thread
From: Stephen Warren @ 2012-08-22 19:44 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linux-kernel, linaro-kernel

On 08/22/2012 06:53 AM, Arnd Bergmann wrote:
> I've created this series some time ago, and updated it now to
> v3.6-rc1. The idea is to get us a big step closer to the
> single zImage kernel across multiple ARM platforms by
> untangling the duplicate header file names.
> 
> There are two branches available in the arm-soc tree:
> 
> 1. This series,
>    http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=shortlog;h=refs/heads/testing/mach-headers
>    This just moves header files around and changes most of the
>    files including them. There are a few remaining drivers
>    and platform files that keep including a generic file name
>    like <mach/uncompress.h>....

FWIW, I merged this with next-20120820, ignored all the non-Tegra
conflicts, and it built and ran just fine on Tegra. There were a lot of
conflicts overall though...

...
> I would like to get the first series merged in v3.7 if we can agree
> on the general approach. So far, feedback in Linaro internal
> meetings has been very positive, but Russell had concerns when
> we first discussed it a few months ago.
> 
> A patch set this large means a lot of churn, and there are a few
> ways we could deal with this:
> 
> a) Put the branch into linux-next now, and have everyone who
> encounters conflicts pull it into their own branch to resolve
> the conflicts. This can be a lot of work, and it means we
> cannot rebase this branch any more.

I did a very quick test of rebasing all the Tegra branches onto this,
and it worked out to be very easy; very few conflicts and mostly just
files deleted in the Tegra tree this time around. One of the Tegra
branches depends on v3.6-rc2 in order to pick up some changes that
conflict with changes made there. If we convert to dmaengine in 3.7,
then we'll probably depend on a later v3.6-rc for a dmaengine driver
bug-fix. Does it make sense to rebase this mach-headers onto a later
v3.6-rc? I suppose I could branch from v3.6-rc2, merge in mach-headers,
and then build on that if needed.

> b) Involve Linus Torvalds in the process and get him to
> take the series at the end of the v3.7 merge window, after
> rebasing it on top of all the other branches he merged.
> This means it happens pretty much ad-hoc and there is little
> testing on the patches that actually get merged.

Given the number of merge conflicts this has with next-20120820, that
sounds like a lot of work you need to do at the end of the merge window,
but I suppose if it's mostly scripted, it wouldn't be too hard to
recreate the series in a short time.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers
  2012-08-22 19:44 ` Stephen Warren
@ 2012-08-22 20:04   ` Arnd Bergmann
  0 siblings, 0 replies; 28+ messages in thread
From: Arnd Bergmann @ 2012-08-22 20:04 UTC (permalink / raw)
  To: Stephen Warren; +Cc: linux-arm-kernel, linux-kernel, linaro-kernel

On Wednesday 22 August 2012, Stephen Warren wrote:
> On 08/22/2012 06:53 AM, Arnd Bergmann wrote:
> > I've created this series some time ago, and updated it now to
> > v3.6-rc1. The idea is to get us a big step closer to the
> > single zImage kernel across multiple ARM platforms by
> > untangling the duplicate header file names.
> > 
> > There are two branches available in the arm-soc tree:
> > 
> > 1. This series,
> >    http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=shortlog;h=refs/heads/testing/mach-headers
> >    This just moves header files around and changes most of the
> >    files including them. There are a few remaining drivers
> >    and platform files that keep including a generic file name
> >    like <mach/uncompress.h>....
> 
> FWIW, I merged this with next-20120820, ignored all the non-Tegra
> conflicts, and it built and ran just fine on Tegra. There were a lot of
> conflicts overall though...

Ah, very cool, thanks for the testing. If you want, you can also
try to merge in the testing/randconfig branch and see how far
you get with enabling tegra in there. That does however require
that you also use the COMMON_CLK and SPARSE_IRQ options, and I'm
not sure what your status on those is.

> > I would like to get the first series merged in v3.7 if we can agree
> > on the general approach. So far, feedback in Linaro internal
> > meetings has been very positive, but Russell had concerns when
> > we first discussed it a few months ago.
> > 
> > A patch set this large means a lot of churn, and there are a few
> > ways we could deal with this:
> > 
> > a) Put the branch into linux-next now, and have everyone who
> > encounters conflicts pull it into their own branch to resolve
> > the conflicts. This can be a lot of work, and it means we
> > cannot rebase this branch any more.
> 
> I did a very quick test of rebasing all the Tegra branches onto this,
> and it worked out to be very easy; very few conflicts and mostly just
> files deleted in the Tegra tree this time around. One of the Tegra
> branches depends on v3.6-rc2 in order to pick up some changes that
> conflict with changes made there. If we convert to dmaengine in 3.7,
> then we'll probably depend on a later v3.6-rc for a dmaengine driver
> bug-fix. Does it make sense to rebase this mach-headers onto a later
> v3.6-rc? I suppose I could branch from v3.6-rc2, merge in mach-headers,
> and then build on that if needed.

It's only problematic if multiple people merge the same branch with
later -rc releases and fix the same conflicts in different ways.
If we get such conflicts, it would probably be best if I merge a
new -rc into my branch and let other people base on my merge
commit.

> > b) Involve Linus Torvalds in the process and get him to
> > take the series at the end of the v3.7 merge window, after
> > rebasing it on top of all the other branches he merged.
> > This means it happens pretty much ad-hoc and there is little
> > testing on the patches that actually get merged.
> 
> Given the number of merge conflicts this has with next-20120820, that
> sounds like a lot of work you need to do at the end of the merge window,
> but I suppose if it's mostly scripted, it wouldn't be too hard to
> recreate the series in a short time.

Yes, I've done it a few times.

	Arnd

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-22 13:01 ` [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes Arnd Bergmann
  2012-08-22 15:33   ` Nicolas Pitre
@ 2012-08-22 21:43   ` Russell King - ARM Linux
  2012-08-23 11:35     ` Arnd Bergmann
  2012-08-27 22:16   ` Haojian Zhuang
  2 siblings, 1 reply; 28+ messages in thread
From: Russell King - ARM Linux @ 2012-08-22 21:43 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linaro-kernel, linux-kernel

On Wed, Aug 22, 2012 at 01:01:19PM +0000, Arnd Bergmann wrote:
> These are lots of device drivers that include machine
> specific header files from ARM platforms and that are
> not easily scriptable. The changes have been found through
> manual inspection and should cause no visible changes
> because of the build script that maps the old names to the
> new ones.

And you end up missing a bunch of drivers in the process, such as the
sa1100 RTC driver which is shared between sa11x0 and PXA.  I wonder
how many of the Samsung platforms get broken by this as well...

In any case, what we _should_ be doing here as well is moving the headers
included by drivers for platform data out of the arch/arm/mach/ subtrees
and into include/linux/platform_data.  That will substantially reduce the
amount of mach/ headers to deal with.

Where I want this to get to is not a persistence of the existing crappy
situation where platforms stuff platform data definitions into arch/arm,
but instead put them in the right place.  That means providing them with
a good reason why the existing solution won't work, and not allowing
mach/ includes in drivers is a very good way to achieve that.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-22 21:43   ` Russell King - ARM Linux
@ 2012-08-23 11:35     ` Arnd Bergmann
  2012-08-23 12:37       ` Nicolas Ferre
                         ` (2 more replies)
  0 siblings, 3 replies; 28+ messages in thread
From: Arnd Bergmann @ 2012-08-23 11:35 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: Russell King - ARM Linux, linaro-kernel, linux-kernel

On Wednesday 22 August 2012, Russell King - ARM Linux wrote:
> 
> On Wed, Aug 22, 2012 at 01:01:19PM +0000, Arnd Bergmann wrote:
> > These are lots of device drivers that include machine
> > specific header files from ARM platforms and that are
> > not easily scriptable. The changes have been found through
> > manual inspection and should cause no visible changes
> > because of the build script that maps the old names to the
> > new ones.
> 
> And you end up missing a bunch of drivers in the process, such as the
> sa1100 RTC driver which is shared between sa11x0 and PXA.  I wonder
> how many of the Samsung platforms get broken by this as well...

I'm well aware of the files that are not converted in this series,
but I'm also reasonably sure that I'm not breaking them in the process,
as long as we don't revert the first patch before the conversion is
done. I have added a list of the remaining ones at the end of this
email for reference. Most of them are for the Samsung platforms, and
they are already working on cleaning that up.

> In any case, what we should be doing here as well is moving the headers
> included by drivers for platform data out of the arch/arm/mach/ subtrees
> and into include/linux/platform_data.  That will substantially reduce the
> amount of mach/ headers to deal with.

I've just looked at the {mach,plat}/*.h files that get included in ARM
specific drivers. Out of the 342 header files that get used in this way,
I found 93 that are practically just platform data, and a few that
are platform_data mixed with something else.

How about I move all the pure platform data definition files now and
rebase the other patches on top of that. Here is a list of suggested
file names in include/linux/platform_data/:

mach-at91/at_hdmac.h		-> dma-atmel.h
mach-davinci/aemif.h		-> mtd-davinci-aemif.h
mach-davinci/asp.h		-> asoc-davinci-evm.h
mach-davinci/i2c.h		-> i2c-davinci.h
mach-davinci/keyscan.h		-> keyscan-davinci.h
mach-davinci/mmc.h		-> mmc-davinci.h
mach-davinci/nand.h		-> mtd-davinci.h
mach-davinci/spi.h		-> spi-davinci.h
mach-davinci/usb.h		-> usb-davinci.h
mach-ep93xx/dma.h		-> dma-ep93xx.h
mach-ep93xx/ep93xx_keypad.h	-> keypad-ep93xx.h
mach-ep93xx/ep93xx_spi.h	-> spi-ep93xx.h
mach-ep93xx/fb.h		-> video-ep93xx.h
mach-exynos/ohci.h		-> usb-exynos.h
mach-imx/dma.h			-> dma-imx.h
mach-imx/esdhc.h		-> mmc-esdhc-imx.h
mach-imx/i2c.h			-> i2c-imx.h
mach-imx/imx-uart.h		-> serial-imx.h
mach-imx/imxfb.h		-> video-imxfb.h
mach-imx/mmc.h			-> mmc-mxcmmc.h
mach-imx/mx1_camera.h		-> camera-mx1.h
mach-imx/mx21-usbhost.h		-> usb-mx2.h
mach-imx/mx2_cam.h		-> camera-mx2.h
mach-imx/mx3_camera.h		-> camera-mx3.h
mach-imx/mx3fb.h		-> video-mx3fb.h
mach-imx/mxc_ehci.h		-> usb-ehci-mxc.h
mach-imx/mxc_nand.h		-> mtd-mxc_nand.h
mach-imx/sdma.h			-> dma-imx-sdma.h
mach-imx/spi.h			-> spi-imx.h
mach-imx/ssi.h			-> asoc-imx-ssi.h
mach-imx/usb.h			-> usb-imx_udc.h
mach-kirkwood/leds-netxbig.h	-> leds-kirkwood-netxbig.h
mach-kirkwood/leds-ns2.h	-> leds-kirkwood-ns2.h
mach-mmp/sram.h			-> dma-mmp_tdma.h
mach-msm/mmc.h			-> mmc-msm_sdcc.h
mach-msm/msm_fb.h		-> video-msm_fb.h
mach-netx/eth.h			-> eth-netx.h
mach-nomadik/nand.h		-> mtd-nomadik-nand.h
mach-pxa/arcom-pcmcia.h		-> pcmcia-pxa2xx_viper.h
mach-pxa/camera.h		-> camera-pxa.h
mach-pxa/irda.h			-> irda-pxaficp.h
mach-pxa/mmc.h			-> mmc-pxamci.h
mach-pxa/ohci.h			-> usb-ohci-pxa27x.h
mach-pxa/palmasoc.h		-> asoc-palm27x.h
mach-pxa/pata_pxa.h		-> ata-pxa.h
mach-pxa/pxa3xx-u2d.h		-> usb-ohci-pxa27x.h
mach-pxa/pxa930_rotary.h	-> keyboard-pxa930_rotary.h
mach-pxa/pxa930_trkball.h	-> mouse-pxa930_trkball.h
mach-pxa/pxafb.h		-> video-pxafb.h
mach-s3c24xx/leds-gpio.h	-> leds-s3c24xx.h
mach-sa1100/mcp.h		-> mfd-mcp-sa11x0.h
mach-tegra/kbc.h		-> keyboard-tegra-kbc.h
mach-tegra/sdhci.h		-> mmc-sdhci-tegra.h
mach-tegra/tegra_wm8903_pdata.h	-> asoc-tegra_wm8903.h
mach-u300/gpio-u300.h		-> pinctrl-coh901.h
mach-ux500/crypto-ux500.h	-> crypto-ux500.h
mach-ux500/usb.h		-> usb-musb-ux500.h
mach-ux500/msp.h		-> asoc-ux500-msp.h
mach-vt8500/vt8500fb.h		-> video-vt8500lcdfb.h
mach-w90x900/fb.h		-> video-nuc900fb.h
mach-w90x900/i2c.h		-> i2c-nuc900.h
mach-w90x900/nuc900_spi.h	-> spi-nuc900.h
mach-w90x900/w90p910_keypad.h	-> keypad-w90p910.h
plat-nomadik/ske.h		-> keypad-nomadik-ske.h
plat-omap/dsp.h			-> dsp-omap.h
plat-omap/keypad.h		-> keypad-omap.h
plat-omap/lcd_mipid.h		-> lcd-mipid.h
plat-omap/mcbsp.h		-> dsp-mcbsp.h
plat-omap/mcspi.h		-> spi-omap2-mcspi.h
plat-omap/nand.h		-> mtd-nand-omap2.h
plat-omap/onenand.h		-> mtd-onenand-omap2.h
plat-omap/remoteproc.h		-> remoteproc-omap.h
plat-omap/voltage.h		-> smartreflex-omap.h
plat-orion/audio.h		-> asoc-kirkwood.h
plat-orion/ehci-orion.h		-> usb-ehci-orion.h
plat-orion/mv_xor.h		-> dma-mv_xor.h
plat-orion/mvsdio.h		-> mmc-mvsdio.h
plat-orion/orion_nand.h		-> mtd-orion_nand.h
plat-pxa/pxa27x_keypad.h	-> keypad-pxa27x.h
plat-pxa/pxa3xx_nand.h		-> mtd-nand-pxa3xx.h
plat-samsung/ata.h		-> ata-samsung_cf.h
plat-samsung/audio-simtec.h	-> asoc-s3c24xx_simtec.h
plat-samsung/audio.h		-> asoc-s3c.h
plat-samsung/ehci.h		-> usb-ehci-s5p.h
plat-samsung/hwmon.h		-> hwmon-s3c.h
plat-samsung/iic.h		-> i2c-s3c2410.h
plat-samsung/mci.h		-> mmc-s3cmci.h
plat-samsung/mipi_csis.h	-> mipi-csis.h
plat-samsung/nand.h		-> mtd-nand-s3c2410.h
plat-samsung/s3c64xx-spi.h	-> spi-s3c64xx.h
plat-samsung/ts.h		-> touchscreen-s3c2410.h
plat-samsung/udc.h		-> usb-s3c2410_udc.h
plat-samsung/usb-control.h	-> usb-ohci-s3c2410.h
plat-spear/keyboard.h		-> keyboard-spear.h

> Where I want this to get to is not a persistence of the existing crappy
> situation where platforms stuff platform data definitions into arch/arm,
> but instead put them in the right place.

Agreed.

> That means providing them with a good reason why the existing solution
> won't work, and not allowing mach/ includes in drivers is a very good
> way to achieve that.

About two third of the platform header files included in device drivers
are not related to platform_data according to what I found. Most of them
are also wrong (hardcoding interrupt numbers or addresses, headers
included by accident but not actually used, driver specific definitions
that don't belong in the platform, platform specific abstraction layers,
...), but they tend to be harder to clean up.

I hope we can get there eventually, but I think the intermediate step
of enforcing a mach-${MACH}/foo.h is a step in the right direction on
that way. While my immediate goal of course is to get the multiplatform
kernel running and not to clean up the mess with mach headers, I think
it's good if the dependency on a specific platform is highlighted in the
source code so it can be picked on better in reviews.

	Arnd

** list of mach/* inclusions that I could not match with
** exactly one ARM platform:

$ git grep ^#include.*\<mach/  drivers/ sound/ include/ arch/arm/
arch/arm/boot/compressed/head.S:#include <mach/debug-macro.S>
arch/arm/boot/compressed/misc.c:#include <mach/uncompress.h>
arch/arm/boot/compressed/mmcif-sh7372.c:#include <mach/mmc.h>
arch/arm/boot/compressed/sdhi-sh7372.c:#include <mach/mmc.h>
arch/arm/common/locomo.c:#include <mach/hardware.h>
arch/arm/common/sa1111.c:#include <mach/hardware.h>
arch/arm/include/asm/barrier.h:#include <mach/barriers.h>
arch/arm/include/asm/clkdev.h:#include <mach/clkdev.h>
arch/arm/include/asm/dma.h:#include <mach/isa-dma.h>
arch/arm/include/asm/floppy.h:#include <mach/floppy.h>
arch/arm/include/asm/gpio.h:#include <mach/gpio.h>
arch/arm/include/asm/hardware/dec21285.h:#include <mach/hardware.h>
arch/arm/include/asm/hardware/iop3xx-adma.h:#include <mach/hardware.h>
arch/arm/include/asm/hardware/iop3xx-gpio.h:#include <mach/hardware.h>
arch/arm/include/asm/hardware/it8152.h:#include <mach/irqs.h>
arch/arm/include/asm/hardware/sa1111.h:#include <mach/bitfield.h>
arch/arm/include/asm/io.h:#include <mach/io.h>
arch/arm/include/asm/irq.h:#include <mach/irqs.h>
arch/arm/include/asm/memory.h:#include <mach/memory.h>
arch/arm/include/asm/mtd-xip.h:#include <mach/mtd-xip.h>
arch/arm/include/asm/timex.h:#include <mach/timex.h>
arch/arm/kernel/debug.S:#include <mach/debug-macro.S>
arch/arm/kernel/entry-armv.S:#include <mach/entry-macro.S>
arch/arm/kernel/entry-common.S:#include <mach/entry-macro.S>
arch/arm/kernel/head.S:#include <mach/debug-macro.S>
arch/arm/mm/proc-sa110.S:#include <mach/hardware.h>
arch/arm/mm/proc-sa1100.S:#include <mach/hardware.h>
arch/arm/plat-iop/adma.c:#include <mach/adma.h>
arch/arm/plat-iop/i2c.c:#include <mach/hardware.h>
arch/arm/plat-iop/pci.c:#include <mach/hardware.h>
arch/arm/plat-iop/pmu.c:#include <mach/irqs.h>
arch/arm/plat-iop/restart.c:#include <mach/hardware.h>
arch/arm/plat-iop/time.c:#include <mach/hardware.h>
arch/arm/plat-iop/time.c:#include <mach/time.h>
arch/arm/plat-omap/debug-devices.c:#include <mach/hardware.h>
arch/arm/plat-omap/debug-leds.c:#include <mach/hardware.h>
arch/arm/plat-omap/devices.c:#include <mach/hardware.h>
arch/arm/plat-omap/dma.c:#include <mach/hardware.h>
arch/arm/plat-omap/dmtimer.c:#include <mach/hardware.h>
arch/arm/plat-omap/fb.c:#include <mach/hardware.h>
arch/arm/plat-omap/i2c.c:#include <mach/irqs.h>
arch/arm/plat-omap/include/plat-omap/gpio.h:#include <mach/irqs.h>
arch/arm/plat-omap/include/plat-omap/irqs.h:#include <mach/hardware.h>
arch/arm/plat-orion/common.c:#include <mach/bridge-regs.h>
arch/arm/plat-orion/mpp.c:#include <mach/hardware.h>
arch/arm/plat-pxa/dma.c:#include <mach/hardware.h>
arch/arm/plat-pxa/dma.c:#include <mach/dma.h>
arch/arm/plat-pxa/ssp.c:#include <mach/hardware.h>
arch/arm/plat-samsung/clock.c:#include <mach/hardware.h>
arch/arm/plat-samsung/cpu.c:#include <mach/map.h>
arch/arm/plat-samsung/devs.c:#include <mach/hardware.h>
arch/arm/plat-samsung/devs.c:#include <mach/dma.h>
arch/arm/plat-samsung/devs.c:#include <mach/irqs.h>
arch/arm/plat-samsung/devs.c:#include <mach/map.h>
arch/arm/plat-samsung/dma-ops.c:#include <mach/dma.h>
arch/arm/plat-samsung/dma.c:#include <mach/dma.h>
arch/arm/plat-samsung/dma.c:#include <mach/irqs.h>
arch/arm/plat-samsung/include/plat-samsung/dma-ops.h:#include <mach/dma.h>
arch/arm/plat-samsung/include/plat-samsung/irq.h:#include <mach/hardware.h>
arch/arm/plat-samsung/include/plat-samsung/irq.h:#include <mach/regs-irq.h>
arch/arm/plat-samsung/include/plat-samsung/irq.h:#include <mach/regs-gpio.h>
arch/arm/plat-samsung/include/plat-samsung/regs-onenand.h:#include <mach/hardware.h>
arch/arm/plat-samsung/include/plat-samsung/regs-srom.h:#include <mach/map.h>
arch/arm/plat-samsung/include/plat-samsung/watchdog-reset.h:#include <mach/map.h>
arch/arm/plat-samsung/init.c:#include <mach/hardware.h>
arch/arm/plat-samsung/irq-vic-timer.c:#include <mach/map.h>
arch/arm/plat-samsung/pm.c:#include <mach/hardware.h>
arch/arm/plat-samsung/pm.c:#include <mach/map.h>
arch/arm/plat-samsung/pm.c:#include <mach/regs-clock.h>
arch/arm/plat-samsung/pm.c:#include <mach/regs-irq.h>
arch/arm/plat-samsung/pm.c:#include <mach/pm-core.h>
arch/arm/plat-samsung/pwm-clock.c:#include <mach/hardware.h>
arch/arm/plat-samsung/pwm-clock.c:#include <mach/map.h>
arch/arm/plat-samsung/s3c-dma-ops.c:#include <mach/dma.h>
arch/arm/plat-samsung/s5p-clock.c:#include <mach/regs-clock.h>
arch/arm/plat-samsung/s5p-dev-mfc.c:#include <mach/map.h>
arch/arm/plat-samsung/s5p-dev-uart.c:#include <mach/hardware.h>
arch/arm/plat-samsung/s5p-dev-uart.c:#include <mach/map.h>
arch/arm/plat-samsung/s5p-irq-eint.c:#include <mach/map.h>
arch/arm/plat-samsung/s5p-irq-eint.c:#include <mach/regs-gpio.h>
arch/arm/plat-samsung/s5p-irq-gpioint.c:#include <mach/map.h>
arch/arm/plat-samsung/s5p-irq-pm.c:#include <mach/map.h>
arch/arm/plat-samsung/s5p-irq-pm.c:#include <mach/regs-gpio.h>
arch/arm/plat-samsung/s5p-irq-pm.c:#include <mach/regs-irq.h>
arch/arm/plat-samsung/s5p-irq.c:#include <mach/map.h>
arch/arm/plat-samsung/s5p-time.c:#include <mach/map.h>
arch/arm/plat-samsung/setup-mipiphy.c:#include <mach/regs-clock.h>
arch/arm/plat-samsung/time.c:#include <mach/map.h>
arch/arm/plat-samsung/time.c:#include <mach/regs-irq.h>
arch/arm/plat-samsung/time.c:#include <mach/tick.h>
arch/arm/plat-spear/include/plat-spear/debug-macro.S:#include <mach/spear.h>
arch/arm/plat-spear/include/plat-spear/uncompress.h:#include <mach/spear.h>
arch/arm/plat-spear/pl080.c:#include <mach/spear.h>
arch/arm/plat-spear/pl080.c:#include <mach/misc_regs.h>
arch/arm/plat-spear/restart.c:#include <mach/spear.h>
arch/arm/plat-spear/restart.c:#include <mach/generic.h>
arch/arm/plat-spear/time.c:#include <mach/generic.h>
arch/arm/plat-versatile/clock.c:#include <mach/clkdev.h>
arch/arm/plat-versatile/leds.c:#include <mach/hardware.h>
arch/arm/plat-versatile/leds.c:#include <mach/platform.h>
drivers/ata/pata_at32.c:#include <mach/board.h>
drivers/ata/pata_at32.c:#include <mach/smc.h>
drivers/ata/pata_ep93xx.c:#include <mach/dma.h>
drivers/ata/pata_ep93xx.c:#include <mach/platform.h>
drivers/cdrom/gdrom.c:#include <mach/dma.h>
drivers/cdrom/gdrom.c:#include <mach/sysasic.h>
drivers/clk/spear/spear1310_clock.c:#include <mach/spear.h>
drivers/clk/spear/spear1340_clock.c:#include <mach/spear.h>
drivers/clk/spear/spear3xx_clock.c:#include <mach/misc_regs.h>
drivers/clk/spear/spear6xx_clock.c:#include <mach/misc_regs.h>
drivers/clk/versatile/clk-integrator.c:#include <mach/hardware.h>
drivers/clk/versatile/clk-integrator.c:#include <mach/platform.h>
drivers/cpufreq/s5pv210-cpufreq.c:#include <mach/regs-clock.h>
drivers/crypto/ux500/cryp/cryp.c:#include <mach/hardware.h>
drivers/dma/iop-adma.c:#include <mach/adma.h>
drivers/dma/tegra20-apb-dma.c:#include <mach/clk.h>
drivers/gpio/gpio-sa1100.c:#include <mach/hardware.h>
drivers/gpio/gpio-sa1100.c:#include <mach/irqs.h>
drivers/gpio/gpio-samsung.c:#include <mach/hardware.h>
drivers/gpio/gpio-samsung.c:#include <mach/map.h>
drivers/gpio/gpio-samsung.c:#include <mach/regs-clock.h>
drivers/gpio/gpio-samsung.c:#include <mach/regs-gpio.h>
drivers/i2c/busses/i2c-puv3.c:#include <mach/hardware.h>
drivers/input/keyboard/bf54x-keys.c:#include <mach/bf54x_keys.h>
drivers/input/keyboard/omap-keypad.c:#include <mach/hardware.h>
drivers/input/keyboard/pxa27x_keypad.c:#include <mach/hardware.h>
drivers/input/serio/i8042-unicore32io.h:#include <mach/hardware.h>
drivers/input/touchscreen/hp680_ts_input.c:#include <mach/hp6xx.h>
drivers/leds/leds-hp6xx.c:#include <mach/hp6xx.h>
drivers/leds/leds-locomo.c:#include <mach/hardware.h>
drivers/media/video/s5p-tv/sii9234_drv.c:#include <mach/gpio.h>
drivers/mmc/host/atmel-mci.c:#include <mach/atmel-mci.h>
drivers/mmc/host/atmel-mci.c:#include <mach/cpu.h>
drivers/mmc/host/atmel-mci.c:#include <mach/board.h>
drivers/mtd/maps/ixp2000.c:#include <mach/hardware.h>
drivers/mtd/nand/atmel_nand.c:#include <mach/cpu.h>
drivers/mtd/nand/h1910.c:#include <mach/hardware.h>
drivers/mtd/nand/h1910.c:#include <mach/h1900-gpio.h>
drivers/mtd/nand/h1910.c:#include <mach/ipaq.h>
drivers/mtd/nand/orion_nand.c:#include <mach/hardware.h>
drivers/mtd/nand/pxa3xx_nand.c:#include <mach/dma.h>
drivers/net/caif/caif_shm_u5500.c:#include <mach/mbox-db5500.h>
drivers/net/ethernet/adi/bfin_mac.c:#include <mach/pll.h>
drivers/pcmcia/pxa2xx_sharpsl.c:#include <mach/hardware.h>
drivers/pcmcia/sa1111_generic.c:#include <mach/hardware.h>
drivers/pcmcia/soc_common.c:#include <mach/hardware.h>
drivers/pwm/pwm-samsung.c:#include <mach/map.h>
drivers/rtc/rtc-ds1302.c:#include <mach/secureedge5410.h>
drivers/rtc/rtc-puv3.c:#include <mach/hardware.h>
drivers/rtc/rtc-s3c.c:#include <mach/hardware.h>
drivers/rtc/rtc-sa1100.c:#include <mach/hardware.h>
drivers/rtc/rtc-sa1100.c:#include <mach/irqs.h>
drivers/rtc/rtc-sa1100.c:#include <mach/regs-rtc.h>
drivers/sh/maple/maple.c:#include <mach/dma.h>
drivers/sh/maple/maple.c:#include <mach/sysasic.h>
drivers/spi/spi-atmel.c:#include <mach/board.h>
drivers/spi/spi-atmel.c:#include <mach/cpu.h>
drivers/spi/spi-s3c64xx.c:#include <mach/dma.h>
drivers/spi/spi-stmp.c:#include <mach/platform.h>
drivers/spi/spi-stmp.c:#include <mach/stmp3xxx.h>
drivers/spi/spi-stmp.c:#include <mach/dma.h>
drivers/spi/spi-stmp.c:#include <mach/regs-ssp.h>
drivers/spi/spi-stmp.c:#include <mach/regs-apbh.h>
drivers/tty/serial/atmel_serial.c:#include <mach/board.h>
drivers/tty/serial/samsung.c:#include <mach/hardware.h>
drivers/tty/serial/samsung.c:#include <mach/map.h>
drivers/usb/gadget/lpc32xx_udc.c:#include <mach/hardware.h>
drivers/usb/gadget/lpc32xx_udc.c:#include <mach/platform.h>
drivers/usb/gadget/lpc32xx_udc.c:#include <mach/irqs.h>
drivers/usb/gadget/lpc32xx_udc.c:#include <mach/board.h>
drivers/usb/gadget/omap_udc.c:#include <mach/usb.h>
drivers/usb/gadget/s3c-hsotg.c:#include <mach/map.h>
drivers/usb/gadget/s3c2410_udc.c:#include <mach/irqs.h>
drivers/usb/gadget/s3c2410_udc.c:#include <mach/hardware.h>
drivers/usb/gadget/s3c2410_udc.c:#include <mach/regs-irq.h>
drivers/usb/host/ohci-nxp.c:#include <mach/hardware.h>
drivers/usb/host/ohci-nxp.c:#include <mach/platform.h>
drivers/usb/host/ohci-nxp.c:#include <mach/irqs.h>
drivers/usb/host/ohci-omap.c:#include <mach/hardware.h>
drivers/usb/host/ohci-omap.c:#include <mach/irqs.h>
drivers/usb/host/ohci-omap.c:#include <mach/usb.h>
drivers/usb/otg/isp1301_omap.c:#include <mach/usb.h>
drivers/video/atmel_lcdfb.c:#include <mach/board.h>
drivers/video/atmel_lcdfb.c:#include <mach/cpu.h>
drivers/video/backlight/hp680_bl.c:#include <mach/hp6xx.h>
drivers/video/bf54x-lq043fb.c:#include <mach/bf54x-lq043.h>
drivers/video/fb-puv3.c:#include <mach/hardware.h>
drivers/video/pvr2fb.c:#include <mach/dma.h>
drivers/video/s3c-fb.c:#include <mach/map.h>
drivers/video/s3c2410fb.c:#include <mach/regs-lcd.h>
drivers/video/s3c2410fb.c:#include <mach/regs-gpio.h>
drivers/video/s3c2410fb.c:#include <mach/fb.h>
drivers/watchdog/iop_wdt.c:#include <mach/hardware.h>
drivers/watchdog/omap_wdt.c:#include <mach/hardware.h>
drivers/watchdog/orion_wdt.c:#include <mach/bridge-regs.h>
drivers/watchdog/pnx4008_wdt.c:#include <mach/hardware.h>
drivers/watchdog/s3c2410_wdt.c:#include <mach/map.h>
drivers/watchdog/sa1100_wdt.c:#include <mach/regs-ost.h>
drivers/watchdog/sa1100_wdt.c:#include <mach/reset.h>
drivers/watchdog/sa1100_wdt.c:#include <mach/hardware.h>
drivers/watchdog/stmp3xxx_wdt.c:#include <mach/platform.h>
drivers/watchdog/stmp3xxx_wdt.c:#include <mach/regs-rtc.h>
include/linux/maple.h:#include <mach/maple.h>
sound/sh/aica.c:#include <mach/sysasic.h>
sound/sh/sh_dac_audio.c:#include <mach/hp6xx.h>
sound/soc/fsl/imx-pcm-dma.c:#include <mach/dma.h>
sound/soc/fsl/imx-ssi.h:#include <mach/dma.h>
sound/soc/samsung/ac97.c:#include <mach/dma.h>
sound/soc/samsung/dma.c:#include <mach/hardware.h>
sound/soc/samsung/dma.c:#include <mach/dma.h>
sound/soc/samsung/goni_wm8994.c:#include <mach/gpio.h>
sound/soc/samsung/s3c-i2s-v2.c:#include <mach/dma.h>
sound/soc/samsung/s3c2412-i2s.c:#include <mach/dma.h>
sound/soc/samsung/s3c24xx-i2s.c:#include <mach/dma.h>
sound/soc/samsung/spdif.c:#include <mach/dma.h>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-23 11:35     ` Arnd Bergmann
@ 2012-08-23 12:37       ` Nicolas Ferre
  2012-08-23 13:31         ` Arnd Bergmann
  2012-08-23 17:26       ` Arnd Bergmann
  2012-08-24 20:52       ` Russell King - ARM Linux
  2 siblings, 1 reply; 28+ messages in thread
From: Nicolas Ferre @ 2012-08-23 12:37 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, linaro-kernel, Russell King - ARM Linux, linux-kernel

On 08/23/2012 01:35 PM, Arnd Bergmann :
> On Wednesday 22 August 2012, Russell King - ARM Linux wrote:
>>
>> On Wed, Aug 22, 2012 at 01:01:19PM +0000, Arnd Bergmann wrote:
>>> These are lots of device drivers that include machine
>>> specific header files from ARM platforms and that are
>>> not easily scriptable. The changes have been found through
>>> manual inspection and should cause no visible changes
>>> because of the build script that maps the old names to the
>>> new ones.

[..]

> How about I move all the pure platform data definition files now and
> rebase the other patches on top of that. Here is a list of suggested
> file names in include/linux/platform_data/:
> 
> mach-at91/at_hdmac.h		-> dma-atmel.h

Fine with me. Maybe atmel-dma.h can better match what we already have in
this directory, but I do not know what is the policy in this directory...

[..]


> ** list of mach/* inclusions that I could not match with
> ** exactly one ARM platform:

In fact, for "*atmel*" type of files, they usually match *both* AVR32
and ARM/AT91 devices: so, we have to be careful about them...

Best regards,
-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-23 12:37       ` Nicolas Ferre
@ 2012-08-23 13:31         ` Arnd Bergmann
  0 siblings, 0 replies; 28+ messages in thread
From: Arnd Bergmann @ 2012-08-23 13:31 UTC (permalink / raw)
  To: Nicolas Ferre
  Cc: linux-arm-kernel, linaro-kernel, Russell King - ARM Linux, linux-kernel

On Thursday 23 August 2012, Nicolas Ferre wrote:
> > How about I move all the pure platform data definition files now and
> > rebase the other patches on top of that. Here is a list of suggested
> > file names in include/linux/platform_data/:
> > 
> > mach-at91/at_hdmac.h          -> dma-atmel.h
> 
> Fine with me. Maybe atmel-dma.h can better match what we already have in
> this directory, but I do not know what is the policy in this directory...

There does not seem to be a clear policy in that directory yet, so I
chose to put the subsystem name first. There have been a few subsystems
recently which adopted this naming scheme for their drivers, so it
seemed to be a good choice if we want to start a naming scheme that
sticks.
 
> > ** list of mach/* inclusions that I could not match with
> > ** exactly one ARM platform:
> 
> In fact, for "*atmel*" type of files, they usually match both AVR32
> and ARM/AT91 devices: so, we have to be careful about them...

Yes, I'm aware of that. My list did not include the mach/atmel-mci.h
or the mach/board.h files, which suffer from this problem and cannot
easily be merged.

	Arnd

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-23 11:35     ` Arnd Bergmann
  2012-08-23 12:37       ` Nicolas Ferre
@ 2012-08-23 17:26       ` Arnd Bergmann
  2012-08-24 20:36         ` Tony Lindgren
  2012-08-24 20:47         ` Russell King - ARM Linux
  2012-08-24 20:52       ` Russell King - ARM Linux
  2 siblings, 2 replies; 28+ messages in thread
From: Arnd Bergmann @ 2012-08-23 17:26 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: Russell King - ARM Linux, linaro-kernel, linux-kernel

On Thursday 23 August 2012, Arnd Bergmann wrote:
> On Wednesday 22 August 2012, Russell King - ARM Linux wrote:
> > In any case, what we should be doing here as well is moving the headers
> > included by drivers for platform data out of the arch/arm/mach/ subtrees
> > and into include/linux/platform_data.  That will substantially reduce the
> > amount of mach/ headers to deal with.
> 
> I've just looked at the {mach,plat}/*.h files that get included in ARM
> specific drivers. Out of the 342 header files that get used in this way,
> I found 93 that are practically just platform data, and a few that
> are platform_data mixed with something else.
> 
> How about I move all the pure platform data definition files now and
> rebase the other patches on top of that. Here is a list of suggested
> file names in include/linux/platform_data/:

I've just scripted this and am running my build testsuite over it now.

Please let me know what you think about it.

	Arnd

The following changes since commit fea7a08acb13524b47711625eebea40a0ede69a0:

  Linux 3.6-rc3 (2012-08-22 13:29:06 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git 

for you to fetch changes up to 25296e032db173e8376123c2801cd233c9dc9b78:

  ARM: spear: move platform_data definitions (2012-08-23 19:15:49 +0200)

----------------------------------------------------------------
Arnd Bergmann (16):
      ARM: at91: move platform_data definitions
      ARM: davinci: move platform_data definitions
      ARM: ep93xx: move platform_data definitions
      ARM: imx: move platform_data definitions
      ARM: msm: move platform_data definitions
      ARM: netx: move platform_data definitions
      ARM: pxa: move platform_data definitions
      ARM: sa1100: move platform_data definitions
      ARM: tegra: move platform_data definitions
      ARM: vt8500: move platform_data definitions
      ARM: w90x900: move platform_data definitions
      ARM: nomadik: move platform_data definitions
      ARM: omap: move platform_data definitions
      ARM: orion: move platform_data definitions
      ARM: samsung: move platform_data definitions
      ARM: spear: move platform_data definitions

 Documentation/spi/ep93xx_spi                       |    2 +-
 arch/arm/mach-at91/at91sam9g45_devices.c           |    2 +-
 arch/arm/mach-at91/at91sam9rl_devices.c            |    2 +-
 arch/arm/mach-at91/include/mach/atmel-mci.h        |    2 +-
 arch/arm/mach-davinci/aemif.c                      |    2 +-
 arch/arm/mach-davinci/board-da830-evm.c            |    8 ++++----
 arch/arm/mach-davinci/board-da850-evm.c            |    6 +++---
 arch/arm/mach-davinci/board-dm355-evm.c            |    8 ++++----
 arch/arm/mach-davinci/board-dm355-leopard.c        |    8 ++++----
 arch/arm/mach-davinci/board-dm365-evm.c            |    8 ++++----
 arch/arm/mach-davinci/board-dm644x-evm.c           |   10 +++++-----
 arch/arm/mach-davinci/board-dm646x-evm.c           |    6 +++---
 arch/arm/mach-davinci/board-mityomapl138.c         |    4 ++--
 arch/arm/mach-davinci/board-neuros-osd2.c          |    8 ++++----
 arch/arm/mach-davinci/board-sffsdr.c               |    4 ++--
 arch/arm/mach-davinci/davinci.h                    |    4 ++--
 arch/arm/mach-davinci/devices.c                    |    4 ++--
 arch/arm/mach-davinci/dm355.c                      |    4 ++--
 arch/arm/mach-davinci/dm365.c                      |    6 +++---
 arch/arm/mach-davinci/dm644x.c                     |    2 +-
 arch/arm/mach-davinci/dm646x.c                     |    2 +-
 arch/arm/mach-davinci/include/mach/da8xx.h         |   10 +++++-----
 arch/arm/mach-davinci/include/mach/tnetv107x.h     |    4 ++--
 arch/arm/mach-davinci/usb.c                        |    2 +-
 arch/arm/mach-dove/common.c                        |    2 +-
 arch/arm/mach-ep93xx/core.c                        |    6 +++---
 arch/arm/mach-ep93xx/dma.c                         |    2 +-
 arch/arm/mach-ep93xx/edb93xx.c                     |    4 ++--
 arch/arm/mach-ep93xx/simone.c                      |    2 +-
 arch/arm/mach-ep93xx/snappercl15.c                 |    2 +-
 arch/arm/mach-ep93xx/vision_ep9307.c               |    4 ++--
 arch/arm/mach-exynos/dev-audio.c                   |    2 +-
 arch/arm/mach-exynos/dev-ohci.c                    |    2 +-
 arch/arm/mach-exynos/mach-nuri.c                   |    6 +++---
 arch/arm/mach-exynos/mach-origen.c                 |    6 +++---
 arch/arm/mach-exynos/mach-smdk4x12.c               |    2 +-
 arch/arm/mach-exynos/mach-smdkv310.c               |    6 +++---
 arch/arm/mach-exynos/mach-universal_c210.c         |    4 ++--
 arch/arm/mach-exynos/setup-i2c0.c                  |    2 +-
 arch/arm/mach-exynos/setup-i2c1.c                  |    2 +-
 arch/arm/mach-exynos/setup-i2c2.c                  |    2 +-
 arch/arm/mach-exynos/setup-i2c3.c                  |    2 +-
 arch/arm/mach-exynos/setup-i2c4.c                  |    2 +-
 arch/arm/mach-exynos/setup-i2c5.c                  |    2 +-
 arch/arm/mach-exynos/setup-i2c6.c                  |    2 +-
 arch/arm/mach-exynos/setup-i2c7.c                  |    2 +-
 arch/arm/mach-kirkwood/board-dreamplug.c           |    2 +-
 arch/arm/mach-kirkwood/board-goflexnet.c           |    2 +-
 arch/arm/mach-kirkwood/common.c                    |   10 +++++-----
 arch/arm/mach-kirkwood/d2net_v2-setup.c            |    2 +-
 arch/arm/mach-kirkwood/db88f6281-bp-setup.c        |    2 +-
 arch/arm/mach-kirkwood/dockstar-setup.c            |    2 +-
 arch/arm/mach-kirkwood/guruplug-setup.c            |    2 +-
 arch/arm/mach-kirkwood/netspace_v2-setup.c         |    2 +-
 arch/arm/mach-kirkwood/netxbig_v2-setup.c          |    2 +-
 arch/arm/mach-kirkwood/openrd-setup.c              |    2 +-
 arch/arm/mach-kirkwood/rd88f6281-setup.c           |    2 +-
 arch/arm/mach-kirkwood/sheevaplug-setup.c          |    2 +-
 arch/arm/mach-mmp/aspenite.c                       |    2 +-
 arch/arm/mach-mmp/include/mach/mmp2.h              |    2 +-
 arch/arm/mach-mmp/include/mach/pxa168.h            |    4 ++--
 arch/arm/mach-mmp/include/mach/pxa910.h            |    2 +-
 arch/arm/mach-mmp/sram.c                           |    2 +-
 arch/arm/mach-mmp/teton_bga.c                      |    2 +-
 arch/arm/mach-msm/board-qsd8x50.c                  |    2 +-
 arch/arm/mach-msm/board-trout-mmc.c                |    2 +-
 arch/arm/mach-msm/board-trout-panel.c              |    2 +-
 arch/arm/mach-msm/devices-msm7x00.c                |    2 +-
 arch/arm/mach-msm/devices-msm7x30.c                |    2 +-
 arch/arm/mach-msm/devices-qsd8x50.c                |    2 +-
 arch/arm/mach-msm/include/mach/board.h             |    2 +-
 arch/arm/mach-mv78xx0/common.c                     |    4 ++--
 arch/arm/mach-netx/nxdb500.c                       |    2 +-
 arch/arm/mach-netx/nxdkn.c                         |    2 +-
 arch/arm/mach-netx/nxeb500hmi.c                    |    2 +-
 arch/arm/mach-nomadik/board-nhk8815.c              |    2 +-
 arch/arm/mach-omap1/board-ams-delta.c              |    2 +-
 arch/arm/mach-omap1/board-fsample.c                |    2 +-
 arch/arm/mach-omap1/board-h2.c                     |    2 +-
 arch/arm/mach-omap1/board-h3.c                     |    2 +-
 arch/arm/mach-omap1/board-htcherald.c              |    2 +-
 arch/arm/mach-omap1/board-innovator.c              |    2 +-
 arch/arm/mach-omap1/board-nokia770.c               |    4 ++--
 arch/arm/mach-omap1/board-osk.c                    |    2 +-
 arch/arm/mach-omap1/board-palmte.c                 |    2 +-
 arch/arm/mach-omap1/board-palmtt.c                 |    2 +-
 arch/arm/mach-omap1/board-palmz71.c                |    2 +-
 arch/arm/mach-omap1/board-perseus2.c               |    2 +-
 arch/arm/mach-omap1/board-sx1.c                    |    2 +-
 arch/arm/mach-omap1/mcbsp.c                        |    2 +-
 arch/arm/mach-omap2/board-3430sdp.c                |    2 +-
 arch/arm/mach-omap2/board-cm-t35.c                 |    4 ++--
 arch/arm/mach-omap2/board-cm-t3517.c               |    2 +-
 arch/arm/mach-omap2/board-devkit8000.c             |    4 ++--
 arch/arm/mach-omap2/board-flash.c                  |    4 ++--
 arch/arm/mach-omap2/board-igep0020.c               |    2 +-
 arch/arm/mach-omap2/board-ldp.c                    |    2 +-
 arch/arm/mach-omap2/board-n8x0.c                   |    4 ++--
 arch/arm/mach-omap2/board-omap3beagle.c            |    2 +-
 arch/arm/mach-omap2/board-omap3evm.c               |    4 ++--
 arch/arm/mach-omap2/board-omap3pandora.c           |    4 ++--
 arch/arm/mach-omap2/board-omap3stalker.c           |    4 ++--
 arch/arm/mach-omap2/board-omap3touchbook.c         |    4 ++--
 arch/arm/mach-omap2/board-overo.c                  |    4 ++--
 arch/arm/mach-omap2/board-rm680.c                  |    2 +-
 arch/arm/mach-omap2/board-rx51-peripherals.c       |    4 ++--
 arch/arm/mach-omap2/board-rx51-video.c             |    2 +-
 arch/arm/mach-omap2/board-rx51.c                   |    2 +-
 arch/arm/mach-omap2/board-zoom-display.c           |    2 +-
 arch/arm/mach-omap2/common-board-devices.c         |    4 ++--
 arch/arm/mach-omap2/devices.c                      |    2 +-
 arch/arm/mach-omap2/dsp.c                          |    2 +-
 arch/arm/mach-omap2/gpmc-nand.c                    |    2 +-
 arch/arm/mach-omap2/gpmc-onenand.c                 |    2 +-
 arch/arm/mach-omap2/mcbsp.c                        |    2 +-
 arch/arm/mach-omap2/omap_hwmod_2420_data.c         |    2 +-
 arch/arm/mach-omap2/omap_hwmod_2430_data.c         |    4 ++--
 arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c |    2 +-
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c         |    4 ++--
 arch/arm/mach-omap2/omap_hwmod_44xx_data.c         |    4 ++--
 arch/arm/mach-omap2/voltage.h                      |    2 +-
 arch/arm/mach-orion5x/common.c                     |    4 ++--
 arch/arm/mach-orion5x/db88f5281-setup.c            |    2 +-
 arch/arm/mach-orion5x/kurobox_pro-setup.c          |    2 +-
 arch/arm/mach-pxa/am200epd.c                       |    2 +-
 arch/arm/mach-pxa/am300epd.c                       |    2 +-
 arch/arm/mach-pxa/balloon3.c                       |    8 ++++----
 arch/arm/mach-pxa/cm-x270.c                        |    4 ++--
 arch/arm/mach-pxa/cm-x2xx.c                        |    2 +-
 arch/arm/mach-pxa/cm-x300.c                        |   10 +++++-----
 arch/arm/mach-pxa/colibri-evalboard.c              |    4 ++--
 arch/arm/mach-pxa/colibri-pxa270-income.c          |    6 +++---
 arch/arm/mach-pxa/colibri-pxa300.c                 |    4 ++--
 arch/arm/mach-pxa/colibri-pxa320.c                 |    4 ++--
 arch/arm/mach-pxa/colibri-pxa3xx.c                 |    6 +++---
 arch/arm/mach-pxa/corgi.c                          |    4 ++--
 arch/arm/mach-pxa/csb726.c                         |    4 ++--
 arch/arm/mach-pxa/devices.c                        |   16 ++++++++--------
 arch/arm/mach-pxa/em-x270.c                        |   10 +++++-----
 arch/arm/mach-pxa/eseries.c                        |    4 ++--
 arch/arm/mach-pxa/ezx.c                            |    8 ++++----
 arch/arm/mach-pxa/gumstix.c                        |    2 +-
 arch/arm/mach-pxa/hx4700.c                         |    2 +-
 arch/arm/mach-pxa/idp.c                            |    4 ++--
 arch/arm/mach-pxa/littleton.c                      |    8 ++++----
 arch/arm/mach-pxa/lpd270.c                         |    8 ++++----
 arch/arm/mach-pxa/lubbock.c                        |    6 +++---
 arch/arm/mach-pxa/magician.c                       |    8 ++++----
 arch/arm/mach-pxa/mainstone.c                      |   10 +++++-----
 arch/arm/mach-pxa/mioa701.c                        |    8 ++++----
 arch/arm/mach-pxa/mxm8x10.c                        |    8 ++++----
 arch/arm/mach-pxa/palm27x.c                        |    8 ++++----
 arch/arm/mach-pxa/palmld.c                         |   10 +++++-----
 arch/arm/mach-pxa/palmt5.c                         |   10 +++++-----
 arch/arm/mach-pxa/palmtc.c                         |    6 +++---
 arch/arm/mach-pxa/palmte2.c                        |    8 ++++----
 arch/arm/mach-pxa/palmtreo.c                       |   14 +++++++-------
 arch/arm/mach-pxa/palmtx.c                         |   10 +++++-----
 arch/arm/mach-pxa/palmz72.c                        |   12 ++++++------
 arch/arm/mach-pxa/pcm990-baseboard.c               |    8 ++++----
 arch/arm/mach-pxa/poodle.c                         |    6 +++---
 arch/arm/mach-pxa/pxa27x.c                         |    2 +-
 arch/arm/mach-pxa/pxa2xx.c                         |    2 +-
 arch/arm/mach-pxa/pxa3xx-ulpi.c                    |    2 +-
 arch/arm/mach-pxa/pxa3xx.c                         |    2 +-
 arch/arm/mach-pxa/raumfeld.c                       |    8 ++++----
 arch/arm/mach-pxa/saar.c                           |    2 +-
 arch/arm/mach-pxa/spitz.c                          |    8 ++++----
 arch/arm/mach-pxa/stargate2.c                      |    2 +-
 arch/arm/mach-pxa/tavorevb.c                       |    4 ++--
 arch/arm/mach-pxa/tosa.c                           |    4 ++--
 arch/arm/mach-pxa/trizeps4.c                       |    8 ++++----
 arch/arm/mach-pxa/viper.c                          |    4 ++--
 arch/arm/mach-pxa/vpac270.c                        |    8 ++++----
 arch/arm/mach-pxa/z2.c                             |    6 +++---
 arch/arm/mach-pxa/zeus.c                           |    8 ++++----
 arch/arm/mach-pxa/zylonite.c                       |   10 +++++-----
 arch/arm/mach-s3c24xx/common-smdk.c                |    4 ++--
 arch/arm/mach-s3c24xx/mach-amlm5900.c              |    2 +-
 arch/arm/mach-s3c24xx/mach-anubis.c                |    6 +++---
 arch/arm/mach-s3c24xx/mach-at2440evb.c             |    6 +++---
 arch/arm/mach-s3c24xx/mach-bast.c                  |    8 ++++----
 arch/arm/mach-s3c24xx/mach-gta02.c                 |   10 +++++-----
 arch/arm/mach-s3c24xx/mach-h1940.c                 |    8 ++++----
 arch/arm/mach-s3c24xx/mach-jive.c                  |    6 +++---
 arch/arm/mach-s3c24xx/mach-mini2440.c              |   10 +++++-----
 arch/arm/mach-s3c24xx/mach-n30.c                   |    8 ++++----
 arch/arm/mach-s3c24xx/mach-nexcoder.c              |    2 +-
 arch/arm/mach-s3c24xx/mach-osiris.c                |    4 ++--
 arch/arm/mach-s3c24xx/mach-otom.c                  |    2 +-
 arch/arm/mach-s3c24xx/mach-qt2410.c                |    8 ++++----
 arch/arm/mach-s3c24xx/mach-rx1950.c                |   10 +++++-----
 arch/arm/mach-s3c24xx/mach-rx3715.c                |    2 +-
 arch/arm/mach-s3c24xx/mach-smdk2410.c              |    2 +-
 arch/arm/mach-s3c24xx/mach-smdk2413.c              |    4 ++--
 arch/arm/mach-s3c24xx/mach-smdk2416.c              |    8 ++++----
 arch/arm/mach-s3c24xx/mach-smdk2440.c              |    2 +-
 arch/arm/mach-s3c24xx/mach-smdk2443.c              |    2 +-
 arch/arm/mach-s3c24xx/mach-tct_hammer.c            |    2 +-
 arch/arm/mach-s3c24xx/mach-vr1000.c                |    6 +++---
 arch/arm/mach-s3c24xx/mach-vstms.c                 |    4 ++--
 arch/arm/mach-s3c24xx/setup-i2c.c                  |    2 +-
 arch/arm/mach-s3c24xx/simtec-audio.c               |    2 +-
 arch/arm/mach-s3c24xx/simtec-usb.c                 |    2 +-
 arch/arm/mach-s3c64xx/dev-audio.c                  |    2 +-
 arch/arm/mach-s3c64xx/mach-anw6410.c               |    2 +-
 arch/arm/mach-s3c64xx/mach-crag6410-module.c       |    2 +-
 arch/arm/mach-s3c64xx/mach-crag6410.c              |    4 ++--
 arch/arm/mach-s3c64xx/mach-hmt.c                   |    4 ++--
 arch/arm/mach-s3c64xx/mach-mini6410.c              |    4 ++--
 arch/arm/mach-s3c64xx/mach-ncp.c                   |    2 +-
 arch/arm/mach-s3c64xx/mach-real6410.c              |    4 ++--
 arch/arm/mach-s3c64xx/mach-smartq.c                |    8 ++++----
 arch/arm/mach-s3c64xx/mach-smdk6400.c              |    2 +-
 arch/arm/mach-s3c64xx/mach-smdk6410.c              |    6 +++---
 arch/arm/mach-s3c64xx/setup-i2c0.c                 |    2 +-
 arch/arm/mach-s3c64xx/setup-i2c1.c                 |    2 +-
 arch/arm/mach-s3c64xx/setup-ide.c                  |    2 +-
 arch/arm/mach-s5p64x0/dev-audio.c                  |    2 +-
 arch/arm/mach-s5p64x0/mach-smdk6440.c              |    4 ++--
 arch/arm/mach-s5p64x0/mach-smdk6450.c              |    4 ++--
 arch/arm/mach-s5p64x0/setup-i2c0.c                 |    2 +-
 arch/arm/mach-s5p64x0/setup-i2c1.c                 |    2 +-
 arch/arm/mach-s5pc100/dev-audio.c                  |    2 +-
 arch/arm/mach-s5pc100/mach-smdkc100.c              |    8 ++++----
 arch/arm/mach-s5pc100/setup-i2c0.c                 |    2 +-
 arch/arm/mach-s5pc100/setup-i2c1.c                 |    2 +-
 arch/arm/mach-s5pv210/dev-audio.c                  |    2 +-
 arch/arm/mach-s5pv210/mach-goni.c                  |    2 +-
 arch/arm/mach-s5pv210/mach-smdkc110.c              |    4 ++--
 arch/arm/mach-s5pv210/mach-smdkv210.c              |    6 +++---
 arch/arm/mach-s5pv210/mach-torbreck.c              |    2 +-
 arch/arm/mach-s5pv210/setup-i2c0.c                 |    2 +-
 arch/arm/mach-s5pv210/setup-i2c1.c                 |    2 +-
 arch/arm/mach-s5pv210/setup-i2c2.c                 |    2 +-
 arch/arm/mach-sa1100/assabet.c                     |    2 +-
 arch/arm/mach-sa1100/cerf.c                        |    2 +-
 arch/arm/mach-sa1100/collie.c                      |    2 +-
 arch/arm/mach-sa1100/lart.c                        |    2 +-
 arch/arm/mach-sa1100/shannon.c                     |    2 +-
 arch/arm/mach-sa1100/simpad.c                      |    2 +-
 arch/arm/mach-tegra/board-harmony.c                |    4 ++--
 arch/arm/mach-tegra/board-paz00.c                  |    2 +-
 arch/arm/mach-tegra/board-trimslice.c              |    2 +-
 arch/arm/mach-u300/core.c                          |    2 +-
 arch/arm/mach-ux500/board-mop500.c                 |    2 +-
 arch/arm/mach-ux500/cpu-db8500.c                   |    2 +-
 arch/arm/mach-ux500/devices-common.h               |    2 +-
 arch/arm/mach-ux500/usb.c                          |    2 +-
 arch/arm/mach-vt8500/devices.c                     |    2 +-
 arch/arm/mach-w90x900/dev.c                        |    6 +++---
 arch/arm/mach-w90x900/mach-nuc950evb.c             |    2 +-
 arch/arm/plat-omap/common.c                        |    2 +-
 arch/arm/plat-orion/common.c                       |    4 ++--
 arch/arm/plat-samsung/devs.c                       |   20 ++++++++++----------
 drivers/ata/pata_ep93xx.c                          |    2 +-
 drivers/ata/pata_pxa.c                             |    2 +-
 drivers/ata/pata_samsung_cf.c                      |    2 +-
 drivers/crypto/ux500/cryp/cryp_core.c              |    2 +-
 drivers/crypto/ux500/hash/hash_core.c              |    2 +-
 drivers/dma/at_hdmac_regs.h                        |    2 +-
 drivers/dma/ep93xx_dma.c                           |    2 +-
 drivers/dma/mmp_tdma.c                             |    2 +-
 drivers/dma/mv_xor.c                               |    2 +-
 drivers/hwmon/s3c-hwmon.c                          |    2 +-
 drivers/i2c/busses/i2c-davinci.c                   |    2 +-
 drivers/i2c/busses/i2c-nuc900.c                    |    2 +-
 drivers/i2c/busses/i2c-s3c2410.c                   |    2 +-
 drivers/input/keyboard/davinci_keyscan.c           |    2 +-
 drivers/input/keyboard/ep93xx_keypad.c             |    2 +-
 drivers/input/keyboard/nomadik-ske-keypad.c        |    2 +-
 drivers/input/keyboard/omap-keypad.c               |    2 +-
 drivers/input/keyboard/pxa27x_keypad.c             |    2 +-
 drivers/input/keyboard/pxa930_rotary.c             |    2 +-
 drivers/input/keyboard/spear-keyboard.c            |    2 +-
 drivers/input/keyboard/tegra-kbc.c                 |    2 +-
 drivers/input/keyboard/w90p910_keypad.c            |    2 +-
 drivers/input/mouse/pxa930_trkball.c               |    2 +-
 drivers/input/touchscreen/s3c2410_ts.c             |    2 +-
 drivers/leds/leds-netxbig.c                        |    2 +-
 drivers/leds/leds-ns2.c                            |    2 +-
 drivers/leds/leds-s3c24xx.c                        |    2 +-
 drivers/media/video/davinci/vpbe_venc.c            |    2 +-
 drivers/media/video/pxa_camera.c                   |    2 +-
 drivers/media/video/s5p-fimc/mipi-csis.c           |    2 +-
 drivers/mfd/mcp-sa11x0.c                           |    2 +-
 drivers/mmc/host/davinci_mmc.c                     |    2 +-
 drivers/mmc/host/msm_sdcc.c                        |    2 +-
 drivers/mmc/host/mvsdio.c                          |    2 +-
 drivers/mmc/host/pxamci.c                          |    2 +-
 drivers/mmc/host/s3cmci.c                          |    2 +-
 drivers/mmc/host/sdhci-tegra.c                     |    2 +-
 drivers/mtd/nand/davinci_nand.c                    |    4 ++--
 drivers/mtd/nand/nomadik_nand.c                    |    2 +-
 drivers/mtd/nand/omap2.c                           |    2 +-
 drivers/mtd/nand/orion_nand.c                      |    2 +-
 drivers/mtd/nand/pxa3xx_nand.c                     |    2 +-
 drivers/mtd/nand/s3c2410.c                         |    2 +-
 drivers/mtd/onenand/omap2.c                        |    2 +-
 drivers/net/ethernet/netx-eth.c                    |    2 +-
 drivers/net/irda/pxaficp_ir.c                      |    2 +-
 drivers/pcmcia/pxa2xx_viper.c                      |    2 +-
 drivers/pinctrl/pinctrl-coh901.c                   |    2 +-
 drivers/remoteproc/omap_remoteproc.c               |    2 +-
 drivers/spi/spi-davinci.c                          |    2 +-
 drivers/spi/spi-ep93xx.c                           |    4 ++--
 drivers/spi/spi-nuc900.c                           |    2 +-
 drivers/spi/spi-omap2-mcspi.c                      |    2 +-
 drivers/spi/spi-s3c64xx.c                          |    2 +-
 drivers/staging/tidspbridge/core/dsp-clock.c       |    2 +-
 drivers/staging/tidspbridge/core/tiomap3430.c      |    2 +-
 drivers/staging/tidspbridge/core/tiomap3430_pwr.c  |    2 +-
 drivers/staging/tidspbridge/core/tiomap_io.c       |    2 +-
 drivers/staging/tidspbridge/rmgr/drv_interface.c   |    2 +-
 drivers/usb/gadget/s3c2410_udc.c                   |    2 +-
 drivers/usb/host/ehci-orion.c                      |    2 +-
 drivers/usb/host/ehci-s5p.c                        |    2 +-
 drivers/usb/host/ohci-da8xx.c                      |    2 +-
 drivers/usb/host/ohci-exynos.c                     |    2 +-
 drivers/usb/host/ohci-pxa27x.c                     |    4 ++--
 drivers/usb/host/ohci-s3c2410.c                    |    2 +-
 drivers/usb/musb/da8xx.c                           |    2 +-
 drivers/usb/musb/ux500_dma.c                       |    2 +-
 drivers/video/ep93xx-fb.c                          |    2 +-
 drivers/video/msm/mddi.c                           |    2 +-
 drivers/video/msm/mddi_client_dummy.c              |    2 +-
 drivers/video/msm/mddi_client_nt35399.c            |    2 +-
 drivers/video/msm/mddi_client_toshiba.c            |    2 +-
 drivers/video/msm/mdp.c                            |    2 +-
 drivers/video/msm/mdp_hw.h                         |    2 +-
 drivers/video/msm/mdp_ppp.c                        |    2 +-
 drivers/video/msm/msm_fb.c                         |    2 +-
 drivers/video/nuc900fb.c                           |    2 +-
 drivers/video/nuc900fb.h                           |    2 +-
 drivers/video/omap/lcd_mipid.c                     |    2 +-
 drivers/video/pxafb.c                              |    2 +-
 drivers/video/vt8500lcdfb.c                        |    2 +-
 drivers/video/wm8505fb.c                           |    2 +-
 .../linux/platform_data/asoc-davinci-evm.h         |    0
 .../linux/platform_data/asoc-imx-ssi.h             |    0
 .../linux/platform_data/asoc-kirkwood.h            |    0
 .../linux/platform_data/asoc-palm27x.h             |    0
 .../linux/platform_data/asoc-s3c.h                 |    0
 .../linux/platform_data/asoc-s3c24xx_simtec.h      |    0
 .../linux/platform_data/asoc-tegra_wm8903.h        |    0
 .../linux/platform_data/ata-pxa.h                  |    0
 .../linux/platform_data/ata-samsung_cf.h           |    0
 include/linux/platform_data/atmel-aes.h            |    2 +-
 .../linux/platform_data/camera-mx1.h               |    0
 .../linux/platform_data/camera-mx2.h               |    0
 .../linux/platform_data/camera-mx3.h               |    0
 .../linux/platform_data/camera-pxa.h               |    0
 .../linux/platform_data}/crypto-ux500.h            |    0
 .../linux/platform_data/dma-atmel.h                |    0
 .../linux/platform_data/dma-ep93xx.h               |    0
 .../linux/platform_data/dma-imx-sdma.h             |    0
 .../dma.h => include/linux/platform_data/dma-imx.h |    0
 .../linux/platform_data/dma-mmp_tdma.h             |    0
 .../linux/platform_data/dma-mv_xor.h               |    0
 .../linux/platform_data/dsp-mcbsp.h                |    0
 .../linux/platform_data/dsp-omap.h                 |    0
 .../linux/platform_data/eth-netx.h                 |    0
 .../linux/platform_data/hwmon-s3c.h                |    0
 .../linux/platform_data/i2c-davinci.h              |    0
 .../i2c.h => include/linux/platform_data/i2c-imx.h |    0
 .../linux/platform_data/i2c-nuc900.h               |    0
 .../linux/platform_data/i2c-s3c2410.h              |    0
 .../linux/platform_data/irda-pxaficp.h             |    0
 .../linux/platform_data/keyboard-pxa930_rotary.h   |    0
 .../linux/platform_data/keyboard-spear.h           |    0
 .../linux/platform_data/keyboard-tegra-kbc.h       |    0
 .../linux/platform_data/keypad-ep93xx.h            |    0
 .../linux/platform_data/keypad-nomadik-ske.h       |    0
 .../linux/platform_data/keypad-omap.h              |    0
 .../linux/platform_data/keypad-pxa27x.h            |    0
 .../linux/platform_data/keypad-w90p910.h           |    0
 .../linux/platform_data/keyscan-davinci.h          |    0
 .../linux/platform_data/lcd-mipid.h                |    0
 .../linux/platform_data/leds-kirkwood-netxbig.h    |    0
 .../linux/platform_data/leds-kirkwood-ns2.h        |    0
 .../linux/platform_data/leds-s3c24xx.h             |    0
 .../linux/platform_data/mfd-mcp-sa11x0.h           |    0
 .../linux/platform_data/mipi-csis.h                |    0
 .../linux/platform_data/mmc-davinci.h              |    0
 .../linux/platform_data/mmc-esdhc-imx.h            |    0
 .../linux/platform_data/mmc-msm_sdcc.h             |    0
 .../linux/platform_data/mmc-mvsdio.h               |    0
 .../linux/platform_data/mmc-mxcmmc.h               |    0
 .../linux/platform_data/mmc-pxamci.h               |    0
 .../linux/platform_data/mmc-s3cmci.h               |    0
 .../linux/platform_data/mmc-sdhci-tegra.h          |    0
 .../linux/platform_data/mouse-pxa930_trkball.h     |    0
 .../linux/platform_data/mtd-davinci-aemif.h        |    0
 .../linux/platform_data/mtd-davinci.h              |    0
 .../linux/platform_data/mtd-mxc_nand.h             |    0
 .../linux/platform_data/mtd-nand-omap2.h           |    0
 .../linux/platform_data/mtd-nand-pxa3xx.h          |    0
 .../linux/platform_data/mtd-nand-s3c2410.h         |    0
 .../linux/platform_data/mtd-nomadik-nand.h         |    0
 .../linux/platform_data/mtd-onenand-omap2.h        |    0
 .../linux/platform_data/mtd-orion_nand.h           |    0
 .../linux/platform_data/pcmcia-pxa2xx_viper.h      |    0
 .../linux/platform_data/pinctrl-coh901.h           |    0
 .../linux/platform_data/remoteproc-omap.h          |    0
 .../linux/platform_data/serial-imx.h               |    0
 .../linux/platform_data/smartreflex-omap.h         |    0
 .../linux/platform_data/spi-davinci.h              |    0
 .../linux/platform_data/spi-ep93xx.h               |    0
 .../linux/platform_data/spi-nuc900.h               |    0
 .../linux/platform_data/spi-omap2-mcspi.h          |    0
 .../linux/platform_data/spi-s3c64xx.h              |    0
 .../linux/platform_data/touchscreen-s3c2410.h      |    0
 .../linux/platform_data/usb-davinci.h              |    0
 .../linux/platform_data/usb-ehci-mxc.h             |    0
 .../linux/platform_data/usb-ehci-orion.h           |    0
 .../linux/platform_data/usb-ehci-s5p.h             |    0
 .../linux/platform_data/usb-exynos.h               |    0
 .../linux/platform_data/usb-imx_udc.h              |    0
 .../linux/platform_data/usb-musb-ux500.h           |    0
 .../linux/platform_data/usb-mx2.h                  |    0
 .../linux/platform_data/usb-ohci-pxa27x.h          |    0
 .../linux/platform_data/usb-ohci-s3c2410.h         |    0
 .../linux/platform_data/usb-pxa3xx-ulpi.h          |    0
 .../linux/platform_data/usb-s3c2410_udc.h          |    0
 .../linux/platform_data/video-ep93xx.h             |    0
 .../linux/platform_data/video-imxfb.h              |    0
 .../linux/platform_data/video-msm_fb.h             |    0
 .../linux/platform_data/video-mx3fb.h              |    0
 .../linux/platform_data/video-nuc900fb.h           |    0
 .../linux/platform_data/video-pxafb.h              |    0
 .../linux/platform_data/video-vt8500lcdfb.h        |    0
 include/linux/power/smartreflex.h                  |    2 +-
 sound/soc/davinci/davinci-evm.c                    |    2 +-
 sound/soc/davinci/davinci-i2s.c                    |    2 +-
 sound/soc/davinci/davinci-mcasp.h                  |    2 +-
 sound/soc/davinci/davinci-pcm.h                    |    2 +-
 sound/soc/ep93xx/ep93xx-ac97.c                     |    2 +-
 sound/soc/ep93xx/ep93xx-i2s.c                      |    2 +-
 sound/soc/ep93xx/ep93xx-pcm.c                      |    2 +-
 sound/soc/kirkwood/kirkwood-i2s.c                  |    2 +-
 sound/soc/kirkwood/kirkwood-openrd.c               |    2 +-
 sound/soc/kirkwood/kirkwood-t5325.c                |    2 +-
 sound/soc/omap/am3517evm.c                         |    2 +-
 sound/soc/omap/ams-delta.c                         |    2 +-
 sound/soc/omap/igep0020.c                          |    2 +-
 sound/soc/omap/mcbsp.c                             |    2 +-
 sound/soc/omap/n810.c                              |    2 +-
 sound/soc/omap/omap-mcbsp.c                        |    2 +-
 sound/soc/omap/omap3beagle.c                       |    2 +-
 sound/soc/omap/omap3evm.c                          |    2 +-
 sound/soc/omap/omap3pandora.c                      |    2 +-
 sound/soc/omap/osk5912.c                           |    2 +-
 sound/soc/omap/overo.c                             |    2 +-
 sound/soc/omap/rx51.c                              |    2 +-
 sound/soc/omap/sdp3430.c                           |    2 +-
 sound/soc/omap/zoom2.c                             |    2 +-
 sound/soc/pxa/palm27x.c                            |    2 +-
 sound/soc/samsung/ac97.c                           |    2 +-
 sound/soc/samsung/i2s.c                            |    2 +-
 sound/soc/samsung/pcm.c                            |    2 +-
 sound/soc/samsung/s3c24xx_simtec.c                 |    2 +-
 sound/soc/samsung/spdif.c                          |    2 +-
 sound/soc/tegra/tegra_wm8903.c                     |    2 +-
 463 files changed, 625 insertions(+), 625 deletions(-)
 rename arch/arm/mach-davinci/include/mach/asp.h => include/linux/platform_data/asoc-davinci-evm.h (100%)
 rename arch/arm/plat-mxc/include/mach/ssi.h => include/linux/platform_data/asoc-imx-ssi.h (100%)
 rename arch/arm/plat-orion/include/plat/audio.h => include/linux/platform_data/asoc-kirkwood.h (100%)
 rename arch/arm/mach-pxa/include/mach/palmasoc.h => include/linux/platform_data/asoc-palm27x.h (100%)
 rename arch/arm/plat-samsung/include/plat/audio.h => include/linux/platform_data/asoc-s3c.h (100%)
 rename arch/arm/plat-samsung/include/plat/audio-simtec.h => include/linux/platform_data/asoc-s3c24xx_simtec.h (100%)
 rename arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h => include/linux/platform_data/asoc-tegra_wm8903.h (100%)
 rename arch/arm/mach-pxa/include/mach/pata_pxa.h => include/linux/platform_data/ata-pxa.h (100%)
 rename arch/arm/plat-samsung/include/plat/ata.h => include/linux/platform_data/ata-samsung_cf.h (100%)
 rename arch/arm/plat-mxc/include/mach/mx1_camera.h => include/linux/platform_data/camera-mx1.h (100%)
 rename arch/arm/plat-mxc/include/mach/mx2_cam.h => include/linux/platform_data/camera-mx2.h (100%)
 rename arch/arm/plat-mxc/include/mach/mx3_camera.h => include/linux/platform_data/camera-mx3.h (100%)
 rename arch/arm/mach-pxa/include/mach/camera.h => include/linux/platform_data/camera-pxa.h (100%)
 rename {arch/arm/mach-ux500/include/mach => include/linux/platform_data}/crypto-ux500.h (100%)
 rename arch/arm/mach-at91/include/mach/at_hdmac.h => include/linux/platform_data/dma-atmel.h (100%)
 rename arch/arm/mach-ep93xx/include/mach/dma.h => include/linux/platform_data/dma-ep93xx.h (100%)
 rename arch/arm/plat-mxc/include/mach/sdma.h => include/linux/platform_data/dma-imx-sdma.h (100%)
 rename arch/arm/plat-mxc/include/mach/dma.h => include/linux/platform_data/dma-imx.h (100%)
 rename arch/arm/mach-mmp/include/mach/sram.h => include/linux/platform_data/dma-mmp_tdma.h (100%)
 rename arch/arm/plat-orion/include/plat/mv_xor.h => include/linux/platform_data/dma-mv_xor.h (100%)
 rename arch/arm/plat-omap/include/plat/mcbsp.h => include/linux/platform_data/dsp-mcbsp.h (100%)
 rename arch/arm/plat-omap/include/plat/dsp.h => include/linux/platform_data/dsp-omap.h (100%)
 rename arch/arm/mach-netx/include/mach/eth.h => include/linux/platform_data/eth-netx.h (100%)
 rename arch/arm/plat-samsung/include/plat/hwmon.h => include/linux/platform_data/hwmon-s3c.h (100%)
 rename arch/arm/mach-davinci/include/mach/i2c.h => include/linux/platform_data/i2c-davinci.h (100%)
 rename arch/arm/plat-mxc/include/mach/i2c.h => include/linux/platform_data/i2c-imx.h (100%)
 rename arch/arm/mach-w90x900/include/mach/i2c.h => include/linux/platform_data/i2c-nuc900.h (100%)
 rename arch/arm/plat-samsung/include/plat/iic.h => include/linux/platform_data/i2c-s3c2410.h (100%)
 rename arch/arm/mach-pxa/include/mach/irda.h => include/linux/platform_data/irda-pxaficp.h (100%)
 rename arch/arm/mach-pxa/include/mach/pxa930_rotary.h => include/linux/platform_data/keyboard-pxa930_rotary.h (100%)
 rename arch/arm/plat-spear/include/plat/keyboard.h => include/linux/platform_data/keyboard-spear.h (100%)
 rename arch/arm/mach-tegra/include/mach/kbc.h => include/linux/platform_data/keyboard-tegra-kbc.h (100%)
 rename arch/arm/mach-ep93xx/include/mach/ep93xx_keypad.h => include/linux/platform_data/keypad-ep93xx.h (100%)
 rename arch/arm/plat-nomadik/include/plat/ske.h => include/linux/platform_data/keypad-nomadik-ske.h (100%)
 rename arch/arm/plat-omap/include/plat/keypad.h => include/linux/platform_data/keypad-omap.h (100%)
 rename arch/arm/plat-pxa/include/plat/pxa27x_keypad.h => include/linux/platform_data/keypad-pxa27x.h (100%)
 rename arch/arm/mach-w90x900/include/mach/w90p910_keypad.h => include/linux/platform_data/keypad-w90p910.h (100%)
 rename arch/arm/mach-davinci/include/mach/keyscan.h => include/linux/platform_data/keyscan-davinci.h (100%)
 rename arch/arm/plat-omap/include/plat/lcd_mipid.h => include/linux/platform_data/lcd-mipid.h (100%)
 rename arch/arm/mach-kirkwood/include/mach/leds-netxbig.h => include/linux/platform_data/leds-kirkwood-netxbig.h (100%)
 rename arch/arm/mach-kirkwood/include/mach/leds-ns2.h => include/linux/platform_data/leds-kirkwood-ns2.h (100%)
 rename arch/arm/mach-s3c24xx/include/mach/leds-gpio.h => include/linux/platform_data/leds-s3c24xx.h (100%)
 rename arch/arm/mach-sa1100/include/mach/mcp.h => include/linux/platform_data/mfd-mcp-sa11x0.h (100%)
 rename arch/arm/plat-samsung/include/plat/mipi_csis.h => include/linux/platform_data/mipi-csis.h (100%)
 rename arch/arm/mach-davinci/include/mach/mmc.h => include/linux/platform_data/mmc-davinci.h (100%)
 rename arch/arm/plat-mxc/include/mach/esdhc.h => include/linux/platform_data/mmc-esdhc-imx.h (100%)
 rename arch/arm/mach-msm/include/mach/mmc.h => include/linux/platform_data/mmc-msm_sdcc.h (100%)
 rename arch/arm/plat-orion/include/plat/mvsdio.h => include/linux/platform_data/mmc-mvsdio.h (100%)
 rename arch/arm/plat-mxc/include/mach/mmc.h => include/linux/platform_data/mmc-mxcmmc.h (100%)
 rename arch/arm/mach-pxa/include/mach/mmc.h => include/linux/platform_data/mmc-pxamci.h (100%)
 rename arch/arm/plat-samsung/include/plat/mci.h => include/linux/platform_data/mmc-s3cmci.h (100%)
 rename arch/arm/mach-tegra/include/mach/sdhci.h => include/linux/platform_data/mmc-sdhci-tegra.h (100%)
 rename arch/arm/mach-pxa/include/mach/pxa930_trkball.h => include/linux/platform_data/mouse-pxa930_trkball.h (100%)
 rename arch/arm/mach-davinci/include/mach/aemif.h => include/linux/platform_data/mtd-davinci-aemif.h (100%)
 rename arch/arm/mach-davinci/include/mach/nand.h => include/linux/platform_data/mtd-davinci.h (100%)
 rename arch/arm/plat-mxc/include/mach/mxc_nand.h => include/linux/platform_data/mtd-mxc_nand.h (100%)
 rename arch/arm/plat-omap/include/plat/nand.h => include/linux/platform_data/mtd-nand-omap2.h (100%)
 rename arch/arm/plat-pxa/include/plat/pxa3xx_nand.h => include/linux/platform_data/mtd-nand-pxa3xx.h (100%)
 rename arch/arm/plat-samsung/include/plat/nand.h => include/linux/platform_data/mtd-nand-s3c2410.h (100%)
 rename arch/arm/mach-nomadik/include/mach/nand.h => include/linux/platform_data/mtd-nomadik-nand.h (100%)
 rename arch/arm/plat-omap/include/plat/onenand.h => include/linux/platform_data/mtd-onenand-omap2.h (100%)
 rename arch/arm/plat-orion/include/plat/orion_nand.h => include/linux/platform_data/mtd-orion_nand.h (100%)
 rename arch/arm/mach-pxa/include/mach/arcom-pcmcia.h => include/linux/platform_data/pcmcia-pxa2xx_viper.h (100%)
 rename arch/arm/mach-u300/include/mach/gpio-u300.h => include/linux/platform_data/pinctrl-coh901.h (100%)
 rename arch/arm/plat-omap/include/plat/remoteproc.h => include/linux/platform_data/remoteproc-omap.h (100%)
 rename arch/arm/plat-mxc/include/mach/imx-uart.h => include/linux/platform_data/serial-imx.h (100%)
 rename arch/arm/plat-omap/include/plat/voltage.h => include/linux/platform_data/smartreflex-omap.h (100%)
 rename arch/arm/mach-davinci/include/mach/spi.h => include/linux/platform_data/spi-davinci.h (100%)
 rename arch/arm/mach-ep93xx/include/mach/ep93xx_spi.h => include/linux/platform_data/spi-ep93xx.h (100%)
 rename arch/arm/mach-w90x900/include/mach/nuc900_spi.h => include/linux/platform_data/spi-nuc900.h (100%)
 rename arch/arm/plat-omap/include/plat/mcspi.h => include/linux/platform_data/spi-omap2-mcspi.h (100%)
 rename arch/arm/plat-samsung/include/plat/s3c64xx-spi.h => include/linux/platform_data/spi-s3c64xx.h (100%)
 rename arch/arm/plat-samsung/include/plat/ts.h => include/linux/platform_data/touchscreen-s3c2410.h (100%)
 rename arch/arm/mach-davinci/include/mach/usb.h => include/linux/platform_data/usb-davinci.h (100%)
 rename arch/arm/plat-mxc/include/mach/mxc_ehci.h => include/linux/platform_data/usb-ehci-mxc.h (100%)
 rename arch/arm/plat-orion/include/plat/ehci-orion.h => include/linux/platform_data/usb-ehci-orion.h (100%)
 rename arch/arm/plat-samsung/include/plat/ehci.h => include/linux/platform_data/usb-ehci-s5p.h (100%)
 rename arch/arm/mach-exynos/include/mach/ohci.h => include/linux/platform_data/usb-exynos.h (100%)
 rename arch/arm/plat-mxc/include/mach/usb.h => include/linux/platform_data/usb-imx_udc.h (100%)
 rename arch/arm/mach-ux500/include/mach/usb.h => include/linux/platform_data/usb-musb-ux500.h (100%)
 rename arch/arm/plat-mxc/include/mach/mx21-usbhost.h => include/linux/platform_data/usb-mx2.h (100%)
 rename arch/arm/mach-pxa/include/mach/ohci.h => include/linux/platform_data/usb-ohci-pxa27x.h (100%)
 rename arch/arm/plat-samsung/include/plat/usb-control.h => include/linux/platform_data/usb-ohci-s3c2410.h (100%)
 rename arch/arm/mach-pxa/include/mach/pxa3xx-u2d.h => include/linux/platform_data/usb-pxa3xx-ulpi.h (100%)
 rename arch/arm/plat-samsung/include/plat/udc.h => include/linux/platform_data/usb-s3c2410_udc.h (100%)
 rename arch/arm/mach-ep93xx/include/mach/fb.h => include/linux/platform_data/video-ep93xx.h (100%)
 rename arch/arm/plat-mxc/include/mach/imxfb.h => include/linux/platform_data/video-imxfb.h (100%)
 rename arch/arm/mach-msm/include/mach/msm_fb.h => include/linux/platform_data/video-msm_fb.h (100%)
 rename arch/arm/plat-mxc/include/mach/mx3fb.h => include/linux/platform_data/video-mx3fb.h (100%)
 rename arch/arm/mach-w90x900/include/mach/fb.h => include/linux/platform_data/video-nuc900fb.h (100%)
 rename arch/arm/mach-pxa/include/mach/pxafb.h => include/linux/platform_data/video-pxafb.h (100%)
 rename arch/arm/mach-vt8500/include/mach/vt8500fb.h => include/linux/platform_data/video-vt8500lcdfb.h (100%)

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers
  2012-08-22 12:53 [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
                   ` (5 preceding siblings ...)
  2012-08-22 19:44 ` Stephen Warren
@ 2012-08-24 13:19 ` Shawn Guo
  2012-08-24 13:55 ` Rob Herring
  7 siblings, 0 replies; 28+ messages in thread
From: Shawn Guo @ 2012-08-24 13:19 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linux-kernel, linaro-kernel

On Wed, Aug 22, 2012 at 12:53:06PM +0000, Arnd Bergmann wrote:
> I've created this series some time ago, and updated it now to
> v3.6-rc1. The idea is to get us a big step closer to the
> single zImage kernel across multiple ARM platforms by
> untangling the duplicate header file names.
> 
> There are two branches available in the arm-soc tree:
> 
> 1. This series,
>    http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=shortlog;h=refs/heads/testing/mach-headers
>    This just moves header files around and changes most of the
>    files including them. There are a few remaining drivers
>    and platform files that keep including a generic file name
>    like <mach/uncompress.h>. It remains possible to do that,
>    and I've run extensive tests to ensure I did not break
>    anything with this. However, each of these instances means
>    that there is something that stops working when you get to
>    the real multiplatform kernel and we still need to deal
>    with them one by one.
> 
> 2. Actually enabling CONFIG_ARCH_MULTIPLATFORM
>    http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=shortlog;h=refs/heads/testing/multiplatform
>    This builds on top of the first series, but is much more
>    experimental. It shows how a multiplatform kernel can look
>    like, by allowing to build vexpress, ux500, imx and omap2
>    together in one kernel, but at the same time breaking some of
>    their features.
> 
I just merged Marc's smp_ops branch below into above branch, and built
a kernel from there with vexpress and imx support together.

 git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git smp_ops-v3.5-rc2

The kernel boots fine on both imx5 and imx6, and I did not notice any
obvious feature breaking \o/

-- 
Regards,
Shawn

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 1/4] [RFC] ARM: autogenerate mach-foo/* and plat-foo/* header redirects
  2012-08-22 12:54 ` [PATCH 1/4] [RFC] ARM: autogenerate mach-foo/* and plat-foo/* header redirects Arnd Bergmann
  2012-08-22 15:24   ` Nicolas Pitre
@ 2012-08-24 13:44   ` Rob Herring
  1 sibling, 0 replies; 28+ messages in thread
From: Rob Herring @ 2012-08-24 13:44 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linaro-kernel, linux-kernel

On 08/22/2012 07:54 AM, Arnd Bergmann wrote:
> This is an attempt to simplify the duplicate header problem for
> multiplatform kernels, in multiple steps:
> 
> 1. (this patch)
>    for each arch/arm/mach-${MACHINE}/include/mach-${MACHINE}/*.h file,
>    generate a arch/arm/include/generated/mach/*.h file at build time,
>    same for plat-*.
> 
> 2. rename all arch/arm/mach-${MACHINE}/include/mach/*.h to
>    arch/arm/mach-${MACHINE}/include/mach-${MACHINE}/*.h and
>    arch/arm/plat-${PLAT}/include/plat/*.h to
>    arch/arm/plat-${PLAT}/include/plat-${PLAT}/*.h
> 
> 3. change all includes of <mach/*.h> to <mach-${MACHINE}/*.h>
>    in all files where ${MACHINE} is known.
> 
> 4. ...
> 
> 5. Revert this patch again.
> 
> We can apply this patch at any time, and do step 2 at the end
> of the next merge window to minimize the potential for conflicts.
> We will also still need to deal with any inclusion of a mach/*
> file, but out of the 6355 ones we have today, I expect only a

Don't you mean 635? That's about what I counted in drivers/ and sound/.
It's important as 635 is within the realm of manually fixing, but 6355
is not. More comments comming on 0/4...

Rob


> few hundred to remain after step 3 and they will be much easier
> to spot.
> 
> I've picked the format <mach-foo/bar.h> to get a unique name because
> it matches the directory name under arch/arm, but other names
> would work with the same script, <mach/foo-bar.h> and <foo/bar.h>
> have been suggested previously.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  arch/arm/Makefile          |    1 +
>  arch/arm/tools/Makefile    |    5 ++++
>  arch/arm/tools/gen-headers |   57 ++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 63 insertions(+)
>  create mode 100755 arch/arm/tools/gen-headers
> 
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index 30eae87..761b077 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -274,6 +274,7 @@ boot := arch/arm/boot
>  
>  archprepare:
>         $(Q)$(MAKE) $(build)=arch/arm/tools include/generated/mach-types.h
> +       $(Q)$(MAKE) $(build)=arch/arm/tools plat="$(plat-y)" machine="$(machine-y)" gen_headers
>  
>  # Convert bzImage to zImage
>  bzImage: zImage
> diff --git a/arch/arm/tools/Makefile b/arch/arm/tools/Makefile
> index 635cb18..6e18ca9 100644
> --- a/arch/arm/tools/Makefile
> +++ b/arch/arm/tools/Makefile
> @@ -8,3 +8,8 @@ include/generated/mach-types.h: $(src)/gen-mach-types $(src)/mach-types
>         @echo '  Generating $@'
>         @mkdir -p $(dir $@)
>         $(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; }
> +
> +gen_headers:
> +       $(Q)bash $(srctree)/$(src)/gen-headers $(srctree) $(objtree) $(machine) $(plat)
> +
> +.PHONY: gen_headers
> diff --git a/arch/arm/tools/gen-headers b/arch/arm/tools/gen-headers
> new file mode 100755
> index 0000000..caa6a9a
> --- /dev/null
> +++ b/arch/arm/tools/gen-headers
> @@ -0,0 +1,57 @@
> +#!/bin/bash
> +
> +SRC=$1
> +OBJ=$2
> +MACH=$3
> +PLAT1=$4
> +PLAT2=$5
> +
> +# create $3 to include $2 if it doesn't already have the correct
> +# contents, or remove it if it's no longer needed.
> +mkfile()
> +{
> +       if [ -e $1/$2 ] ; then
> +               if [ ! -e $3 ] ; then
> +                       mkdir -p ${3%/*}
> +                       echo "#include <${2}>" > $3
> +               elif [ "`cat $3`" != "#include <${2#./}>" ] ; then
> +                       echo "#include <${2}>" > $3
> +               fi
> +       elif [ ! -e $1/$2 -a -e $3 ] ; then
> +               rm -f $3
> +       fi
> +}
> +
> +# list any header files that are present in the source or
> +# destination directories
> +find_files()
> +{
> +       pushd ${SRC}/arch/arm/$1-$2/include/$1-$2 >/dev/null 2>&1 &&
> +       find . -type f -name \*.h -o -name \*.S &&
> +       popd > /dev/null 2>&1
> +       pushd ${OBJ}/arch/arm/include/generated/$1 >/dev/null 2>&1 &&
> +       find . -type f -name \*.h -o -name \*.S &&
> +       popd > /dev/null 2>&1
> +}
> +
> +# process files in either mach-{MACH} or plat-${PLAT}
> +mkfiles()
> +{
> +       mkdir -p ${OBJ}/arch/arm/include/generated/$1
> +
> +       FILES=`find_files $1 $2 | sort -u`
> +       for i in ${FILES} ; do
> +               mkfile "${SRC}/arch/arm/$1-$2/include/" "$1-$2/${i#./}" \
> +                       "${OBJ}/arch/arm/include/generated/$1/$i"
> +       done
> +}
> +
> +# always process mach-*
> +mkfiles mach ${MACH}
> +# process plat-* if applicable
> +if [ -d ${SRC}/arch/arm/plat-${PLAT1} ]; then
> +       mkfiles plat ${PLAT1}
> +fi
> +if [ -d ${SRC}/arch/arm/plat-${PLAT2} ]; then
> +       mkfiles plat ${PLAT2}
> +fi
> 


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers
  2012-08-22 12:53 [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
                   ` (6 preceding siblings ...)
  2012-08-24 13:19 ` Shawn Guo
@ 2012-08-24 13:55 ` Rob Herring
  7 siblings, 0 replies; 28+ messages in thread
From: Rob Herring @ 2012-08-24 13:55 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linaro-kernel, linux-kernel

On 08/22/2012 07:53 AM, Arnd Bergmann wrote:
> I've created this series some time ago, and updated it now to
> v3.6-rc1. The idea is to get us a big step closer to the
> single zImage kernel across multiple ARM platforms by
> untangling the duplicate header file names.
> 
> There are two branches available in the arm-soc tree:
> 
> 1. This series,
>    http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=shortlog;h=refs/heads/testing/mach-headers
>    This just moves header files around and changes most of the
>    files including them. There are a few remaining drivers
>    and platform files that keep including a generic file name
>    like <mach/uncompress.h>. It remains possible to do that,
>    and I've run extensive tests to ensure I did not break
>    anything with this. However, each of these instances means
>    that there is something that stops working when you get to
>    the real multiplatform kernel and we still need to deal
>    with them one by one.
> 
> 2. Actually enabling CONFIG_ARCH_MULTIPLATFORM
>    http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=shortlog;h=refs/heads/testing/multiplatform
>    This builds on top of the first series, but is much more
>    experimental. It shows how a multiplatform kernel can look
>    like, by allowing to build vexpress, ux500, imx and omap2
>    together in one kernel, but at the same time breaking some of
>    their features.

Can't we treat these as independent problems? The mach headers are a
problem for enabling some (most) platforms, but strictly speaking are
not a blocker for enabling multi-platform builds. I successfully built
highbank and vexpress without all this header renaming. This did require
pushing the mach/plat include path down into the mach directory for
vexpress adding this to its Makefile:

ccflags-y := -I$(srctree)/$(src)/include
-I$(srctree)/arch/arm/plat-versatile/include

Any new DT only platforms probably don't even need this.

I think fixing the headers by adding mach names doesn't force further
clean-up of drivers. I suspect there are still drivers which get their
irq number from an include rather than a resource for example.

A quarter of the 600 something includes are hardware.h which pulls in
anything and everything. I removed them and did a build. At least with
pxa, there's only a handful of errors and nearly all where on cpu_is_X
not being defined. This is something we should implement in a
standardized way or figure out how to remove.

Rob

> I would like to get the first series merged in v3.7 if we can agree
> on the general approach. So far, feedback in Linaro internal
> meetings has been very positive, but Russell had concerns when
> we first discussed it a few months ago.
> 
> A patch set this large means a lot of churn, and there are a few
> ways we could deal with this:
> 
> a) Put the branch into linux-next now, and have everyone who
> encounters conflicts pull it into their own branch to resolve
> the conflicts. This can be a lot of work, and it means we
> cannot rebase this branch any more.
> 
> b) Involve Linus Torvalds in the process and get him to
> take the series at the end of the v3.7 merge window, after
> rebasing it on top of all the other branches he merged.
> This means it happens pretty much ad-hoc and there is little
> testing on the patches that actually get merged.
> 
> c) Split the series and submit the first two branches at
> the start of the merge window, and do the changes to all
> the drivers either at the end of the v3.7 merge window
> (after rebasing) or merge them through the subsystem
> maintainer trees in small chunks for v3.8. This can minimize
> the problems of the other two approaches, but means the process
> takes longer to get to the same result.
> 
>         Arnd
> 
> [second attempt to send these patches, the first one was rejected by
> lists.infradead.org, this one uses a different smtp setup]
> 
> Arnd Bergmann (4):
>   [RFC] ARM: autogenerate mach-foo/* and plat-foo/* header redirects
>   [RFC] ARM: mass move of mach-*/plat-* header files
>   [RFC] ARM: treewide: scripted conversion to mach-*/*.h
>   [RFC] ARM: treewide: manually change more mach-*/*.h includes
> 
>    0.0% Documentation/spi/
>    0.0% arch/arm/boot/compressed/
>    2.0% arch/arm/mach-at91/include/mach-at91/
>    2.0% arch/arm/mach-at91/include/mach/
>    0.1% arch/arm/mach-at91/
>    0.0% arch/arm/mach-bcmring/csp/chipc/
>    0.0% arch/arm/mach-bcmring/csp/dmac/
>    0.0% arch/arm/mach-bcmring/csp/tmr/
>    0.0% arch/arm/mach-bcmring/include/csp/
>    3.0% arch/arm/mach-bcmring/include/mach-bcmring/csp/
>    0.6% arch/arm/mach-bcmring/include/mach-bcmring/
>    3.0% arch/arm/mach-bcmring/include/mach/csp/
>    0.6% arch/arm/mach-bcmring/include/mach/
>    0.0% arch/arm/mach-bcmring/
>    0.3% arch/arm/mach-clps711x/include/mach-clps711x/
>    0.3% arch/arm/mach-clps711x/include/mach/
>    0.0% arch/arm/mach-clps711x/
>    0.3% arch/arm/mach-cns3xxx/include/mach-cns3xxx/
>    0.3% arch/arm/mach-cns3xxx/include/mach/
>    0.0% arch/arm/mach-cns3xxx/
>    1.2% arch/arm/mach-davinci/include/mach-davinci/
>    1.2% arch/arm/mach-davinci/include/mach/
>    0.1% arch/arm/mach-davinci/
>    0.1% arch/arm/mach-dove/include/mach-dove/
>    0.1% arch/arm/mach-dove/include/mach/
>    0.0% arch/arm/mach-dove/
>    0.0% arch/arm/mach-ebsa110/include/mach-ebsa110/
>    0.0% arch/arm/mach-ebsa110/include/mach/
>    0.0% arch/arm/mach-ebsa110/
>    0.2% arch/arm/mach-ep93xx/include/mach-ep93xx/
>    0.2% arch/arm/mach-ep93xx/include/mach/
>    0.0% arch/arm/mach-ep93xx/
>    1.0% arch/arm/mach-exynos/include/mach-exynos/
>    1.0% arch/arm/mach-exynos/include/mach/
>    0.1% arch/arm/mach-exynos/
>    0.1% arch/arm/mach-footbridge/include/mach-footbridge/
>    0.1% arch/arm/mach-footbridge/include/mach/
>    0.0% arch/arm/mach-footbridge/
>    0.1% arch/arm/mach-gemini/include/mach-gemini/
>    0.1% arch/arm/mach-gemini/include/mach/
>    0.0% arch/arm/mach-gemini/
>    0.2% arch/arm/mach-h720x/include/mach-h720x/
>    0.2% arch/arm/mach-h720x/include/mach/
>    0.0% arch/arm/mach-h720x/
>    0.0% arch/arm/mach-highbank/include/mach-highbank/
>    0.0% arch/arm/mach-highbank/include/mach/
>    7.2% arch/arm/mach-imx/include/mach-imx/
>    0.0% arch/arm/mach-imx/include/mach/
>    0.1% arch/arm/mach-imx/
>    0.3% arch/arm/mach-integrator/include/mach-integrator/
>    0.3% arch/arm/mach-integrator/include/mach/
>    0.0% arch/arm/mach-integrator/
>    0.6% arch/arm/mach-iop13xx/include/mach-iop13xx/
>    0.6% arch/arm/mach-iop13xx/include/mach/
>    0.0% arch/arm/mach-iop13xx/
>    0.0% arch/arm/mach-iop32x/include/mach-iop32x/
>    0.0% arch/arm/mach-iop32x/include/mach/
>    0.0% arch/arm/mach-iop32x/
>    0.0% arch/arm/mach-iop33x/include/mach-iop33x/
>    0.0% arch/arm/mach-iop33x/include/mach/
>    0.0% arch/arm/mach-iop33x/
>    0.7% arch/arm/mach-ixp4xx/include/mach-ixp4xx/
>    0.7% arch/arm/mach-ixp4xx/include/mach/
>    0.0% arch/arm/mach-ixp4xx/
>    0.1% arch/arm/mach-kirkwood/include/mach-kirkwood/
>    0.1% arch/arm/mach-kirkwood/include/mach/
>    0.0% arch/arm/mach-kirkwood/
>    0.4% arch/arm/mach-ks8695/include/mach-ks8695/
>    0.4% arch/arm/mach-ks8695/include/mach/
>    0.0% arch/arm/mach-ks8695/
>    0.0% arch/arm/mach-l7200/include/mach-l7200/
>    0.0% arch/arm/mach-l7200/include/mach/
>    0.4% arch/arm/mach-lpc32xx/include/mach-lpc32xx/
>    0.4% arch/arm/mach-lpc32xx/include/mach/
>    0.0% arch/arm/mach-lpc32xx/
>    1.0% arch/arm/mach-mmp/include/mach-mmp/
>    1.0% arch/arm/mach-mmp/include/mach/
>    0.0% arch/arm/mach-mmp/
>    1.9% arch/arm/mach-msm/include/mach-msm/
>    1.9% arch/arm/mach-msm/include/mach/
>    0.0% arch/arm/mach-msm/
>    0.1% arch/arm/mach-mv78xx0/include/mach-mv78xx0/
>    0.1% arch/arm/mach-mv78xx0/include/mach/
>    0.0% arch/arm/mach-mv78xx0/
>    0.0% arch/arm/mach-mvebu/include/mach-mvebu/
>    0.0% arch/arm/mach-mvebu/include/mach/
>    0.0% arch/arm/mach-mvebu/
>    0.0% arch/arm/mach-mxs/devices/
>    1.1% arch/arm/mach-mxs/include/mach-mxs/
>    1.1% arch/arm/mach-mxs/include/mach/
>    0.0% arch/arm/mach-mxs/
>    0.3% arch/arm/mach-netx/include/mach-netx/
>    0.3% arch/arm/mach-netx/include/mach/
>    0.0% arch/arm/mach-netx/
>    0.1% arch/arm/mach-nomadik/include/mach-nomadik/
>    0.1% arch/arm/mach-nomadik/include/mach/
>    0.0% arch/arm/mach-nomadik/
>    0.2% arch/arm/mach-omap1/include/mach-omap1/
>    0.2% arch/arm/mach-omap1/include/mach/
>    0.1% arch/arm/mach-omap1/
>    1.2% arch/arm/mach-omap2/include/mach-omap2/
>    1.2% arch/arm/mach-omap2/include/mach/
>    0.3% arch/arm/mach-omap2/
>    0.1% arch/arm/mach-orion5x/include/mach-orion5x/
>    0.1% arch/arm/mach-orion5x/include/mach/
>    0.0% arch/arm/mach-orion5x/
>    0.0% arch/arm/mach-picoxcell/include/mach-picoxcell/
>    0.0% arch/arm/mach-picoxcell/include/mach/
>    0.0% arch/arm/mach-picoxcell/
>    0.4% arch/arm/mach-pnx4008/include/mach-pnx4008/
>    0.4% arch/arm/mach-pnx4008/include/mach/
>    0.0% arch/arm/mach-pnx4008/
>    0.0% arch/arm/mach-prima2/include/mach-prima2/
>    0.0% arch/arm/mach-prima2/include/mach/
>    0.0% arch/arm/mach-prima2/
>    4.0% arch/arm/mach-pxa/include/mach-pxa/
>    4.0% arch/arm/mach-pxa/include/mach/
>    0.3% arch/arm/mach-pxa/
>    0.7% arch/arm/mach-realview/include/mach-realview/
>    0.7% arch/arm/mach-realview/include/mach/
>    0.0% arch/arm/mach-realview/
>    0.1% arch/arm/mach-rpc/include/mach-rpc/
>    0.1% arch/arm/mach-rpc/include/mach/
>    0.0% arch/arm/mach-rpc/
>    0.0% arch/arm/mach-s3c2410/
>    0.0% arch/arm/mach-s3c2412/
>    0.0% arch/arm/mach-s3c2440/
>    1.4% arch/arm/mach-s3c24xx/include/mach-s3c24xx/
>    1.4% arch/arm/mach-s3c24xx/include/mach/
>    0.4% arch/arm/mach-s3c24xx/
>    0.5% arch/arm/mach-s3c64xx/include/mach-s3c64xx/
>    0.5% arch/arm/mach-s3c64xx/include/mach/
>    0.1% arch/arm/mach-s3c64xx/
>    0.3% arch/arm/mach-s5p64x0/include/mach-s5p64x0/
>    0.3% arch/arm/mach-s5p64x0/include/mach/
>    0.0% arch/arm/mach-s5p64x0/
>    0.2% arch/arm/mach-s5pc100/include/mach-s5pc100/
>    0.2% arch/arm/mach-s5pc100/include/mach/
>    0.0% arch/arm/mach-s5pc100/
>    0.3% arch/arm/mach-s5pv210/include/mach-s5pv210/
>    0.3% arch/arm/mach-s5pv210/include/mach/
>    0.0% arch/arm/mach-s5pv210/
>    1.9% arch/arm/mach-sa1100/include/mach-sa1100/
>    1.9% arch/arm/mach-sa1100/include/mach/
>    0.0% arch/arm/mach-sa1100/
>    0.0% arch/arm/mach-shark/include/mach-shark/
>    0.0% arch/arm/mach-shark/include/mach/
>    1.5% arch/arm/mach-shmobile/include/mach-shmobile/
>    1.5% arch/arm/mach-shmobile/include/mach/
>    0.0% arch/arm/mach-shmobile/
>    0.0% arch/arm/mach-socfpga/include/mach-socfpga/
>    0.0% arch/arm/mach-socfpga/include/mach/
>    0.1% arch/arm/mach-spear13xx/include/mach-spear13xx/
>    0.1% arch/arm/mach-spear13xx/include/mach/
>    0.0% arch/arm/mach-spear13xx/
>    0.0% arch/arm/mach-spear3xx/include/mach-spear3xx/
>    0.0% arch/arm/mach-spear3xx/include/mach/
>    0.0% arch/arm/mach-spear3xx/
>    0.0% arch/arm/mach-spear6xx/include/mach-spear6xx/
>    0.0% arch/arm/mach-spear6xx/include/mach/
>    0.0% arch/arm/mach-spear6xx/
>    0.5% arch/arm/mach-tegra/include/mach-tegra/
>    0.5% arch/arm/mach-tegra/include/mach/
>    0.0% arch/arm/mach-tegra/
>    0.5% arch/arm/mach-u300/include/mach-u300/
>    0.5% arch/arm/mach-u300/include/mach/
>    0.0% arch/arm/mach-u300/
>    0.3% arch/arm/mach-ux500/include/mach-ux500/
>    0.3% arch/arm/mach-ux500/include/mach/
>    0.0% arch/arm/mach-ux500/
>    0.3% arch/arm/mach-versatile/include/mach-versatile/
>    0.3% arch/arm/mach-versatile/include/mach/
>    0.0% arch/arm/mach-versatile/
>    0.1% arch/arm/mach-vexpress/include/mach-vexpress/
>    0.1% arch/arm/mach-vexpress/include/mach/
>    0.0% arch/arm/mach-vexpress/
>    0.2% arch/arm/mach-vt8500/include/mach-vt8500/
>    0.2% arch/arm/mach-vt8500/include/mach/
>    0.0% arch/arm/mach-vt8500/
>    0.3% arch/arm/mach-w90x900/include/mach-w90x900/
>    0.3% arch/arm/mach-w90x900/include/mach/
>    0.0% arch/arm/mach-w90x900/
>    0.0% arch/arm/mach-zynq/include/mach-zynq/
>    0.0% arch/arm/mach-zynq/include/mach/
>    0.0% arch/arm/mach-zynq/
>    0.0% arch/arm/mm/
>    0.0% arch/arm/plat-mxc/devices/
>    7.2% arch/arm/plat-mxc/include/mach/
>    0.0% arch/arm/plat-mxc/
>    0.1% arch/arm/plat-nomadik/include/plat-nomadik/
>    0.1% arch/arm/plat-nomadik/include/plat/
>    3.4% arch/arm/plat-omap/include/plat-omap/
>    3.4% arch/arm/plat-omap/include/plat/
>    0.0% arch/arm/plat-omap/
>    0.1% arch/arm/plat-orion/include/plat-orion/
>    0.1% arch/arm/plat-orion/include/plat/
>    0.0% arch/arm/plat-orion/
>    0.2% arch/arm/plat-pxa/include/plat-pxa/
>    0.2% arch/arm/plat-pxa/include/plat/
>    0.0% arch/arm/plat-pxa/
>    0.0% arch/arm/plat-s3c24xx/
>    2.7% arch/arm/plat-samsung/include/plat-samsung/
>    2.7% arch/arm/plat-samsung/include/plat/
>    0.0% arch/arm/plat-samsung/
>    0.1% arch/arm/plat-spear/include/plat-spear/
>    0.1% arch/arm/plat-spear/include/plat/
>    0.0% arch/arm/plat-spear/
>    0.0% arch/arm/plat-versatile/include/plat-versatile/
>    0.0% arch/arm/plat-versatile/include/plat/
>    0.0% arch/arm/plat-versatile/
>    0.0% arch/arm/tools/
>    0.0% arch/arm/
>    0.0% drivers/ata/
>    0.0% drivers/char/hw_random/
>    0.0% drivers/char/
>    0.0% drivers/clk/mxs/
>    0.0% drivers/clk/
>    0.0% drivers/clocksource/
>    0.0% drivers/cpufreq/
>    0.0% drivers/crypto/ux500/cryp/
>    0.0% drivers/crypto/ux500/hash/
>    0.0% drivers/crypto/
>    0.0% drivers/devfreq/
>    0.0% drivers/dma/ipu/
>    0.0% drivers/dma/
>    0.0% drivers/gpio/
>    0.0% drivers/gpu/drm/exynos/
>    0.0% drivers/hwmon/
>    0.0% drivers/i2c/busses/
>    0.0% drivers/iio/adc/
>    0.0% drivers/input/keyboard/
>    0.0% drivers/input/misc/
>    0.0% drivers/input/mouse/
>    0.0% drivers/input/serio/
>    0.0% drivers/input/touchscreen/
>    0.0% drivers/iommu/
>    0.0% drivers/leds/
>    0.0% drivers/media/video/davinci/
>    0.0% drivers/media/video/omap/
>    0.0% drivers/media/video/omap3isp/
>    0.0% drivers/media/video/s5p-fimc/
>    0.0% drivers/media/video/s5p-tv/
>    0.0% drivers/media/video/
>    0.0% drivers/mfd/
>    0.0% drivers/misc/
>    0.0% drivers/mmc/host/
>    0.0% drivers/mtd/maps/
>    0.0% drivers/mtd/nand/
>    0.0% drivers/mtd/onenand/
>    0.0% drivers/net/can/
>    0.0% drivers/net/ethernet/amd/
>    0.0% drivers/net/ethernet/cadence/
>    0.0% drivers/net/ethernet/cirrus/
>    0.0% drivers/net/ethernet/micrel/
>    0.0% drivers/net/ethernet/nxp/
>    0.0% drivers/net/ethernet/smsc/
>    0.0% drivers/net/ethernet/xscale/
>    0.0% drivers/net/ethernet/
>    0.0% drivers/net/irda/
>    0.0% drivers/net/wan/
>    0.0% drivers/pcmcia/
>    0.0% drivers/pinctrl/
>    0.0% drivers/power/avs/
>    0.0% drivers/power/
>    0.0% drivers/ptp/
>    0.0% drivers/pwm/
>    0.0% drivers/remoteproc/
>    0.0% drivers/rtc/
>    0.0% drivers/scsi/arm/
>    0.0% drivers/spi/
>    0.0% drivers/staging/nvec/
>    0.0% drivers/staging/omapdrm/
>    0.0% drivers/staging/ste_rmi4/
>    0.0% drivers/staging/tidspbridge/core/
>    0.0% drivers/staging/tidspbridge/include/dspbridge/
>    0.0% drivers/staging/tidspbridge/rmgr/
>    0.0% drivers/tty/serial/
>    0.0% drivers/uio/
>    0.0% drivers/usb/gadget/
>    0.0% drivers/usb/host/
>    0.0% drivers/usb/musb/
>    0.0% drivers/usb/otg/
>    0.0% drivers/video/backlight/
>    0.0% drivers/video/exynos/
>    0.0% drivers/video/msm/
>    0.0% drivers/video/omap/
>    0.0% drivers/video/omap2/dss/
>    0.0% drivers/video/omap2/omapfb/
>    0.0% drivers/video/omap2/
>    0.0% drivers/video/pnx4008/
>    0.0% drivers/video/
>    0.0% drivers/w1/masters/
>    0.0% drivers/watchdog/
>    0.0% include/linux/mfd/
>    0.0% include/linux/platform_data/
>    0.0% include/linux/power/
>    0.0% include/linux/spi/
>    0.0% include/linux/
>    0.0% sound/arm/
>    0.0% sound/atmel/
>    0.0% sound/oss/
>    0.0% sound/soc/atmel/
>    0.0% sound/soc/davinci/
>    0.0% sound/soc/ep93xx/
>    0.0% sound/soc/fsl/
>    0.0% sound/soc/kirkwood/
>    0.0% sound/soc/mxs/
>    0.0% sound/soc/nuc900/
>    0.0% sound/soc/omap/
>    0.0% sound/soc/pxa/
>    0.0% sound/soc/samsung/
>    0.0% sound/soc/tegra/
>    0.0% sound/soc/ux500/
> 
> 
> _______________________________________________
> linaro-kernel mailing list
> linaro-kernel@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-kernel
> 


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-23 17:26       ` Arnd Bergmann
@ 2012-08-24 20:36         ` Tony Lindgren
  2012-08-30 19:04           ` Tony Lindgren
  2012-08-24 20:47         ` Russell King - ARM Linux
  1 sibling, 1 reply; 28+ messages in thread
From: Tony Lindgren @ 2012-08-24 20:36 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Russell King - ARM Linux, linaro-kernel, linux-kernel

* Arnd Bergmann <arnd@arndb.de> [120823 10:27]:
> On Thursday 23 August 2012, Arnd Bergmann wrote:
> > On Wednesday 22 August 2012, Russell King - ARM Linux wrote:
> > > In any case, what we should be doing here as well is moving the headers
> > > included by drivers for platform data out of the arch/arm/mach/ subtrees
> > > and into include/linux/platform_data.  That will substantially reduce the
> > > amount of mach/ headers to deal with.
> > 
> > I've just looked at the {mach,plat}/*.h files that get included in ARM
> > specific drivers. Out of the 342 header files that get used in this way,
> > I found 93 that are practically just platform data, and a few that
> > are platform_data mixed with something else.
> > 
> > How about I move all the pure platform data definition files now and
> > rebase the other patches on top of that. Here is a list of suggested
> > file names in include/linux/platform_data/:
> 
> I've just scripted this and am running my build testsuite over it now.
> 
> Please let me know what you think about it.
> 
> 	Arnd
> 
> The following changes since commit fea7a08acb13524b47711625eebea40a0ede69a0:
> 
>   Linux 3.6-rc3 (2012-08-22 13:29:06 -0700)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git 

I'd like to run some checks on this, but branch name missing here for
pulling a branch in for testing..
 
> for you to fetch changes up to 25296e032db173e8376123c2801cd233c9dc9b78:

..and -ENOSUCHCOMMIT after fetching in arm-soc tree.

Regards,

Tony

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-23 17:26       ` Arnd Bergmann
  2012-08-24 20:36         ` Tony Lindgren
@ 2012-08-24 20:47         ` Russell King - ARM Linux
  1 sibling, 0 replies; 28+ messages in thread
From: Russell King - ARM Linux @ 2012-08-24 20:47 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linaro-kernel, linux-kernel

On Thu, Aug 23, 2012 at 05:26:10PM +0000, Arnd Bergmann wrote:
> On Thursday 23 August 2012, Arnd Bergmann wrote:
> > On Wednesday 22 August 2012, Russell King - ARM Linux wrote:
> > > In any case, what we should be doing here as well is moving the headers
> > > included by drivers for platform data out of the arch/arm/mach/ subtrees
> > > and into include/linux/platform_data.  That will substantially reduce the
> > > amount of mach/ headers to deal with.
> > 
> > I've just looked at the {mach,plat}/*.h files that get included in ARM
> > specific drivers. Out of the 342 header files that get used in this way,
> > I found 93 that are practically just platform data, and a few that
> > are platform_data mixed with something else.
> > 
> > How about I move all the pure platform data definition files now and
> > rebase the other patches on top of that. Here is a list of suggested
> > file names in include/linux/platform_data/:
> 
> I've just scripted this and am running my build testsuite over it now.
> 
> Please let me know what you think about it.

This certainly looks like a step in the right direction, thanks for doing
this.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-23 11:35     ` Arnd Bergmann
  2012-08-23 12:37       ` Nicolas Ferre
  2012-08-23 17:26       ` Arnd Bergmann
@ 2012-08-24 20:52       ` Russell King - ARM Linux
  2 siblings, 0 replies; 28+ messages in thread
From: Russell King - ARM Linux @ 2012-08-24 20:52 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linaro-kernel, linux-kernel

On Thu, Aug 23, 2012 at 11:35:11AM +0000, Arnd Bergmann wrote:
> About two third of the platform header files included in device drivers
> are not related to platform_data according to what I found. Most of them
> are also wrong (hardcoding interrupt numbers or addresses, headers
> included by accident but not actually used, driver specific definitions
> that don't belong in the platform, platform specific abstraction layers,
> ...), but they tend to be harder to clean up.
> 
> I hope we can get there eventually, but I think the intermediate step
> of enforcing a mach-${MACH}/foo.h is a step in the right direction on
> that way.

I think the opposite: if a platform wishes to be part of the multiplatform
kernel, it must clean up its header files first to become part of that,
otherwise it will not be configured into such a kernel.

Otherwise there's no incentive for platform maintainers to do anything
other than sit around waiting for someone else to do it for them.
There's also no incentive to avoid introducing new dependencies between
drivers and mach/ include files in the future either.

Yes, some platforms are going to need a lot more work than others to get
them ready (such as the Samsung suite) but that doesn't mean that we
should work around that, especially when the end-goal is to get rid of
these platform dependencies between drivers and mach includes.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-22 13:01 ` [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes Arnd Bergmann
  2012-08-22 15:33   ` Nicolas Pitre
  2012-08-22 21:43   ` Russell King - ARM Linux
@ 2012-08-27 22:16   ` Haojian Zhuang
  2 siblings, 0 replies; 28+ messages in thread
From: Haojian Zhuang @ 2012-08-27 22:16 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arm-kernel, linux-kernel, linaro-kernel

On Wed, Aug 22, 2012 at 9:01 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> These are lots of device drivers that include machine
> specific header files from ARM platforms and that are
> not easily scriptable. The changes have been found through
> manual inspection and should cause no visible changes
> because of the build script that maps the old names to the
> new ones.
>
Here's the potential issues.

arch/arm/include/asm/irq.h:
#ifndef CONFIG_SPARSE_IRQ
#include <mach/irqs.h>
#else
#define NR_IRQS NR_IRQS_LEGACY
#endif

arch/arm/include/asm/io.h:
#ifdef CONFIG_NEED_MACH_IO_H
#include <mach/io.h>
#else
#define __io(a)         __typesafe_io((a) & IO_SPACE_LIMIT)
#endif


And you also need the code in below.

diff --git a/drivers/gpio/gpio-sa1100.c b/drivers/gpio/gpio-sa1100.c
index 8ea3b33..0258c06 100644
--- a/drivers/gpio/gpio-sa1100.c
+++ b/drivers/gpio/gpio-sa1100.c
@@ -11,8 +11,8 @@
 #include <linux/init.h>
 #include <linux/module.h>

-#include <mach/hardware.h>
-#include <mach/irqs.h>
+#include <mach-sa1100/hardware.h>
+#include <mach-sa1100/irqs.h>

 static int sa1100_gpio_get(struct gpio_chip *chip, unsigned offset)
 {
diff --git a/drivers/input/keyboard/pxa27x_keypad.c
b/drivers/input/keyboard/pxa27x_keypad.c
index b2e642a..d4b1e80 100644
--- a/drivers/input/keyboard/pxa27x_keypad.c
+++ b/drivers/input/keyboard/pxa27x_keypad.c
@@ -31,7 +31,14 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>

-#include <mach/hardware.h>
+#ifdef CONFIG_ARCH_PXA
+#include <mach-pxa/hardware.h>
+#endif
+
+#ifdef CONFIG_ARCH_MMP
+#include <mach-mmp/hardware.h>
+#endif
+
 #include <plat-pxa/pxa27x_keypad.h>
 /*
  * Keypad Controller registers
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index d6683b7..f83d5ce 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -23,7 +23,7 @@
 #include <linux/irq.h>
 #include <linux/slab.h>

-#include <mach/dma.h>
+#include <mach-pxa/dma.h>
 #include <plat-pxa/pxa3xx_nand.h>

 #define	CHIP_DELAY_TIMEOUT	(2 * HZ/10)
diff --git a/drivers/pcmcia/pxa2xx_sharpsl.c b/drivers/pcmcia/pxa2xx_sharpsl.c
index b066273..77264ba 100644
--- a/drivers/pcmcia/pxa2xx_sharpsl.c
+++ b/drivers/pcmcia/pxa2xx_sharpsl.c
@@ -19,9 +19,9 @@
 #include <linux/platform_device.h>

 #include <asm/mach-types.h>
-#include <mach/hardware.h>
 #include <asm/irq.h>
 #include <asm/hardware/scoop.h>
+#include <mach-pxa/hardware.h>

 #include "soc_common.h"

diff --git a/drivers/pcmcia/sa1111_generic.c b/drivers/pcmcia/sa1111_generic.c
index 70f728c..ebfd5eb 100644
--- a/drivers/pcmcia/sa1111_generic.c
+++ b/drivers/pcmcia/sa1111_generic.c
@@ -16,7 +16,7 @@

 #include <pcmcia/ss.h>

-#include <mach/hardware.h>
+#include <mach-sa1100/hardware.h>
 #include <asm/hardware/sa1111.h>
 #include <asm/irq.h>

diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
index 50a5c4a..812f39c 100644
--- a/drivers/rtc/rtc-sa1100.c
+++ b/drivers/rtc/rtc-sa1100.c
@@ -35,11 +35,21 @@
 #include <linux/bitops.h>
 #include <linux/io.h>

-#include <mach/hardware.h>
-#include <mach/irqs.h>
+#ifdef CONFIG_ARCH_MMP
+#include <mach-mmp/hardware.h>
+#include <mach-mmp/irqs.h>
+#include <mach-mmp/regs-rtc.h>
+#endif
+
+#ifdef CONFIG_ARCH_PXA
+#include <mach-pxa/hardware.h>
+#include <mach-pxa/irqs.h>
+#include <mach-pxa/regs-rtc.h>
+#endif

-#if defined(CONFIG_ARCH_PXA) || defined(CONFIG_ARCH_MMP)
-#include <mach/regs-rtc.h>
+#ifdef CONFIG_ARCH_SA1100
+#include <mach-sa1100/hardware.h>
+#include <mach-sa1100/irqs.h>
 #endif

 #define RTC_DEF_DIVIDER		(32768 - 1)
diff --git a/drivers/watchdog/sa1100_wdt.c b/drivers/watchdog/sa1100_wdt.c
index ccd6b29..3579d90 100644
--- a/drivers/watchdog/sa1100_wdt.c
+++ b/drivers/watchdog/sa1100_wdt.c
@@ -34,11 +34,15 @@
 #include <linux/timex.h>

 #ifdef CONFIG_ARCH_PXA
-#include <mach/regs-ost.h>
+#include <mach-pxa/regs-ost.h>
+#include <mach-pxa/reset.h>
+#include <mach-pxa/hardware.h>
 #endif

-#include <mach/reset.h>
-#include <mach/hardware.h>
+#ifdef CONFIG_ARCH_SA1100
+#include <mach-sa1100/reset.h>
+#include <mach-sa1100/hardware.h>
+#endif

 static unsigned long oscr_freq;
 static unsigned long sa1100wdt_users;

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-24 20:36         ` Tony Lindgren
@ 2012-08-30 19:04           ` Tony Lindgren
  2012-09-05  0:36             ` Tony Lindgren
  0 siblings, 1 reply; 28+ messages in thread
From: Tony Lindgren @ 2012-08-30 19:04 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Russell King - ARM Linux, linaro-kernel, linux-kernel

* Tony Lindgren <tony@atomide.com> [120824 13:37]:
> * Arnd Bergmann <arnd@arndb.de> [120823 10:27]:
> > On Thursday 23 August 2012, Arnd Bergmann wrote:
> > > On Wednesday 22 August 2012, Russell King - ARM Linux wrote:
> > > > In any case, what we should be doing here as well is moving the headers
> > > > included by drivers for platform data out of the arch/arm/mach/ subtrees
> > > > and into include/linux/platform_data.  That will substantially reduce the
> > > > amount of mach/ headers to deal with.
> > > 
> > > I've just looked at the {mach,plat}/*.h files that get included in ARM
> > > specific drivers. Out of the 342 header files that get used in this way,
> > > I found 93 that are practically just platform data, and a few that
> > > are platform_data mixed with something else.
> > > 
> > > How about I move all the pure platform data definition files now and
> > > rebase the other patches on top of that. Here is a list of suggested
> > > file names in include/linux/platform_data/:
> > 
> > I've just scripted this and am running my build testsuite over it now.
> > 
> > Please let me know what you think about it.
> > 
> > 	Arnd
> > 
> > The following changes since commit fea7a08acb13524b47711625eebea40a0ede69a0:
> > 
> >   Linux 3.6-rc3 (2012-08-22 13:29:06 -0700)
> > 
> > are available in the git repository at:
> > 
> >   git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git 
> 
> I'd like to run some checks on this, but branch name missing here for
> pulling a branch in for testing..

FYI, after talking with Arnd this is the testing/platform-data branch
in the arm soc tree. Seems to build and work fine on omaps:

Tested-by: Tony Lindgren <tony@atomide.com>

Arnd, can you please provide a stable branch to use as a base of
other related header changes?

Regards,

Tony

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes
  2012-08-30 19:04           ` Tony Lindgren
@ 2012-09-05  0:36             ` Tony Lindgren
  0 siblings, 0 replies; 28+ messages in thread
From: Tony Lindgren @ 2012-09-05  0:36 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Russell King - ARM Linux, linaro-kernel, linux-kernel

* Tony Lindgren <tony@atomide.com> [120830 12:05]:
> * Tony Lindgren <tony@atomide.com> [120824 13:37]:
> > * Arnd Bergmann <arnd@arndb.de> [120823 10:27]:
> > > On Thursday 23 August 2012, Arnd Bergmann wrote:
> > > > On Wednesday 22 August 2012, Russell King - ARM Linux wrote:
> > > > > In any case, what we should be doing here as well is moving the headers
> > > > > included by drivers for platform data out of the arch/arm/mach/ subtrees
> > > > > and into include/linux/platform_data.  That will substantially reduce the
> > > > > amount of mach/ headers to deal with.
> > > > 
> > > > I've just looked at the {mach,plat}/*.h files that get included in ARM
> > > > specific drivers. Out of the 342 header files that get used in this way,
> > > > I found 93 that are practically just platform data, and a few that
> > > > are platform_data mixed with something else.
> > > > 
> > > > How about I move all the pure platform data definition files now and
> > > > rebase the other patches on top of that. Here is a list of suggested
> > > > file names in include/linux/platform_data/:
> > > 
> > > I've just scripted this and am running my build testsuite over it now.
> > > 
> > > Please let me know what you think about it.
> > > 
> > > 	Arnd
> > > 
> > > The following changes since commit fea7a08acb13524b47711625eebea40a0ede69a0:
> > > 
> > >   Linux 3.6-rc3 (2012-08-22 13:29:06 -0700)
> > > 
> > > are available in the git repository at:
> > > 
> > >   git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git 
> > 
> > I'd like to run some checks on this, but branch name missing here for
> > pulling a branch in for testing..
> 
> FYI, after talking with Arnd this is the testing/platform-data branch
> in the arm soc tree. Seems to build and work fine on omaps:
> 
> Tested-by: Tony Lindgren <tony@atomide.com>
> 
> Arnd, can you please provide a stable branch to use as a base of
> other related header changes?

Actually it's probably best if I just take your commit 0c6f1498
(ARM: omap: move platform_data definitions) into my cleanup branch
to avoid the dependency of getting acks from all the subarch
maintainers.

That's because I want to base more things on this patch that will
cause merge conflicts otherwise.

Also, Peter Ujfalusi wanted to change the dsp-mcbsp.h name to
ti-mcbsp.h. I can post the updated patch assuming hat's OK with
you Arnd?

Regards,

Tony

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2012-09-05  0:36 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-22 12:53 [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
2012-08-22 12:54 ` [PATCH 1/4] [RFC] ARM: autogenerate mach-foo/* and plat-foo/* header redirects Arnd Bergmann
2012-08-22 15:24   ` Nicolas Pitre
2012-08-24 13:44   ` Rob Herring
2012-08-22 12:56 ` [PATCH 2/4] [RFC] ARM: mass move of mach-*/plat-* header files Arnd Bergmann
2012-08-22 15:28   ` Nicolas Pitre
2012-08-22 15:37     ` Arnd Bergmann
2012-08-22 13:00 ` [PATCH 3/4] [RFC] ARM: multiplatform: rename all mach headers Arnd Bergmann
2012-08-22 15:31   ` Nicolas Pitre
2012-08-22 13:01 ` [PATCH 4/4] [RFC] ARM: treewide: manually change more mach-*/*.h includes Arnd Bergmann
2012-08-22 15:33   ` Nicolas Pitre
2012-08-22 21:43   ` Russell King - ARM Linux
2012-08-23 11:35     ` Arnd Bergmann
2012-08-23 12:37       ` Nicolas Ferre
2012-08-23 13:31         ` Arnd Bergmann
2012-08-23 17:26       ` Arnd Bergmann
2012-08-24 20:36         ` Tony Lindgren
2012-08-30 19:04           ` Tony Lindgren
2012-09-05  0:36             ` Tony Lindgren
2012-08-24 20:47         ` Russell King - ARM Linux
2012-08-24 20:52       ` Russell King - ARM Linux
2012-08-27 22:16   ` Haojian Zhuang
2012-08-22 15:23 ` [PATCH 0/4] [RFC] ARM: multiplatform: rename all mach headers Nicolas Pitre
2012-08-22 15:31   ` Arnd Bergmann
2012-08-22 19:44 ` Stephen Warren
2012-08-22 20:04   ` Arnd Bergmann
2012-08-24 13:19 ` Shawn Guo
2012-08-24 13:55 ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).