2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-26 14:14:01 +08:00
linux-next/drivers/clk
Leo Yan a925810f6e clk: Hi3660: register fixed_rate_clks with CLK_OF_DECLARE_DRIVER
The timer will register into system at very early phase at kernel boot;
if timer needs to use clock, the clock should be get ready in function
of_clk_init() so later the timer driver probe can retrieve clock
successfully. This is finished in below flow on arm64:

  start_kernel()
    `-> time_init()
          `-> of_clk_init(NULL)    => register timer's clock
          `-> clocksource_probe()  => register timer

On Hi3660 the sp804 timer uses clock "osc32k", this clock is registered
as platform driver rather than CLK_OF_DECLARE_DRIVER method. As result,
sp804 timer probe returns failure due if cannot bind clock properly.

To fix the failure, this patch is to split crgctrl clocks into two
subsets. One part is for fixed_rate_clks which includes pre-defined
fixed rate clocks, and "osc32k" clock is in this category; So we change
their registration to CLK_OF_DECLARE_DRIVER method, as result the clocks
can be registered ahead with function of_clk_init() and timer driver can
bind timer clock successfully; the rest of the crgctrl clocks are still
registered by the probe of the platform driver.

This patch also adds checking for all crgctrl clocks registration and
print out log if any clock has failure.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2017-06-19 16:36:48 -07:00
..
at91 clk: at91: fix clk-generated compilation 2017-06-05 12:56:47 -07:00
axis clk: axis: Use new macro CLK_OF_DECLARE_DRIVER 2016-08-12 18:00:37 -07:00
axs10x clk/axs10x: Clear init field in driver probe 2017-01-09 16:06:40 -08:00
bcm clk: bcm2835: Minimise clock jitter for PCM clock 2017-06-02 15:42:21 -07:00
berlin clk: berlin: Pass correct type to hw provider registration 2016-11-16 11:04:17 -08:00
h8300 clk: h8300: Migrate to clk_hw based registration APIs 2016-08-24 17:37:10 -07:00
hisilicon clk: Hi3660: register fixed_rate_clks with CLK_OF_DECLARE_DRIVER 2017-06-19 16:36:48 -07:00
imx clk: imx7d: Fix the DDR PLL enable bit 2017-06-06 17:42:41 -07:00
ingenic clk: ingenic: Allow divider value to be divided 2016-05-12 14:48:25 -07:00
keystone clk: keystone: Add sci-clk driver support 2017-06-14 09:05:07 -07:00
loongson1 CLK: Add Loongson1C clock support 2016-09-23 14:49:21 -07:00
mediatek clk: mediatek: add mt2701 ethernet reset 2017-04-21 19:20:33 -07:00
meson * Expose more clock gate on meson8 (SAR ADC, RNG, USB, SDIO, ETH) 2017-06-16 15:01:46 -07:00
microchip clk: microchip: Initialize SOSC clock rate for PIC32MZDA. 2016-08-24 16:05:24 -07:00
mmp clk:mmp:clk-of-mmp2: Free memory and Unmap region obtained by kzalloc and of_iomap 2016-12-08 16:29:39 -08:00
mvebu clk: mvebu: armada-38x: add support for 1866MHz variants 2017-06-01 00:25:21 -07:00
mxs
nxp clk: nxp: clk-lpc18xx-ccu: Unmap region obtained by of_iomap 2016-11-01 17:32:25 -07:00
pistachio
pxa ARM: SoC platform updates for v4.10 2016-12-15 15:39:02 -08:00
qcom Sort of on the quieter side this time, which is probably due more 2017-05-10 13:38:18 -07:00
renesas clk: renesas: r8a7794: Add new CPG/MSSR driver 2017-05-24 10:20:03 +02:00
rockchip clk: rockchip: mark some special clk as critical on rk3368 2017-06-02 15:57:32 +02:00
samsung clk: samsung: exynos542x: Add EPLL rate table 2017-06-09 13:12:55 +02:00
sirf
socfpga
spear clk: spear: fix ADC clock definition on SPEAr600 2017-04-19 09:27:52 -07:00
st clk: st: clk-flexgen: Unmap region obtained by of_iomap 2016-12-08 16:35:22 -08:00
sunxi Allwinner clock changes for 4.10 2016-11-16 11:19:20 -08:00
sunxi-ng clk: sunxi-ng: Staticize ccu_mux_helper_unapply_prediv() 2017-06-16 14:51:36 -07:00
tegra clk: tegra: Don't reset PLL-CX if it is already enabled 2017-04-04 16:06:05 +02:00
ti clk: ti: omap4: add clkctrl clock data 2017-06-15 10:48:08 +03:00
uniphier clk: uniphier: add eMMC clock for LD11 and LD20 SoCs 2017-02-03 11:55:21 -08:00
ux500 clk: ux500: Convert ABx500 clocks to use OF probing 2017-01-26 16:10:02 -08:00
versatile clk: versatile: delete old RealView clock implementation 2017-06-02 16:27:17 -07:00
x86 clk: x86: pmc-atom: Checking for IS_ERR() instead of NULL 2017-05-01 11:13:25 -07:00
zte clk: zte: Mark pll config tables as const 2017-04-12 18:51:34 +02:00
zynq
clk-asm9260.c clk: asm9260: Migrate to clk_hw based registration and OF APIs 2016-08-24 16:08:33 -07:00
clk-axi-clkgen.c clk: axi-clkgen: Migrate to clk_hw based OF and registration APIs 2016-08-24 16:10:31 -07:00
clk-axm5516.c clk: axm5516: Migrate to clk_hw based OF and registration APIs 2016-08-24 16:11:07 -07:00
clk-bulk.c clk: add clk_bulk_get accessories 2017-06-02 15:37:45 -07:00
clk-cdce706.c clk: cdce: Migrate to clk_hw based OF and registration APIs 2016-08-24 16:12:38 -07:00
clk-cdce925.c clk: cdce925: add support for CDCE913, CDCE937, and CDCE949 2017-01-09 16:38:30 -08:00
clk-clps711x.c clk: clps711x: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:19:26 -07:00
clk-composite.c Merge branch 'clk-hw-register' (early part) into clk-next 2016-04-21 14:47:18 -07:00
clk-conf.c clk: Fix __set_clk_rates error print-string 2017-06-01 02:13:44 -07:00
clk-cs2000-cp.c clk: cs2000: select 12.20 High Accuracy on LFRatioCfg 2017-04-19 10:18:55 -07:00
clk-devres.c clk: add managed version of clk_bulk_get 2017-06-02 15:37:49 -07:00
clk-divider.c clk: divider: Make divider_round_rate take the parent clock 2017-06-07 15:32:12 +02:00
clk-efm32gg.c clk: efm32gg: Pass correct type to hw provider registration 2016-11-16 11:08:55 -08:00
clk-fixed-factor.c clk: fixed-factor: Remove export symbol on setup function 2016-08-15 15:08:03 -07:00
clk-fixed-rate.c clk: fixed-rate: Remove export symbol on setup function 2016-08-15 15:08:06 -07:00
clk-fractional-divider.c clk: fractional-divider: Add hw based registration APIs 2016-04-19 16:56:28 -07:00
clk-gate.c clk: gate: fix coding style 2016-11-09 12:05:50 -08:00
clk-gpio.c clk: gpio: Add hw based registration APIs 2016-04-19 16:56:28 -07:00
clk-hi655x.c clk: hi6220: Add the hi655x's pmic clock 2017-04-21 19:18:53 -07:00
clk-highbank.c clk: highbank: Migrate to clk_hw based registration and OF APIs 2016-06-30 12:25:28 -07:00
clk-max77686.c clk: max77686: fix number of clocks setup for clk_hw based registration 2016-10-17 15:31:59 -07:00
clk-mb86s7x.c clk: mb86s7x: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:23:01 -07:00
clk-moxart.c clk: moxart: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:23:20 -07:00
clk-multiplier.c clk: multiplier: Prevent the multiplier from under / over flowing 2016-06-20 13:00:00 -07:00
clk-mux.c clk: mux: Add hw based registration APIs 2016-04-19 16:55:01 -07:00
clk-nomadik.c clk: nomadik: Delete error messages for a failed memory allocation in two functions 2017-04-21 19:47:14 -07:00
clk-nspire.c clk: nspire: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:23:21 -07:00
clk-oxnas.c clk: oxnas: Add OX820 Gate clocks 2016-10-23 10:18:45 -07:00
clk-palmas.c clk: palmas: undo preparation of a clock source. 2017-06-02 10:51:34 -07:00
clk-pwm.c clk: pwm: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:23:27 -07:00
clk-qoriq.c clk: qoriq: Separate root input clock for core PLLs on ls1012a 2017-06-01 01:24:13 -07:00
clk-rk808.c clk: rk808: Pass the right pointer as the get_hw context 2016-09-09 11:07:07 -07:00
clk-s2mps11.c clk: s2mps11: Migrate to clk_hw based OF and registration APIs 2016-06-30 12:29:14 -07:00
clk-scpi.c clk: scpi: fix return type of __scpi_dvfs_round_rate 2017-06-01 02:13:11 -07:00
clk-si514.c clk: si514: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:29:59 -07:00
clk-si570.c clk: si570: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:30:01 -07:00
clk-si5351.c clk: si5351: Delete an error message for a failed memory allocation in si5351_i2c_probe() 2017-04-21 19:44:54 -07:00
clk-si5351.h
clk-stm32f4.c clk: stm32f4: fix timeout management for pll and ready gate 2017-04-12 18:50:56 +02:00
clk-tango4.c
clk-twl6040.c clk: twl6040: Migrate to clk_hw based registration APIs 2016-08-24 17:34:11 -07:00
clk-u300.c clk: u300: Migrate to clk_hw based registration APIs 2016-06-30 12:26:18 -07:00
clk-versaclock5.c clk: vc5: Add support for IDT VersaClock 5P49V5935 2017-04-19 09:08:59 -07:00
clk-vt8500.c clk: vt8500: Migrate to clk_hw based registration APIs 2016-08-24 17:35:48 -07:00
clk-wm831x.c clk: wm831x: fix usleep_range with bad range 2017-01-09 16:06:41 -08:00
clk-xgene.c clk: xgene: Don't call __pa on ioremaped address 2016-10-28 11:03:47 -07:00
clk.c clk: Improve a size determination in two functions 2017-04-21 19:47:02 -07:00
clk.h
clkdev.c ARM: 8631/1: clkdev: Detect errors in clk_hw_register_clkdev() for mass registration 2016-11-22 11:45:28 +00:00
Kconfig clk: keystone: Add sci-clk driver support 2017-06-14 09:05:07 -07:00
Makefile clk: keystone: Add sci-clk driver support 2017-06-14 09:05:07 -07:00