[PATCH 0/19] removal of mach/vmalloc.h and generic optimizations
Nicolas Pitre
nico at fluxnic.net
Fri Sep 16 03:07:11 EDT 2011
This patch series removes all instances of mach/vmalloc.h in order to
have a more unified memory map across all ARM architectures. To do so,
the static mappings are moved inside the vmalloc area. And finally this
allows for a generic optimization to ioremap where static mappings are
reused whenever possible, using common code instead of having this
duplicated in a couple places.
This also provides a net reduction of more than 1200 lines of code.
Those patches are also available in the following repository:
git://git.linaro.org/people/nico/linux vmalloc
Nicolas Pitre (19):
ARM: sort the meminfo array earlier
ARM: mach-dove: remove inclusion of <mach/vmalloc.h>
ARM: mach-prima2: don't define SIRFSOC_VA in terms of VMALLOC_END
ARM: plat-mxc: remove inclusion of <mach/vmalloc.h>
ARM: plat-omap: don't define OMAP1_SRAM_VA in terms of VMALLOC_END
ARM: mach-at91: remove arch specific special handling for ioremap
ARM: mach-davinci: remove arch specific special handling for ioremap
ARM: mach-tegra: remove arch specific special handling for ioremap
ARM: plat-omap: remove arch specific special handling for ioremap
ARM: mach-bcmring: use proper constant to identify DMA memory area
ARM: mach-orion5x: remove arch specific special handling for ioremap
ARM: mach-kirkwood: remove arch specific special handling for ioremap
ARM: mach-ixp23xx: remove arch specific special handling for ioremap
ARM: plat-iop: remove arch specific special handling for ioremap
mm: add vm_area_add_early()
ARM: move iotable mappings within the vmalloc region
ARM: simplify __iounmap() when dealing with section based mapping
ARM: add generic ioremap optimization by reusing static mappings
ARM: big removal of now unused vmalloc.h files
arch/arm/include/asm/pgtable.h | 8 +-
arch/arm/kernel/setup.c | 8 +
arch/arm/mach-at91/include/mach/io.h | 8 -
arch/arm/mach-at91/include/mach/vmalloc.h | 26 ---
arch/arm/mach-at91/setup.c | 18 --
arch/arm/mach-bcmring/dma.c | 2 +-
arch/arm/mach-bcmring/include/mach/vmalloc.h | 25 ---
arch/arm/mach-clps711x/include/mach/vmalloc.h | 20 ---
arch/arm/mach-cns3xxx/include/mach/vmalloc.h | 11 --
arch/arm/mach-davinci/Makefile | 2 +-
arch/arm/mach-davinci/include/mach/io.h | 8 -
arch/arm/mach-davinci/include/mach/vmalloc.h | 14 --
arch/arm/mach-davinci/io.c | 48 ------
arch/arm/mach-dove/include/mach/dove.h | 2 -
arch/arm/mach-dove/include/mach/vmalloc.h | 5 -
arch/arm/mach-ebsa110/include/mach/vmalloc.h | 10 --
arch/arm/mach-ep93xx/include/mach/vmalloc.h | 5 -
arch/arm/mach-exynos4/include/mach/vmalloc.h | 22 ---
arch/arm/mach-footbridge/include/mach/vmalloc.h | 10 --
arch/arm/mach-gemini/include/mach/vmalloc.h | 10 --
arch/arm/mach-h720x/include/mach/vmalloc.h | 10 --
arch/arm/mach-integrator/include/mach/vmalloc.h | 20 ---
arch/arm/mach-iop13xx/include/mach/vmalloc.h | 4 -
arch/arm/mach-iop32x/include/mach/io.h | 7 -
arch/arm/mach-iop32x/include/mach/vmalloc.h | 5 -
arch/arm/mach-iop33x/include/mach/io.h | 7 -
arch/arm/mach-iop33x/include/mach/vmalloc.h | 5 -
arch/arm/mach-ixp2000/include/mach/vmalloc.h | 20 ---
arch/arm/mach-ixp23xx/include/mach/io.h | 29 ----
arch/arm/mach-ixp23xx/include/mach/vmalloc.h | 10 --
arch/arm/mach-ixp4xx/include/mach/vmalloc.h | 5 -
arch/arm/mach-kirkwood/include/mach/io.h | 25 ---
arch/arm/mach-kirkwood/include/mach/vmalloc.h | 5 -
arch/arm/mach-ks8695/include/mach/vmalloc.h | 19 ---
arch/arm/mach-lpc32xx/include/mach/vmalloc.h | 24 ---
arch/arm/mach-mmp/include/mach/vmalloc.h | 5 -
arch/arm/mach-msm/include/mach/vmalloc.h | 22 ---
arch/arm/mach-mv78xx0/include/mach/vmalloc.h | 5 -
arch/arm/mach-mxs/include/mach/vmalloc.h | 22 ---
arch/arm/mach-netx/include/mach/vmalloc.h | 19 ---
arch/arm/mach-nomadik/include/mach/vmalloc.h | 2 -
arch/arm/mach-nuc93x/include/mach/vmalloc.h | 23 ---
arch/arm/mach-omap1/include/mach/vmalloc.h | 20 ---
arch/arm/mach-omap2/include/mach/vmalloc.h | 20 ---
arch/arm/mach-orion5x/include/mach/io.h | 25 ---
arch/arm/mach-orion5x/include/mach/vmalloc.h | 5 -
arch/arm/mach-pnx4008/include/mach/vmalloc.h | 20 ---
arch/arm/mach-prima2/include/mach/map.h | 6 +-
arch/arm/mach-prima2/include/mach/vmalloc.h | 16 --
arch/arm/mach-pxa/include/mach/vmalloc.h | 11 --
arch/arm/mach-realview/include/mach/vmalloc.h | 21 ---
arch/arm/mach-rpc/include/mach/vmalloc.h | 10 --
arch/arm/mach-s3c2410/include/mach/vmalloc.h | 20 ---
arch/arm/mach-s3c64xx/include/mach/vmalloc.h | 20 ---
arch/arm/mach-s5p64x0/include/mach/vmalloc.h | 20 ---
arch/arm/mach-s5pc100/include/mach/vmalloc.h | 17 --
arch/arm/mach-s5pv210/include/mach/vmalloc.h | 22 ---
arch/arm/mach-sa1100/include/mach/vmalloc.h | 4 -
arch/arm/mach-shark/include/mach/vmalloc.h | 4 -
arch/arm/mach-shmobile/include/mach/vmalloc.h | 7 -
arch/arm/mach-spear3xx/include/mach/vmalloc.h | 19 ---
arch/arm/mach-spear6xx/include/mach/vmalloc.h | 19 ---
arch/arm/mach-tegra/include/mach/io.h | 6 -
arch/arm/mach-tegra/include/mach/vmalloc.h | 28 ----
arch/arm/mach-tegra/io.c | 21 ---
arch/arm/mach-u300/include/mach/vmalloc.h | 12 --
arch/arm/mach-ux500/include/mach/vmalloc.h | 18 --
arch/arm/mach-versatile/include/mach/vmalloc.h | 21 ---
arch/arm/mach-vexpress/include/mach/vmalloc.h | 21 ---
arch/arm/mach-vt8500/include/mach/vmalloc.h | 20 ---
arch/arm/mach-w90x900/include/mach/vmalloc.h | 23 ---
arch/arm/mach-zynq/include/mach/vmalloc.h | 20 ---
arch/arm/mm/init.c | 10 --
arch/arm/mm/ioremap.c | 70 ++++++---
arch/arm/mm/mm.h | 14 ++
arch/arm/mm/mmu.c | 43 ++++--
arch/arm/plat-iop/Makefile | 2 -
arch/arm/plat-iop/io.c | 59 -------
arch/arm/plat-mxc/include/mach/mx1.h | 2 -
arch/arm/plat-mxc/include/mach/vmalloc.h | 22 ---
arch/arm/plat-omap/Makefile | 2 +-
arch/arm/plat-omap/include/plat/io.h | 6 -
arch/arm/plat-omap/io.c | 141 -----------------
arch/arm/plat-omap/sram.c | 2 +-
arch/arm/plat-spear/include/plat/vmalloc.h | 19 ---
arch/arm/plat-tcc/include/mach/vmalloc.h | 10 --
include/linux/vmalloc.h | 1 +
mm/vmalloc.c | 28 +++-
88 files changed, 136 insertions(+), 1346 deletions(-)
More information about the linux-arm-kernel
mailing list