linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 00/17] ARM: provide common arch init for DT clocks
@ 2013-08-20  2:04 Sebastian Hesselbarth
  2013-08-20  2:04 ` [RFC 01/17] clk: ensure __clk_of_table is only initialized once Sebastian Hesselbarth
                   ` (33 more replies)
  0 siblings, 34 replies; 118+ messages in thread
From: Sebastian Hesselbarth @ 2013-08-20  2:04 UTC (permalink / raw)
  To: Sebastian Hesselbarth
  Cc: Mike Turquette, Russell King, Arnd Bergmann, linux-arm-kernel,
	linux-kernel

This RFC converts arch/arm to provide a common arch init for DT clock
providers. Currently, the call to of_clk_init(NULL) to initialize DT
clock providers is spread among several mach-dirs. Since most machs
require DT clocks initialized before timers, no initcall can be used.

By adding of_clk_init(NULL) to ARM time_init(), we can remove all
mach-specific .init_time hooks that basically called of_clk_init before
starting timers. Some machs use the hook for more initialization, that
has been moved to other hooks where required.

The only exception is mach-tegra which requires clocks even earlier in
.init_irq. To allow machs to call clk_of_init at any time earlier than
time_init(), we first need to ensure drivers in __clk_of_table are only
initialized once.

The RFC is based on next-20130819 to catch up with future clock related
changes. It has been tested on mach-mvebu and compile tested for all the
other machs modified. All single patches have also been sent to the
respective maintainers.

Although some patches also modify files in mach-foo and drivers/clk, I
decided to keep them in a single patch to also show what would be
required for a common arch clock init.

Sebastian Hesselbarth (17):
  clk: ensure __clk_of_table is only initialized once
  ARM: call clk_of_init from time_init
  ARM: dove: remove custom .init_time hook
  ARM: exynos: remove custom .init_time hook
  ARM: highbank: remove custom .init_time hook
  ARM: imx: remove custom .init_time hook
  ARM: kirkwood: remove custom .init_time hook
  ARM: mvebu: remove custom .init_time hook
  ARM: mxs: remove custom .init_time hook
  ARM: nspire: remove custom .init_time hook
  ARM: rockchip: remove custom .init_time hook
  ARM: socfpga: remove custom .init_time hook
  ARM: sti: remove custom .init_time hook
  ARM: tegra: remove .init_time hook to clocksource_of_init
  ARM: vexpress: remove custom .init_time hook
  clk: vt8500: remove call to of_clk_init
  clk: zynq: remove call to of_clk_init

 arch/arm/kernel/time.c                   |    4 ++++
 arch/arm/mach-dove/board-dt.c            |   16 +---------------
 arch/arm/mach-exynos/common.c            |    7 -------
 arch/arm/mach-exynos/common.h            |    1 -
 arch/arm/mach-exynos/mach-exynos4-dt.c   |    1 -
 arch/arm/mach-exynos/mach-exynos5-dt.c   |    1 -
 arch/arm/mach-highbank/highbank.c        |   23 +++++++----------------
 arch/arm/mach-imx/clk-imx51-imx53.c      |   12 ------------
 arch/arm/mach-imx/common.h               |    2 --
 arch/arm/mach-imx/imx51-dt.c             |    6 ------
 arch/arm/mach-imx/mach-imx53.c           |    6 ------
 arch/arm/mach-imx/mach-imx6q.c           |   14 +++-----------
 arch/arm/mach-imx/mach-imx6sl.c          |    7 -------
 arch/arm/mach-imx/mach-vf610.c           |    9 ---------
 arch/arm/mach-kirkwood/board-dt.c        |    8 --------
 arch/arm/mach-mvebu/armada-370-xp.c      |   11 +----------
 arch/arm/mach-mxs/mach-mxs.c             |   13 -------------
 arch/arm/mach-nspire/nspire.c            |    9 ---------
 arch/arm/mach-rockchip/rockchip.c        |    9 ---------
 arch/arm/mach-socfpga/socfpga.c          |    2 --
 arch/arm/mach-sti/board-dt.c             |   10 ++++------
 arch/arm/mach-tegra/tegra.c              |    2 --
 arch/arm/mach-vexpress/v2m.c             |   14 +-------------
 drivers/clk/clk-highbank.c               |   10 +++++++---
 drivers/clk/clk-vt8500.c                 |    2 --
 drivers/clk/clk.c                        |    8 +++++++-
 drivers/clk/mxs/clk-imx23.c              |   16 +++++++---------
 drivers/clk/mxs/clk-imx28.c              |   16 ++++++++--------
 drivers/clk/zynq/clkc.c                  |    1 -
 drivers/clocksource/time-armada-370-xp.c |    7 +++----
 include/linux/clk/mxs.h                  |    2 --
 include/linux/time-armada-370-xp.h       |   16 ----------------
 32 files changed, 53 insertions(+), 212 deletions(-)
 delete mode 100644 include/linux/time-armada-370-xp.h

