linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 07/17] ARM: kirkwood: use machine specific hook for late init
@ 2012-04-26 19:36 Andrew Lunn
  2012-04-27 12:33 ` Shawn Guo
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Lunn @ 2012-04-26 19:36 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Shawn

You can probably drop this patch. The move to common clock framework
removes late_initcall(kirkwood_clock_gate). The common clock framework
late init call is used instead to turn off all clocks which are no
longer in use.

Take a look at:

https://lunn at github.com/lunn/orion-clk.git branch v3.4-rc4-clk-orion

I also have a version rebased on Mike clk-next tree, but i'm waiting
for the discussion about what clk-next should be based on, before
you again rebasing and posting my patches.

	Andrew

^ permalink raw reply	[flat|nested] 3+ messages in thread
* [PATCH 00/17] arch/arm/mach-* late_initcall cleanup
@ 2012-04-26 15:38 Shawn Guo
  2012-04-26 15:38 ` [PATCH 07/17] ARM: kirkwood: use machine specific hook for late init Shawn Guo
  0 siblings, 1 reply; 3+ messages in thread
From: Shawn Guo @ 2012-04-26 15:38 UTC (permalink / raw)
  To: linux-arm-kernel

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.

The first patch provides a machine specific late_initcall time hook,
and the rest of the series converts the existing late_initcall in
arch/arm/mach-* to use that hook.  It touches a lot of board files,
which makes me image how the world would be beatiful if some day all
these great number of board files get killed by DT support.

With this series, there are still a couple of late_initcall remaining
in arch/arm/mach-*, but those are used to register platform driver,
which are not the case concerning us here.

Regards,
Shawn

