All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 00/17] ARM: provide common arch init for DT clocks
@ 2013-08-20  2:04 ` Sebastian Hesselbarth
  0 siblings, 0 replies; 228+ 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] 228+ messages in thread

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

Thread overview: 228+ 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 ` 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 15:46     ` Stephen Warren
2013-08-20 19:47     ` Sebastian Hesselbarth
2013-08-20 19:47       ` Sebastian Hesselbarth
2013-08-20 19:52       ` Stephen Warren
2013-08-20 19:52         ` Stephen Warren
2013-08-20 20:19         ` Sebastian Hesselbarth
2013-08-20 20:19           ` Sebastian Hesselbarth
2013-08-21 18:54           ` Arnd Bergmann
2013-08-21 18:54             ` Arnd Bergmann
2013-08-22  7:25             ` Mike Turquette
2013-08-22  7:25               ` Mike Turquette
2013-08-22 17:28               ` Arnd Bergmann
2013-08-22 17:28                 ` Arnd Bergmann
2013-08-20 20:44     ` Arnd Bergmann
2013-08-20 20:44       ` Arnd Bergmann
2013-08-20 20:57       ` Stephen Warren
2013-08-20 20:57         ` Stephen Warren
2013-08-21 18:51         ` Arnd Bergmann
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 19:12     ` Rob Herring
2013-08-20 20:01     ` Sebastian Hesselbarth
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  7:26     ` Sascha Hauer
2013-08-20  8:48     ` Sebastian Hesselbarth
2013-08-20  8:48       ` Sebastian Hesselbarth
2013-08-20  9:10       ` Sascha Hauer
2013-08-20  9:10         ` Sascha Hauer
2013-08-20  9:20         ` Sebastian Hesselbarth
2013-08-20  9:20           ` Sebastian Hesselbarth
2013-08-20 10:20           ` Russell King - ARM Linux
2013-08-20 10:20             ` Russell King - ARM Linux
2013-08-20 10:37             ` Sebastian Hesselbarth
2013-08-20 10:37               ` Sebastian Hesselbarth
2013-08-20 10:42               ` Russell King - ARM Linux
2013-08-20 10:42                 ` Russell King - ARM Linux
2013-08-20 10:46                 ` Sebastian Hesselbarth
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 12:50     ` Ezequiel Garcia
2013-08-20 13:12     ` Sebastian Hesselbarth
2013-08-20 13:12       ` Sebastian Hesselbarth
2013-08-20 14:01       ` Ezequiel Garcia
2013-08-20 14:01         ` Ezequiel Garcia
2013-08-23 10:06   ` Gregory CLEMENT
2013-08-23 10:06     ` Gregory CLEMENT
2013-08-23 10:32     ` Sebastian Hesselbarth
2013-08-23 10:32       ` Sebastian Hesselbarth
2013-08-23 11:39       ` Gregory CLEMENT
2013-08-23 11:39         ` Gregory CLEMENT
2013-08-23 12:13         ` Sebastian Hesselbarth
2013-08-23 12:13           ` Sebastian Hesselbarth
2013-08-23 14:23           ` Gregory CLEMENT
2013-08-23 14:23             ` Gregory CLEMENT
2013-08-23 14:34             ` 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   ` 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:26     ` Sören Brinkmann
2013-08-23  0:59     ` Sören Brinkmann
2013-08-23  0:59       ` Sören Brinkmann
2013-08-23  7:32       ` Steffen Trumtrar
2013-08-23  7:32         ` Steffen Trumtrar
2013-08-23 16:00         ` Sören Brinkmann
2013-08-23 16:00           ` Sören Brinkmann
2013-08-23 23:38           ` Steffen Trumtrar
2013-08-23 23:38             ` Steffen Trumtrar
2013-08-26 11:15         ` Michal Simek
2013-08-26 11:15           ` Michal Simek
2013-08-26 12:07           ` Steffen Trumtrar
2013-08-26 12:07             ` Steffen Trumtrar
2013-08-26 12:53             ` Sebastian Hesselbarth
2013-08-26 12:53               ` Sebastian Hesselbarth
2013-08-26 15:14               ` Michal Simek
2013-08-26 15:14                 ` Michal Simek
2013-08-26 15:31                 ` Steffen Trumtrar
2013-08-26 15:31                   ` Steffen Trumtrar
2013-08-26 15:16               ` Sören Brinkmann
2013-08-26 15:16                 ` Sören Brinkmann
2013-08-26 15:33                 ` Steffen Trumtrar
2013-08-26 15:33                   ` Steffen Trumtrar
2013-08-23  9:30       ` Sebastian Hesselbarth
2013-08-23  9:30         ` Sebastian Hesselbarth
2013-08-23 17:19         ` Sören Brinkmann
2013-08-23 17:19           ` Sören Brinkmann
2013-08-23 17:44           ` Sebastian Hesselbarth
2013-08-23 17:44             ` Sebastian Hesselbarth
2013-08-23 23:22             ` Steffen Trumtrar
2013-08-23 23:22               ` Steffen Trumtrar
2013-08-26 15:20             ` Sören Brinkmann
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   ` Sebastian Hesselbarth
2013-08-27 21:27   ` Sebastian Hesselbarth
     [not found] ` <1376964271-22715-1-git-send-email-sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-08-27 21:27   ` [PATCH RFC v2 01/16] ARM: call clk_of_init from time_init Sebastian Hesselbarth
2013-08-27 21:27     ` Sebastian Hesselbarth
2013-08-27 21:27     ` Sebastian Hesselbarth
2013-08-27 22:19     ` Sören Brinkmann
2013-08-27 22:19       ` Sören Brinkmann
2013-08-27 22:19       ` Sören Brinkmann
2013-08-27 22:58       ` Sebastian Hesselbarth
2013-08-27 22:58         ` Sebastian Hesselbarth
2013-08-27 23:20         ` Sören Brinkmann
2013-08-27 23:20           ` Sören Brinkmann
2013-08-27 23:20           ` Sören Brinkmann
2013-08-29 13:45         ` Arnd Bergmann
2013-08-29 13:45           ` Arnd Bergmann
2013-09-04 19:32           ` Sebastian Hesselbarth
2013-09-04 19:32             ` Sebastian Hesselbarth
2013-09-04 20:41             ` Sören Brinkmann
2013-09-04 20:41               ` Sören Brinkmann
2013-09-04 20:52               ` Sebastian Hesselbarth
2013-09-04 20:52                 ` Sebastian Hesselbarth
2013-09-04 20:59                 ` Sören Brinkmann
2013-09-04 20:59                   ` Sören Brinkmann
2013-09-05  9:34                   ` Arnd Bergmann
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   ` Sebastian Hesselbarth
2013-08-27 21:27 ` [PATCH RFC v2 03/16] ARM: exynos: " Sebastian Hesselbarth
2013-08-27 21:27   ` Sebastian Hesselbarth
2013-08-27 21:27   ` Sebastian Hesselbarth
2013-08-27 21:27 ` [PATCH RFC v2 04/16] ARM: highbank: " Sebastian Hesselbarth
2013-08-27 21:27   ` Sebastian Hesselbarth
2013-08-27 23:13   ` Mike Turquette
2013-08-27 23:13     ` Mike Turquette
2013-08-27 21:27 ` [PATCH RFC v2 05/16] ARM: imx: " Sebastian Hesselbarth
2013-08-27 21:27   ` Sebastian Hesselbarth
2013-08-29 11:00   ` Shawn Guo
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   ` Sebastian Hesselbarth
2013-08-27 21:28 ` [PATCH RFC v2 07/16] ARM: mvebu: " Sebastian Hesselbarth
2013-08-27 21:28   ` Sebastian Hesselbarth
2013-08-28  6:28   ` Gregory CLEMENT
2013-08-28  6:28     ` Gregory CLEMENT
2013-08-27 21:28 ` [PATCH RFC v2 08/16] ARM: mxs: " Sebastian Hesselbarth
2013-08-27 21:28   ` Sebastian Hesselbarth
2013-08-27 23:16   ` Mike Turquette
2013-08-27 23:16     ` Mike Turquette
2013-08-29 11:08   ` Shawn Guo
2013-08-29 11:08     ` Shawn Guo
2013-08-29 11:32     ` Sebastian Hesselbarth
2013-08-29 11:32       ` Sebastian Hesselbarth
2013-08-29 12:58       ` Shawn Guo
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   ` Sebastian Hesselbarth
2013-08-27 21:28 ` [PATCH RFC v2 10/16] ARM: rockchip: " Sebastian Hesselbarth
2013-08-27 21:28   ` Sebastian Hesselbarth
2013-08-27 21:28 ` [PATCH RFC v2 11/16] ARM: socfpga: remove call to of_clk_init Sebastian Hesselbarth
2013-08-27 21:28   ` Sebastian Hesselbarth
2013-08-29 15:38   ` Dinh Nguyen
2013-08-29 15:38     ` Dinh Nguyen
2013-08-29 17:23     ` Arnd Bergmann
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-27 21:28   ` Sebastian Hesselbarth
2013-08-29 16:29   ` [STLinux Kernel] " Srinivas KANDAGATLA
2013-08-29 16:29     ` 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:28   ` Sebastian Hesselbarth
     [not found]   ` <1377638890-371-14-git-send-email-sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-08-27 21:59     ` Stephen Warren
2013-08-27 21:59       ` Stephen Warren
2013-08-27 21:59       ` Stephen Warren
     [not found]       ` <521D214C.80809-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-08-27 22:09         ` Sebastian Hesselbarth
2013-08-27 22:09           ` Sebastian Hesselbarth
2013-08-27 22:09           ` Sebastian Hesselbarth
2013-09-11 19:56     ` Stephen Warren
2013-09-11 19:56       ` Stephen Warren
2013-09-11 19:56       ` Stephen Warren
     [not found]       ` <5230CAF7.6010103-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-09-12  6:21         ` Sebastian Hesselbarth
