linux/drivers/clk
Thomas Petazzoni 5f093ee76c clk: mvebu: fix sscg node lookup
Commit 15917b1602 ("clk: mvebu: Fix clk
frequency value if SSCG is enabled") introduced some logic in the
common mvebu clock code to adjust the clock frequency according to the
configuration of the SSCG.

In order to do this, it looks up for a DT node called "sscg" and maps
it before accessing the SSCG configuration register.

However, the lookup is currently done using:

	 sscg_np = of_find_node_by_name(np, "sscg");

where "np" is a pointer to the DT node of the clock for which we are
calculating the adjusted frequency. This means that if the "sscg" node
is *after* the clock node in the Device Tree, it works fine (and
that's the case for Armada 370).

However, if it turns out that the "sscg" node is *before* the clock
node in the Device Tree, it won't work because the sscg node will not
be found.

What we really want here is a search of the entire Device Tree, not
only starting from the clock node, so instead of passing "np" as first
argument of of_find_node_by_name(), we simply need to pass
NULL. Passing a non-NULL argument is typically used in a loop, so that
the search for the next matching node starts right after the node that
was matched.

This makes the "np" argument to the kirkwood_fix_sscg_deviation()
function unnecessary, which leads to further cleanups.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes: 15917b1602 ("clk: mvebu: Fix clk frequency value if SSCG is enabled")
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Link: https://lkml.kernel.org/r/1410880503-2322-1-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-09-16 15:39:33 +00:00
..
at91 clk: at91: main: warn when the main crystal frequency is not set 2014-07-02 09:00:52 -07:00
bcm clk: bcm/kona: implement determine_rate() 2014-05-27 17:34:32 -07:00
berlin clk: berlin: add core clock driver for BG2Q 2014-05-29 09:30:19 -07:00
hisilicon clk: hisi: add clk-hix5hd2.c 2014-05-12 11:30:32 +08:00
keystone clk: keystone: gate: fix clk_init_data initialization 2014-02-10 15:17:43 -05:00
mmp clk: mmp: try to use closer one when do round rate 2014-03-26 20:59:27 -07:00
mvebu clk: mvebu: fix sscg node lookup 2014-09-16 15:39:33 +00:00
mxs ARM: mxs: remove custom .init_time hook 2013-09-29 21:09:34 +02:00
qcom qcom clock changes for 3.17 2014-07-25 15:41:19 -07:00
rockchip clk: rockchip: add clock controller for rk3288 2014-07-13 12:17:10 -07:00
samsung ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
shmobile clk: shmobile: Add R8A7740-specific clock support 2014-05-23 13:38:25 -07:00
sirf clk: sirf: update copyright years to 2014 2014-03-26 21:47:35 -07:00
socfpga Adds support getting the divider registers for the MAIN PLL that was once 2014-05-12 19:11:13 -07:00
spear Merge branch 'clk-fixes' into clk-next 2014-07-13 07:56:45 -07:00
st clk: st: Use round to closest divider flag 2014-07-28 22:37:16 -07:00
sunxi clk: sunxi: staticize structures and arrays 2014-07-28 15:39:22 -07:00
tegra ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00
ti The clock framework changes for 3.17 are mostly additions of new clock 2014-08-04 11:44:20 -07:00
ux500 clk: ux500: Staticize ux500_twocell_get 2014-02-23 15:04:40 -08:00
versatile clk: versatile: add versatile OSC support 2014-06-24 14:21:22 -05:00
x86 ACPI / LPSS: add support for Intel BayTrail 2013-06-19 01:08:47 +02:00
zynq clk: zynq: Leave debug clocks in bootup state 2014-04-22 13:10:18 +02:00
clk-axi-clkgen.c clk: axi-clkgen: Add support for v2 2014-02-26 17:02:29 -08:00
clk-axm5516.c clk: Add clock driver for AXM55xx SoC 2014-05-22 22:06:14 -07:00
clk-bcm2835.c ARM: bcm2835: remove custom .init_time hook 2013-09-29 21:09:24 +02:00
clk-clps711x.c clk: Add CLPS711X clk driver 2014-07-28 23:30:46 -07:00
clk-composite.c clk: composite: improve rate_hw sanity check logic 2014-07-13 12:17:05 -07:00
clk-conf.c clk: Add missing of_clk_set_defaults export 2014-08-04 09:48:39 -07:00
clk-devres.c
clk-divider.c clk: divider: Fix overflow in clk_divider_bestdiv 2014-05-27 19:16:24 -07:00
clk-efm32gg.c clk: new driver for efm32 SoC 2013-11-04 12:23:18 -08:00
clk-fixed-factor.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-11-15 16:47:22 -08:00
clk-fixed-rate.c clk: add accuracy support for fixed clock 2013-12-22 23:14:28 -08:00
clk-fractional-divider.c clk: new basic clk type for fractional divider 2014-05-20 13:34:02 +02:00
clk-gate.c clk: wrap I/O access for improved portability 2013-08-27 17:50:38 -07:00
clk-highbank.c ARM: highbank: remove custom .init_time hook 2013-09-29 21:09:29 +02:00
clk-ls1x.c
clk-max77686.c clk: max77686: Register OF clock provider 2014-01-08 09:57:07 -08:00
clk-moxart.c clk: add MOXA ART SoCs clock driver 2014-03-18 17:13:14 -07:00
clk-mux.c clk: wrap I/O access for improved portability 2013-08-27 17:50:38 -07:00
clk-nomadik.c clk: nomadik: fix multiplatform problem 2014-02-26 11:14:44 -08:00
clk-nspire.c clk: Add TI-Nspire clock drivers 2013-05-31 12:07:45 -07:00
clk-palmas.c clk: Add driver for Palmas clk32kg and clk32kgaudio clocks 2014-07-01 21:37:57 -07:00
clk-ppc-corenet.c clk: ppc-corenet: Fix Section mismatch warning 2014-07-01 20:11:22 -07:00
clk-s2mps11.c Merge branch 'clk-fixes' into clk-next 2014-07-03 11:55:42 -07:00
clk-si570.c clk: si570: Fix email address specifiction 2014-05-20 16:18:18 +02:00
clk-si5351.c The second half of the clock framework pull requeust for 3.14 is 2014-01-28 18:44:53 -08:00
clk-si5351.h clk: si5351: remove variant from platform_data 2014-01-27 11:20:22 -08:00
clk-twl6040.c
clk-u300.c clk: u300: Terminate of match table 2014-05-27 18:29:04 -07:00
clk-vt8500.c clk: vt8500: Staticize vtwm_pll_ops 2013-12-19 17:47:32 -08:00
clk-wm831x.c clk: wm831x: get rid of the implementation of remove function 2013-10-02 01:23:34 -07:00
clk-xgene.c clk: Add APM X-Gene SoC clock driver 2013-10-07 11:22:15 -07:00
clk.c clk: Propagate any error return from debug_init() 2014-07-29 17:13:48 -07:00
clk.h clk: Add of_clk_get_by_clkspec() helper 2014-05-22 15:54:59 -07:00
clkdev.c clkdev: Don't print errors on probe defer 2014-06-26 12:55:03 -07:00
Kconfig clk: Add driver for Palmas clk32kg and clk32kgaudio clocks 2014-07-01 21:37:57 -07:00
Makefile clk: Add CLPS711X clk driver 2014-07-28 23:30:46 -07:00