[PATCH 00/15] arch/arm/mach-* late_initcall cleanup
Shawn Guo
shawn.guo at linaro.org
Wed May 2 07:33:25 EDT 2012
This series tries to clean up those late_initcall in arch/arm/mach-*,
which will be a blocker for single kernel build for multiple platforms.
Even on single platform, for example imx, where we already have single
kernel image for imx3, imx5 and imx6 families, late_initcall does not
scale. We have to detect soc type in the late_initcall to do soc
sepcific late initialization.
Changes since v1:
* Drop the changes on some files that to be removed per platform
maintainers' request.
* Drop at91 patch
* Add one missing ep93xx board file (Thanks to Hartley)
* Add back one lost bit for imx (Thanks to Sascha)
Shawn Guo (15):
ARM: provide a late_initcall hook for platform initialization
ARM: davinci: use machine specific hook for late init
ARM: ep93xx: use machine specific hook for late init
ARM: exynos: use machine specific hook for late init
ARM: imx: use machine specific hook for late init
ARM: msm: use machine specific hook for late init
ARM: omap1: use machine specific hook for late init
ARM: omap2: use machine specific hook for late init
ARM: pnx4008: use machine specific hook for late init
ARM: prima2: use machine specific hook for late init
ARM: s3c64xx: use machine specific hook for late init
ARM: sa1100: use machine specific hook for late init
ARM: shmobile: use machine specific hook for late init
ARM: tegra: use machine specific hook for late init
ARM: ux500: use machine specific hook for late init
arch/arm/include/asm/mach/arch.h | 1 +
arch/arm/kernel/setup.c | 8 +++
arch/arm/mach-davinci/board-da830-evm.c | 1 +
arch/arm/mach-davinci/board-da850-evm.c | 1 +
arch/arm/mach-davinci/board-dm355-evm.c | 1 +
arch/arm/mach-davinci/board-dm355-leopard.c | 1 +
arch/arm/mach-davinci/board-dm365-evm.c | 1 +
arch/arm/mach-davinci/board-dm644x-evm.c | 1 +
arch/arm/mach-davinci/board-dm646x-evm.c | 1 +
arch/arm/mach-davinci/board-mityomapl138.c | 1 +
arch/arm/mach-davinci/board-neuros-osd2.c | 1 +
arch/arm/mach-davinci/board-omapl138-hawk.c | 1 +
arch/arm/mach-davinci/board-sffsdr.c | 1 +
arch/arm/mach-davinci/board-tnetv107x-evm.c | 1 +
arch/arm/mach-davinci/clock.c | 3 +-
arch/arm/mach-davinci/common.c | 7 +++
arch/arm/mach-davinci/cpufreq.c | 3 +-
arch/arm/mach-davinci/include/mach/common.h | 19 ++++++++
arch/arm/mach-davinci/pm.c | 3 +-
arch/arm/mach-ep93xx/adssphere.c | 1 +
arch/arm/mach-ep93xx/core.c | 5 ++
arch/arm/mach-ep93xx/crunch.c | 4 +-
arch/arm/mach-ep93xx/edb93xx.c | 8 +++
arch/arm/mach-ep93xx/gesbc9312.c | 1 +
arch/arm/mach-ep93xx/include/mach/platform.h | 7 +++
arch/arm/mach-ep93xx/micro9.c | 4 ++
arch/arm/mach-ep93xx/simone.c | 1 +
arch/arm/mach-ep93xx/snappercl15.c | 1 +
arch/arm/mach-ep93xx/ts72xx.c | 1 +
arch/arm/mach-ep93xx/vision_ep9307.c | 1 +
arch/arm/mach-exynos/common.c | 5 ++
arch/arm/mach-exynos/common.h | 7 +++
arch/arm/mach-exynos/mach-armlex4210.c | 1 +
arch/arm/mach-exynos/mach-exynos4-dt.c | 1 +
arch/arm/mach-exynos/mach-exynos5-dt.c | 1 +
arch/arm/mach-exynos/mach-nuri.c | 1 +
arch/arm/mach-exynos/mach-origen.c | 1 +
arch/arm/mach-exynos/mach-smdk4x12.c | 1 +
arch/arm/mach-exynos/mach-smdkv310.c | 1 +
arch/arm/mach-exynos/mach-universal_c210.c | 1 +
arch/arm/mach-exynos/pm_domains.c | 3 +-
arch/arm/mach-imx/cpu-imx5.c | 6 +--
arch/arm/mach-imx/imx51-dt.c | 1 +
arch/arm/mach-imx/mach-cpuimx51.c | 1 +
arch/arm/mach-imx/mach-cpuimx51sd.c | 1 +
arch/arm/mach-imx/mach-mx51_3ds.c | 1 +
arch/arm/mach-imx/mach-mx51_babbage.c | 1 +
arch/arm/mach-imx/mach-mx51_efikamx.c | 42 +++++++++--------
arch/arm/mach-imx/mach-mx51_efikasb.c | 28 +++++++-----
arch/arm/mach-imx/mach-pcm037.c | 6 +++
arch/arm/mach-imx/mach-pcm037_eet.c | 5 +-
arch/arm/mach-imx/mm-imx5.c | 5 ++
arch/arm/mach-imx/pcm037.h | 6 +++
arch/arm/mach-msm/board-halibut.c | 6 +++
arch/arm/mach-msm/board-mahimahi.c | 6 +++
arch/arm/mach-msm/board-msm7x27.c | 9 ++++
arch/arm/mach-msm/board-msm7x30.c | 8 +++
arch/arm/mach-msm/board-msm8960.c | 7 +++
arch/arm/mach-msm/board-msm8x60.c | 10 ++++
arch/arm/mach-msm/board-qsd8x50.c | 7 +++
arch/arm/mach-msm/board-sapphire.c | 6 +++
arch/arm/mach-msm/board-trout.c | 6 +++
arch/arm/mach-msm/include/mach/board.h | 6 +++
arch/arm/mach-msm/smd_debug.c | 3 +-
arch/arm/mach-omap1/board-ams-delta.c | 8 +++-
arch/arm/mach-omap1/board-fsample.c | 1 +
arch/arm/mach-omap1/board-generic.c | 1 +
arch/arm/mach-omap1/board-h2.c | 1 +
arch/arm/mach-omap1/board-h3.c | 1 +
arch/arm/mach-omap1/board-htcherald.c | 1 +
arch/arm/mach-omap1/board-innovator.c | 1 +
arch/arm/mach-omap1/board-nokia770.c | 1 +
arch/arm/mach-omap1/board-osk.c | 1 +
arch/arm/mach-omap1/board-palmte.c | 1 +
arch/arm/mach-omap1/board-palmtt.c | 1 +
arch/arm/mach-omap1/board-palmz71.c | 1 +
arch/arm/mach-omap1/board-perseus2.c | 1 +
arch/arm/mach-omap1/board-sx1.c | 1 +
arch/arm/mach-omap1/board-voiceblue.c | 1 +
arch/arm/mach-omap1/common.h | 10 ++++
arch/arm/mach-omap1/io.c | 5 ++
arch/arm/mach-omap1/serial.c | 3 +-
arch/arm/mach-omap2/board-2430sdp.c | 1 +
arch/arm/mach-omap2/board-3430sdp.c | 1 +
arch/arm/mach-omap2/board-3630sdp.c | 1 +
arch/arm/mach-omap2/board-4430sdp.c | 1 +
arch/arm/mach-omap2/board-am3517crane.c | 1 +
arch/arm/mach-omap2/board-am3517evm.c | 1 +
arch/arm/mach-omap2/board-apollon.c | 1 +
arch/arm/mach-omap2/board-cm-t35.c | 2 +
arch/arm/mach-omap2/board-cm-t3517.c | 1 +
arch/arm/mach-omap2/board-devkit8000.c | 1 +
arch/arm/mach-omap2/board-generic.c | 1 +
arch/arm/mach-omap2/board-h4.c | 1 +
arch/arm/mach-omap2/board-igep0020.c | 2 +
arch/arm/mach-omap2/board-ldp.c | 1 +
arch/arm/mach-omap2/board-n8x0.c | 3 +
arch/arm/mach-omap2/board-omap3beagle.c | 1 +
arch/arm/mach-omap2/board-omap3evm.c | 1 +
arch/arm/mach-omap2/board-omap3logic.c | 2 +
arch/arm/mach-omap2/board-omap3pandora.c | 1 +
arch/arm/mach-omap2/board-omap3stalker.c | 1 +
arch/arm/mach-omap2/board-omap3touchbook.c | 1 +
arch/arm/mach-omap2/board-omap4panda.c | 1 +
arch/arm/mach-omap2/board-overo.c | 1 +
arch/arm/mach-omap2/board-rm680.c | 2 +
arch/arm/mach-omap2/board-rx51.c | 1 +
arch/arm/mach-omap2/board-ti8168evm.c | 2 +
arch/arm/mach-omap2/board-zoom.c | 2 +
arch/arm/mach-omap2/common.h | 47 +++++++++++++++++++
arch/arm/mach-omap2/io.c | 63 ++++++++++++++++++++++++++
arch/arm/mach-omap2/mux.c | 3 +-
arch/arm/mach-omap2/pm.c | 3 +-
arch/arm/mach-omap2/pm24xx.c | 17 ++-----
arch/arm/mach-omap2/pm34xx.c | 7 +---
arch/arm/mach-omap2/pm44xx.c | 6 +--
arch/arm/mach-pnx4008/core.c | 12 +++++
arch/arm/mach-pnx4008/pm.c | 4 +-
arch/arm/mach-prima2/common.h | 6 +++
arch/arm/mach-prima2/pm.c | 3 +-
arch/arm/mach-prima2/prima2.c | 6 +++
arch/arm/mach-s3c64xx/common.c | 5 ++
arch/arm/mach-s3c64xx/common.h | 7 +++
arch/arm/mach-s3c64xx/mach-anw6410.c | 1 +
arch/arm/mach-s3c64xx/mach-crag6410.c | 1 +
arch/arm/mach-s3c64xx/mach-hmt.c | 1 +
arch/arm/mach-s3c64xx/mach-mini6410.c | 1 +
arch/arm/mach-s3c64xx/mach-ncp.c | 1 +
arch/arm/mach-s3c64xx/mach-real6410.c | 1 +
arch/arm/mach-s3c64xx/mach-smartq5.c | 1 +
arch/arm/mach-s3c64xx/mach-smartq7.c | 1 +
arch/arm/mach-s3c64xx/mach-smdk6400.c | 1 +
arch/arm/mach-s3c64xx/mach-smdk6410.c | 1 +
arch/arm/mach-s3c64xx/pm.c | 3 +-
arch/arm/mach-sa1100/assabet.c | 1 +
arch/arm/mach-sa1100/badge4.c | 1 +
arch/arm/mach-sa1100/cerf.c | 1 +
arch/arm/mach-sa1100/collie.c | 1 +
arch/arm/mach-sa1100/generic.c | 4 ++
arch/arm/mach-sa1100/generic.h | 7 +++
arch/arm/mach-sa1100/h3100.c | 1 +
arch/arm/mach-sa1100/h3600.c | 1 +
arch/arm/mach-sa1100/hackkit.c | 1 +
arch/arm/mach-sa1100/jornada720.c | 1 +
arch/arm/mach-sa1100/lart.c | 1 +
arch/arm/mach-sa1100/nanoengine.c | 1 +
arch/arm/mach-sa1100/pleb.c | 1 +
arch/arm/mach-sa1100/pm.c | 4 +-
arch/arm/mach-sa1100/shannon.c | 1 +
arch/arm/mach-sa1100/simpad.c | 1 +
arch/arm/mach-shmobile/Makefile | 2 +-
arch/arm/mach-shmobile/board-ag5evm.c | 1 +
arch/arm/mach-shmobile/board-ap4evb.c | 1 +
arch/arm/mach-shmobile/board-bonito.c | 1 +
arch/arm/mach-shmobile/board-g3evm.c | 1 +
arch/arm/mach-shmobile/board-g4evm.c | 1 +
arch/arm/mach-shmobile/board-kota2.c | 1 +
arch/arm/mach-shmobile/board-mackerel.c | 1 +
arch/arm/mach-shmobile/board-marzen.c | 1 +
arch/arm/mach-shmobile/common.c | 24 ++++++++++
arch/arm/mach-shmobile/cpuidle.c | 3 +-
arch/arm/mach-shmobile/include/mach/common.h | 14 ++++++
arch/arm/mach-shmobile/suspend.c | 3 +-
arch/arm/mach-tegra/board-dt-tegra20.c | 1 +
arch/arm/mach-tegra/board-dt-tegra30.c | 1 +
arch/arm/mach-tegra/board-harmony.c | 1 +
arch/arm/mach-tegra/board-paz00.c | 1 +
arch/arm/mach-tegra/board-seaboard.c | 3 +
arch/arm/mach-tegra/board-trimslice.c | 1 +
arch/arm/mach-tegra/board.h | 14 ++++++
arch/arm/mach-tegra/clock.c | 3 +-
arch/arm/mach-tegra/common.c | 6 +++
arch/arm/mach-tegra/powergate.c | 4 +-
arch/arm/mach-ux500/board-mop500.c | 4 ++
arch/arm/mach-ux500/clock.c | 6 +--
arch/arm/mach-ux500/clock.h | 12 +++++
arch/arm/mach-ux500/cpu.c | 6 +++
arch/arm/mach-ux500/include/mach/setup.h | 1 +
arch/arm/plat-mxc/include/mach/common.h | 7 +++
179 files changed, 614 insertions(+), 106 deletions(-)
create mode 100644 arch/arm/mach-shmobile/common.c
--
1.7.5.4
More information about the linux-arm-kernel
mailing list