2013-09-12  6:21           ` Sebastian Hesselbarth
2013-09-12  6:21           ` Sebastian Hesselbarth
2013-09-12 16:32           ` Stephen Warren
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-27 21:28   ` Sebastian Hesselbarth
2013-08-29 13:35   ` Arnd Bergmann
2013-08-29 13:35     ` Arnd Bergmann
2013-08-29 18:16     ` Sebastian Hesselbarth
2013-08-29 18:16       ` Sebastian Hesselbarth
2013-08-30 10:02       ` Jon Medhurst (Tixy)
2013-08-30 10:02         ` Jon Medhurst (Tixy)
2013-08-30 11:39         ` Russell King - ARM Linux
2013-08-30 11:39           ` Russell King - ARM Linux
2013-08-30 13:12         ` Pawel Moll
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 21:28   ` Sebastian Hesselbarth
2013-08-27 23:16   ` Mike Turquette
2013-08-27 23:16     ` Mike Turquette
2013-08-29 13:42   ` Arnd Bergmann
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-27 21:28   ` Sebastian Hesselbarth
2013-08-29 13:37   ` Arnd Bergmann
2013-08-29 13:37     ` Arnd Bergmann
2013-08-29 14:21     ` Michal Simek
2013-08-29 14:21       ` Michal Simek
2013-08-29 17:20       ` Arnd Bergmann
2013-08-29 17:20         ` Arnd Bergmann
2013-08-29 18:14         ` Michal Simek
2013-08-29 18:14           ` Michal Simek
2013-08-29 18:20     ` Sebastian Hesselbarth
2013-08-29 18:20       ` Sebastian Hesselbarth

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.