---
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
-- 
1.7.10.4


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

end of thread, other threads:[~2013-09-12 16:32 UTC | newest]

Thread overview: 118+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-20  2:04 [RFC 00/17] ARM: provide common arch init for DT clocks Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 01/17] clk: ensure __clk_of_table is only initialized once Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 02/17] ARM: call clk_of_init from time_init Sebastian Hesselbarth
2013-08-20 15:46   ` Stephen Warren
2013-08-20 19:47     ` Sebastian Hesselbarth
2013-08-20 19:52       ` Stephen Warren
2013-08-20 20:19         ` Sebastian Hesselbarth
2013-08-21 18:54           ` Arnd Bergmann
2013-08-22  7:25             ` Mike Turquette
2013-08-22 17:28               ` Arnd Bergmann
2013-08-20 20:44     ` Arnd Bergmann
2013-08-20 20:57       ` Stephen Warren
2013-08-21 18:51         ` Arnd Bergmann
2013-08-20  2:04 ` [RFC 03/17] ARM: dove: remove custom .init_time hook Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 04/17] ARM: exynos: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 05/17] ARM: highbank: " Sebastian Hesselbarth
2013-08-20 19:12   ` Rob Herring
2013-08-20 20:01     ` Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 06/17] ARM: imx: " Sebastian Hesselbarth
2013-08-20  7:26   ` Sascha Hauer
2013-08-20  8:48     ` Sebastian Hesselbarth
2013-08-20  9:10       ` Sascha Hauer
2013-08-20  9:20         ` Sebastian Hesselbarth
2013-08-20 10:20           ` Russell King - ARM Linux
2013-08-20 10:37             ` Sebastian Hesselbarth
2013-08-20 10:42               ` Russell King - ARM Linux
2013-08-20 10:46                 ` Sebastian Hesselbarth
2013-08-20  9:23   ` [RFC v2] " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 07/17] ARM: kirkwood: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 08/17] ARM: mvebu: " Sebastian Hesselbarth
2013-08-20 12:50   ` Ezequiel Garcia
2013-08-20 13:12     ` Sebastian Hesselbarth
2013-08-20 14:01       ` Ezequiel Garcia
2013-08-23 10:06   ` Gregory CLEMENT
2013-08-23 10:32     ` Sebastian Hesselbarth
2013-08-23 11:39       ` Gregory CLEMENT
2013-08-23 12:13         ` Sebastian Hesselbarth
2013-08-23 14:23           ` Gregory CLEMENT
2013-08-23 14:34             ` Gregory CLEMENT
2013-08-20  2:04 ` [RFC 09/17] ARM: mxs: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 10/17] ARM: nspire: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 11/17] ARM: rockchip: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 12/17] ARM: socfpga: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 13/17] ARM: sti: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 14/17] ARM: tegra: remove .init_time hook to clocksource_of_init Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 15/17] ARM: vexpress: remove custom .init_time hook Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 16/17] clk: vt8500: remove call to of_clk_init Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 17/17] clk: zynq: " Sebastian Hesselbarth
2013-08-23  0:26   ` Sören Brinkmann
2013-08-23  0:59     ` Sören Brinkmann
2013-08-23  7:32       ` Steffen Trumtrar
2013-08-23 16:00         ` Sören Brinkmann
2013-08-23 23:38           ` Steffen Trumtrar
2013-08-26 11:15         ` Michal Simek
2013-08-26 12:07           ` Steffen Trumtrar
2013-08-26 12:53             ` Sebastian Hesselbarth
2013-08-26 15:14               ` Michal Simek
2013-08-26 15:31                 ` Steffen Trumtrar
2013-08-26 15:16               ` Sören Brinkmann
2013-08-26 15:33                 ` Steffen Trumtrar
2013-08-23  9:30       ` Sebastian Hesselbarth
2013-08-23 17:19         ` Sören Brinkmann
2013-08-23 17:44           ` Sebastian Hesselbarth
2013-08-23 23:22             ` Steffen Trumtrar
2013-08-26 15:20             ` Sören Brinkmann
2013-08-27 21:27 ` [PATCH RFC v2 00/16] ARM: provide common arch init for DT clocks Sebastian Hesselbarth
2013-08-27 21:27 ` [PATCH RFC v2 01/16] ARM: call clk_of_init from time_init Sebastian Hesselbarth
2013-08-27 22:19   ` Sören Brinkmann
2013-08-27 22:58     ` Sebastian Hesselbarth
2013-08-27 23:20       ` Sören Brinkmann
2013-08-29 13:45       ` Arnd Bergmann
2013-09-04 19:32         ` Sebastian Hesselbarth
2013-09-04 20:41           ` Sören Brinkmann
2013-09-04 20:52             ` Sebastian Hesselbarth
2013-09-04 20:59               ` Sören Brinkmann
2013-09-05  9:34                 ` Arnd Bergmann
2013-08-27 21:27 ` [PATCH RFC v2 02/16] ARM: dove: remove custom .init_time hook Sebastian Hesselbarth
2013-08-27 21:27 ` [PATCH RFC v2 03/16] ARM: exynos: " Sebastian Hesselbarth
2013-08-27 21:27 ` [PATCH RFC v2 04/16] ARM: highbank: " Sebastian Hesselbarth
2013-08-27 23:13   ` Mike Turquette
2013-08-27 21:27 ` [PATCH RFC v2 05/16] ARM: imx: " Sebastian Hesselbarth
2013-08-29 11:00   ` Shawn Guo
2013-08-27 21:28 ` [PATCH RFC v2 06/16] ARM: kirkwood: " Sebastian Hesselbarth
2013-08-27 21:28 ` [PATCH RFC v2 07/16] ARM: mvebu: " Sebastian Hesselbarth
2013-08-28  6:28   ` Gregory CLEMENT
2013-08-27 21:28 ` [PATCH RFC v2 08/16] ARM: mxs: " Sebastian Hesselbarth
2013-08-27 23:16   ` Mike Turquette
2013-08-29 11:08   ` Shawn Guo
2013-08-29 11:32     ` Sebastian Hesselbarth
2013-08-29 12:58       ` Shawn Guo
2013-08-27 21:28 ` [PATCH RFC v2 09/16] ARM: nspire: " Sebastian Hesselbarth
2013-08-27 21:28 ` [PATCH RFC v2 10/16] ARM: rockchip: " Sebastian Hesselbarth
2013-08-27 21:28 ` [PATCH RFC v2 11/16] ARM: socfpga: remove call to of_clk_init Sebastian Hesselbarth
2013-08-29 15:38   ` Dinh Nguyen
2013-08-29 17:23     ` Arnd Bergmann
2013-08-27 21:28 ` [PATCH RFC v2 12/16] ARM: sti: remove custom .init_time hook Sebastian Hesselbarth
2013-08-29 16:29   ` [STLinux Kernel] " Srinivas KANDAGATLA
2013-08-27 21:28 ` [PATCH RFC v2 13/16] ARM: tegra: split tegra_pmc_init() in two Sebastian Hesselbarth
2013-08-27 21:59   ` Stephen Warren
2013-08-27 22:09     ` Sebastian Hesselbarth
2013-09-11 19:56   ` Stephen Warren
2013-09-12  6:21     ` Sebastian Hesselbarth
2013-09-12 16:32       ` Stephen Warren
2013-08-27 21:28 ` [PATCH RFC v2 14/16] ARM: vexpress: remove custom .init_time hook Sebastian Hesselbarth
2013-08-29 13:35   ` Arnd Bergmann
2013-08-29 18:16     ` Sebastian Hesselbarth
2013-08-30 10:02       ` Jon Medhurst (Tixy)
2013-08-30 11:39         ` Russell King - ARM Linux
2013-08-30 13:12         ` Pawel Moll
2013-08-27 21:28 ` [PATCH RFC v2 15/16] clk: vt8500: remove call to of_clk_init Sebastian Hesselbarth
2013-08-27 23:16   ` Mike Turquette
2013-08-29 13:42   ` Arnd Bergmann
2013-08-27 21:28 ` [PATCH RFC v2 16/16] ARM: zynq: Don't call of_clk_init() Sebastian Hesselbarth
2013-08-29 13:37   ` Arnd Bergmann
2013-08-29 14:21     ` Michal Simek
2013-08-29 17:20       ` Arnd Bergmann
2013-08-29 18:14         ` Michal Simek
2013-08-29 18:20     ` Sebastian Hesselbarth

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