Re: [PATCH 00/26] ARM: provide common arch init for DT clocks

From: Sebastian Hesselbarth
Date: Wed Sep 18 2013 - 17:04:19 EST


On 09/18/2013 10:48 PM, Olof Johansson wrote:
On Wed, Sep 18, 2013 at 12:52 PM, Sebastian Hesselbarth
<sebastian.hesselbarth@xxxxxxxxx> wrote:
On 09/18/2013 09:47 PM, Jason Cooper wrote:

On Wed, Sep 18, 2013 at 07:53:33PM +0200, Sebastian Hesselbarth wrote:
...

Sebastian Hesselbarth (26):
ARM: nomadik: move mtu setup to clocksource init
clk: nomadik: move src init out of nomadik_clk_init
clk: nomadik: declare OF clock provider
clk: prima2: declare OF clock provider
ARM: socfgpa: prepare for arch-wide .init_time callback
clk: sunxi: declare OF clock provider
clk: vt8500: parse pmc_base from clock driver
ARM: vt8500: prepare for arch-wide .init_time callback
ARM: call of_clk_init from default time_init handler
ARM: bcm2835: remove custom .init_time hook
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: mxs: remove custom .init_time hook
ARM: nomadik: remove custom .init_time hook
ARM: nspire: remove custom .init_time hook
ARM: prima2: 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: sunxi: remove custom .init_time hook
ARM: tegra: remove custom .init_time hook
ARM: vexpress: remove custom .init_time hook
ARM: vt8500: remove custom .init_time hook

arch/arm/kernel/time.c | 27 ++---
arch/arm/mach-bcm2835/bcm2835.c | 2 -
arch/arm/mach-dove/board-dt.c | 11 --
arch/arm/mach-exynos/common.c | 8 --
arch/arm/mach-exynos/common.h | 1 -
arch/arm/mach-exynos/mach-exynos4-dt.c | 2 -
arch/arm/mach-exynos/mach-exynos5-dt.c | 2 -
arch/arm/mach-highbank/highbank.c | 23 ++---
arch/arm/mach-imx/clk-imx51-imx53.c | 29 ++----
arch/arm/mach-imx/common.h | 4 -
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-mxs/mach-mxs.c | 13 ---
arch/arm/mach-nomadik/cpu-8815.c | 36 -------
arch/arm/mach-nspire/nspire.c | 9 --
arch/arm/mach-prima2/common.c | 11 --
arch/arm/mach-prima2/common.h | 1 -
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-sunxi/sunxi.c | 10 --
arch/arm/mach-tegra/tegra.c | 9 --
arch/arm/mach-vexpress/v2m.c | 14 +--
arch/arm/mach-vt8500/common.h | 24 -----
arch/arm/mach-vt8500/vt8500.c | 6 --
drivers/clk/clk-bcm2835.c | 8 --
drivers/clk/clk-highbank.c | 10 +-
drivers/clk/clk-nomadik.c | 161
++++++++++++++---------------
drivers/clk/clk-prima2.c | 29 ++----
drivers/clk/clk-vt8500.c | 31 ++++--
drivers/clk/mxs/clk-imx23.c | 15 +--
drivers/clk/mxs/clk-imx28.c | 16 +--
drivers/clk/sunxi/clk-sunxi.c | 11 +-
drivers/clocksource/nomadik-mtu.c | 11 ++
include/linux/clk/mxs.h | 2 -
include/linux/clk/sunxi.h | 22 ----
include/linux/platform_data/clk-nomadik.h | 2 -
41 files changed, 182 insertions(+), 449 deletions(-)
delete mode 100644 arch/arm/mach-vt8500/common.h
delete mode 100644 include/linux/clk/sunxi.h
delete mode 100644 include/linux/platform_data/clk-nomadik.h


How would you like to handle this series?


Jason,

honestly I don't really know, yet. I was hoping for Arnd and Olof
decide on that. Maybe they also create a topic branch up to where
arch-wide of_clk_init is introduced. Then each removal patch can
go through the independent sub-trees. There may be more machs
introduced before, that can then also depend on the common branch.

I'd like to see this merged early into arm-soc and have it as a base
branch for other platform branches if there will be much conflicts
(for trivial or small conflicts we can resolve, of course). So please
collect acks and prepare a branch for me to merge, Sebastian. Or if
it's easier I can just apply the patches directly -- just let me know.
But given the tegra dependency it's probably easier to take a branch.

Actually, I'd be happy if you make a decision. It would be my first
pull request and maybe it should go guided by more experienced devs
from now on. Although I am willing to learn.

The long tail might be the cases where you rewrote some of the init
code, since that'll need to be tested on those platforms. I wonder if
we can pick up most of the other pieces if that ends up taking a
while.

True, for an early merge that was a bad decision. I looked again into
patches 1-8 and if there are concerns:
- nomadik can be dropped as it still has custom .init_time.
- prima2 and sunxi are quite straight forward but also have custom
.init_time that protect them from the arch-wide call.
- socfpga needs some new custom .init_time then.
- vt8500 is a little bit more changes but has .init_time call to
clocksource_of_init alone.

Sebastian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/