clk/samsung: Use CLK_OF_DECLARE_DRIVER initialization method for CLKOUT
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 26 Oct 2016 06:12:20 +0000 (08:12 +0200)
committerStephen Boyd <sboyd@codeaurora.org>
Fri, 28 Oct 2016 00:26:54 +0000 (17:26 -0700)
commit5c4a9129b81027eca12aeaf2fa9defb45150f533
treeb62cd42f747334c600971ce0b79a9b0e81854c95
parent91bbc174d45c347aa7aedb2215cc7d2013c06c1f
clk/samsung: Use CLK_OF_DECLARE_DRIVER initialization method for CLKOUT

The Exynos PMU node is an interrupt, clock and PMU (Power Management Unit)
controller, and these functionalities are supported by different drivers
that matches the same compatible strings.

Since commit 989eafd0b609 ("clk: core: Avoid double initialization of
clocks") the OF core flags clock controllers registered with the
CLK_OF_DECLARE() macro as OF_POPULATED, so platform devices with the same
compatible string will not be registered.

This prevents the PMU platform device to be created, so the Exynos PMU
driver is never probed. This breaks (among other things) Suspend-to-RAM.

Fix this by changing CLKOUT driver initialization method to
CLK_OF_DECLARE_DRIVER(), which doesn't clear the OF_POPULATED flag, so
later a platform device is created and the Exynos PMU platform driver
can be be probed properly.

Fixes: 989eafd0b609 ("clk: core: Avoid double initialization of clocks")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/samsung/clk-exynos-clkout.c