---
Shawn Guo (17):
      ARM: provide a late_initcall hook for platform initialization
      ARM: at91: use machine specific hook for late init
      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: kirkwood: 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-at91/board-1arm.c                |    1 +
 arch/arm/mach-at91/board-afeb-9260v1.c         |    1 +
 arch/arm/mach-at91/board-cam60.c               |    1 +
 arch/arm/mach-at91/board-carmeva.c             |    1 +
 arch/arm/mach-at91/board-cpu9krea.c            |    1 +
 arch/arm/mach-at91/board-cpuat91.c             |    1 +
 arch/arm/mach-at91/board-csb337.c              |    1 +
 arch/arm/mach-at91/board-csb637.c              |    1 +
 arch/arm/mach-at91/board-dt.c                  |    1 +
 arch/arm/mach-at91/board-eb01.c                |    1 +
 arch/arm/mach-at91/board-eb9200.c              |    1 +
 arch/arm/mach-at91/board-ecbat91.c             |    1 +
 arch/arm/mach-at91/board-eco920.c              |    1 +
 arch/arm/mach-at91/board-flexibity.c           |    1 +
 arch/arm/mach-at91/board-foxg20.c              |    1 +
 arch/arm/mach-at91/board-gsia18s.c             |    1 +
 arch/arm/mach-at91/board-kafa.c                |    1 +
 arch/arm/mach-at91/board-kb9202.c              |    1 +
 arch/arm/mach-at91/board-neocore926.c          |    1 +
 arch/arm/mach-at91/board-pcontrol-g20.c        |    1 +
 arch/arm/mach-at91/board-picotux200.c          |    1 +
 arch/arm/mach-at91/board-qil-a9260.c           |    1 +
 arch/arm/mach-at91/board-rm9200dk.c            |    1 +
 arch/arm/mach-at91/board-rm9200ek.c            |    1 +
 arch/arm/mach-at91/board-rsi-ews.c             |    1 +
 arch/arm/mach-at91/board-sam9-l9260.c          |    1 +
 arch/arm/mach-at91/board-sam9260ek.c           |    1 +
 arch/arm/mach-at91/board-sam9261ek.c           |    1 +
 arch/arm/mach-at91/board-sam9263ek.c           |    1 +
 arch/arm/mach-at91/board-sam9g20ek.c           |    1 +
 arch/arm/mach-at91/board-sam9m10g45ek.c        |    1 +
 arch/arm/mach-at91/board-sam9rlek.c            |    1 +
 arch/arm/mach-at91/board-snapper9260.c         |    1 +
 arch/arm/mach-at91/board-stamp9g20.c           |    1 +
 arch/arm/mach-at91/board-usb-a926x.c           |    1 +
 arch/arm/mach-at91/board-yl-9200.c             |    1 +
 arch/arm/mach-at91/clock.c                     |    3 +-
 arch/arm/mach-at91/generic.h                   |    5 ++
 arch/arm/mach-at91/setup.c                     |    5 ++
 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/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            |    6 +--
 arch/arm/mach-imx/mm-imx5.c                    |    5 ++
 arch/arm/mach-imx/pcm037.h                     |    6 ++
 arch/arm/mach-kirkwood/board-dt.c              |    1 +
 arch/arm/mach-kirkwood/common.c                |    6 ++-
 arch/arm/mach-kirkwood/common.h                |    1 +
 arch/arm/mach-kirkwood/d2net_v2-setup.c        |    1 +
 arch/arm/mach-kirkwood/db88f6281-bp-setup.c    |    1 +
 arch/arm/mach-kirkwood/dockstar-setup.c        |    1 +
 arch/arm/mach-kirkwood/guruplug-setup.c        |    1 +
 arch/arm/mach-kirkwood/mv88f6281gtw_ge-setup.c |    1 +
 arch/arm/mach-kirkwood/netspace_v2-setup.c     |    3 +
 arch/arm/mach-kirkwood/netxbig_v2-setup.c      |    2 +
 arch/arm/mach-kirkwood/openrd-setup.c          |    3 +
 arch/arm/mach-kirkwood/rd88f6192-nas-setup.c   |    1 +
 arch/arm/mach-kirkwood/rd88f6281-setup.c       |    1 +
 arch/arm/mach-kirkwood/sheevaplug-setup.c      |    2 +
 arch/arm/mach-kirkwood/t5325-setup.c           |    1 +
 arch/arm/mach-kirkwood/ts219-setup.c           |    1 +
 arch/arm/mach-kirkwood/ts41x-setup.c           |    1 +
 arch/arm/mach-msm/board-halibut.c              |    7 +++
 arch/arm/mach-msm/board-mahimahi.c             |    7 +++
 arch/arm/mach-msm/board-msm7x27.c              |   10 ++++
 arch/arm/mach-msm/board-msm7x30.c              |    9 +++
 arch/arm/mach-msm/board-msm8960.c              |    8 +++
 arch/arm/mach-msm/board-msm8x60.c              |   11 ++++
 arch/arm/mach-msm/board-qsd8x50.c              |    8 +++
 arch/arm/mach-msm/board-sapphire.c             |    7 +++
 arch/arm/mach-msm/board-trout.c                |    7 +++
 arch/arm/mach-msm/clock.c                      |    4 +-
 arch/arm/mach-msm/include/mach/board.h         |    7 +++
 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                    |   16 ++++++
 arch/arm/mach-tegra/clock.c                    |    3 +-
 arch/arm/mach-tegra/common.c                   |    7 +++
 arch/arm/mach-tegra/pinmux.c                   |    3 +-
 arch/arm/mach-tegra/powergate.c                |    4 +-
 arch/arm/mach-ux500/board-mop500.c             |    4 ++
 arch/arm/mach-ux500/board-u5500.c              |    1 +
 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 +++
 237 files changed, 695 insertions(+), 116 deletions(-)

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

end of thread, other threads:[~2012-04-27 12:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-26 19:36 [PATCH 07/17] ARM: kirkwood: use machine specific hook for late init Andrew Lunn
2012-04-27 12:33 ` Shawn Guo
  -- strict thread matches above, loose matches on Subject: below --
2012-04-26 15:38 [PATCH 00/17] arch/arm/mach-* late_initcall cleanup Shawn Guo
2012-04-26 15:38 ` [PATCH 07/17] ARM: kirkwood: use machine specific hook for late init Shawn Guo

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).