Clock registration without parent name

[PATCH 01/05][RFC] clk: Initialize on-stack struct clk_init_data
[PATCH 02/05][RFC] clk: Add parent array to struct clk_init_data
[PATCH 03/05][RFC] clk: Allow NULL as parent names
[PATCH 04/05][RFC] clk: fixed-factor: Pass struct clk_init_data
[PATCH 05/05][RFC] clk: fixed-factor: Make use of parent array

This RFC series adds two experimental features to the CCF code:
1) Allow passing in an array of parent clocks during registration
2) Allow omitting parent name information in case of 1)

Unless the parent clock array pointer is set in clk_init_data
the CCF clock registration code behaves as usual.

Without this series it is not possible to use parents that have
multiple clock-indices in a single DT node but lacks the
clock-output-names property.

With this series it is possible to use "fixed-factor-clock"
hanging off a single DT node with multiple clock-indices but
without clock-output-names.

Signed-off-by: Magnus Damm <[email protected]>
---

 Developed against next-20150915, builds with shmobile_defconfig,
 tested with experimental R-Car Gen3 patch series included in
 renesas-drivers-2015-09-08-v4.2 (that omits clock-output-names)

 May be seen as an improved version of:
 [PATCH][RFC] clk: Use node name and index for clock name

 drivers/clk/at91/clk-h32mx.c              |    2 -
 drivers/clk/at91/clk-main.c               |    8 ++--
 drivers/clk/at91/clk-master.c             |    2 -
 drivers/clk/at91/clk-peripheral.c         |    4 +-
 drivers/clk/at91/clk-pll.c                |    2 -
 drivers/clk/at91/clk-plldiv.c             |    2 -
 drivers/clk/at91/clk-programmable.c       |    2 -
 drivers/clk/at91/clk-slow.c               |    8 ++--
 drivers/clk/at91/clk-smd.c                |    2 -
 drivers/clk/at91/clk-system.c             |    2 -
 drivers/clk/at91/clk-usb.c                |    6 +--
 drivers/clk/at91/clk-utmi.c               |    2 -
 drivers/clk/bcm/clk-iproc-armpll.c        |    2 -
 drivers/clk/bcm/clk-iproc-asiu.c          |    2 -
 drivers/clk/bcm/clk-iproc-pll.c           |    2 -
 drivers/clk/berlin/berlin2-avpll.c        |    4 +-
 drivers/clk/berlin/berlin2-pll.c          |    2 -
 drivers/clk/clk-axi-clkgen.c              |    2 -
 drivers/clk/clk-cdce925.c                 |    2 -
 drivers/clk/clk-composite.c               |    2 -
 drivers/clk/clk-divider.c                 |    2 -
 drivers/clk/clk-fixed-factor.c            |   50 +++++++++++++++++++----------
 drivers/clk/clk-fixed-rate.c              |    2 -
 drivers/clk/clk-fractional-divider.c      |    2 -
 drivers/clk/clk-gate.c                    |    2 -
 drivers/clk/clk-highbank.c                |    2 -
 drivers/clk/clk-ls1x.c                    |    2 -
 drivers/clk/clk-mb86s7x.c                 |    4 +-
 drivers/clk/clk-mux.c                     |    2 -
 drivers/clk/clk-nomadik.c                 |    4 +-
 drivers/clk/clk-pwm.c                     |    2 -
 drivers/clk/clk-qoriq.c                   |    2 -
 drivers/clk/clk-si5351.c                  |    2 -
 drivers/clk/clk-si570.c                   |    2 -
 drivers/clk/clk-stm32f4.c                 |    2 -
 drivers/clk/clk-u300.c                    |    4 +-
 drivers/clk/clk-vt8500.c                  |    4 +-
 drivers/clk/clk-xgene.c                   |    4 +-
 drivers/clk/clk.c                         |   33 +++++++++++++------
 drivers/clk/h8300/clk-h8s2678.c           |    2 -
 drivers/clk/hisilicon/clk-hi3620.c        |    2 -
 drivers/clk/hisilicon/clk-hi6220-stub.c   |    2 -
 drivers/clk/hisilicon/clk-hix5hd2.c       |    2 -
 drivers/clk/hisilicon/clkdivider-hi6220.c |    2 -
 drivers/clk/hisilicon/clkgate-separated.c |    2 -
 drivers/clk/imx/clk-busy.c                |    4 +-
 drivers/clk/imx/clk-cpu.c                 |    2 -
 drivers/clk/imx/clk-fixup-div.c           |    2 -
 drivers/clk/imx/clk-fixup-mux.c           |    2 -
 drivers/clk/imx/clk-gate-exclusive.c      |    2 -
 drivers/clk/imx/clk-gate2.c               |    2 -
 drivers/clk/imx/clk-pfd.c                 |    2 -
 drivers/clk/imx/clk-pllv1.c               |    2 -
 drivers/clk/imx/clk-pllv2.c               |    2 -
 drivers/clk/imx/clk-pllv3.c               |    2 -
 drivers/clk/ingenic/cgu.c                 |    2 -
 drivers/clk/keystone/gate.c               |    2 -
 drivers/clk/keystone/pll.c                |    2 -
 drivers/clk/meson/clk-cpu.c               |    2 -
 drivers/clk/meson/clk-pll.c               |    2 -
 drivers/clk/mmp/clk-apbc.c                |    2 -
 drivers/clk/mmp/clk-apmu.c                |    2 -
 drivers/clk/mmp/clk-frac.c                |    2 -
 drivers/clk/mmp/clk-gate.c                |    2 -
 drivers/clk/mmp/clk-mix.c                 |    2 -
 drivers/clk/mvebu/clk-corediv.c           |    2 -
 drivers/clk/mvebu/clk-cpu.c               |    2 -
 drivers/clk/mxs/clk-div.c                 |    2 -
 drivers/clk/mxs/clk-frac.c                |    2 -
 drivers/clk/mxs/clk-pll.c                 |    2 -
 drivers/clk/mxs/clk-ref.c                 |    2 -
 drivers/clk/pistachio/clk-pll.c           |    2 -
 drivers/clk/rockchip/clk-cpu.c            |    2 -
 drivers/clk/rockchip/clk-inverter.c       |    2 -
 drivers/clk/rockchip/clk-mmc-phase.c      |    2 -
 drivers/clk/rockchip/clk-pll.c            |    2 -
 drivers/clk/samsung/clk-cpu.c             |    2 -
 drivers/clk/samsung/clk-pll.c             |    4 +-
 drivers/clk/samsung/clk-s3c2410-dclk.c    |    2 -
 drivers/clk/shmobile/clk-div6.c           |    2 -
 drivers/clk/shmobile/clk-mstp.c           |    2 -
 drivers/clk/shmobile/clk-rcar-gen2.c      |    2 -
 drivers/clk/sirf/clk-atlas7.c             |    2 -
 drivers/clk/socfpga/clk-gate-a10.c        |    2 -
 drivers/clk/socfpga/clk-gate.c            |    2 -
 drivers/clk/socfpga/clk-periph-a10.c      |    2 -
 drivers/clk/socfpga/clk-periph.c          |    2 -
 drivers/clk/socfpga/clk-pll-a10.c         |    2 -
 drivers/clk/socfpga/clk-pll.c             |    2 -
 drivers/clk/spear/clk-aux-synth.c         |    2 -
 drivers/clk/spear/clk-frac-synth.c        |    2 -
 drivers/clk/spear/clk-gpt-synth.c         |    2 -
 drivers/clk/spear/clk-vco-pll.c           |    3 +
 drivers/clk/st/clk-flexgen.c              |    2 -
 drivers/clk/st/clkgen-fsyn.c              |    4 +-
 drivers/clk/st/clkgen-mux.c               |    2 -
 drivers/clk/st/clkgen-pll.c               |    2 -
 drivers/clk/sunxi/clk-sun6i-ar100.c       |    2 -
 drivers/clk/tegra/clk-audio-sync.c        |    2 -
 drivers/clk/tegra/clk-divider.c           |    2 -
 drivers/clk/tegra/clk-emc.c               |    2 -
 drivers/clk/tegra/clk-periph-gate.c       |    2 -
 drivers/clk/tegra/clk-periph.c            |    2 -
 drivers/clk/tegra/clk-pll-out.c           |    2 -
 drivers/clk/tegra/clk-pll.c               |    2 -
 drivers/clk/tegra/clk-super.c             |    2 -
 drivers/clk/ti/clk-dra7-atl.c             |    2 -
 drivers/clk/ti/divider.c                  |    2 -
 drivers/clk/ti/dpll.c                     |    4 +-
 drivers/clk/ti/gate.c                     |    2 -
 drivers/clk/ti/interface.c                |    2 -
 drivers/clk/ti/mux.c                      |    2 -
 drivers/clk/ux500/clk-prcc.c              |    2 -
 drivers/clk/ux500/clk-prcmu.c             |    2 -
 drivers/clk/ux500/clk-sysctrl.c           |    2 -
 drivers/clk/versatile/clk-icst.c          |    2 -
 drivers/clk/versatile/clk-sp810.c         |    2 -
 drivers/clk/versatile/clk-vexpress-osc.c  |    2 -
 drivers/clk/zte/clk.c                     |    4 +-
 include/linux/clk-provider.h              |    6 +++
 120 files changed, 202 insertions(+), 162 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to