summaryrefslogtreecommitdiffstats
path: root/drivers/clk/sunxi-ng/ccu_common.h
diff options
context:
space:
mode:
authorStephen Boyd <sboyd@codeaurora.org>2017-04-17 20:04:12 +0200
committerStephen Boyd <sboyd@codeaurora.org>2017-04-17 20:04:12 +0200
commite7590308d17e578e47f298cc3fec359108341cb6 (patch)
tree79c117415771dad54e79f8422fe84193f5c1c9be /drivers/clk/sunxi-ng/ccu_common.h
parentclk: stm32f4: fix: exclude values 0 and 1 for PLLQ (diff)
parentclk: sunxi-ng: a33: gate then ungate PLL CPU clk after rate change (diff)
downloadlinux-e7590308d17e578e47f298cc3fec359108341cb6.tar.xz
linux-e7590308d17e578e47f298cc3fec359108341cb6.zip
Merge tag 'sunxi-clk-fixes-for-4.11-2-bis' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into clk-fixes
Pull Allwinner clock fixes for 4.11 from Maxime Ripard: Two build errors fixes for the sunxi-ng drivers. The two other patches fix random CPU crashes happening on the A33 since CPUFreq has been enabled in 4.11. * tag 'sunxi-clk-fixes-for-4.11-2-bis' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: clk: sunxi-ng: a33: gate then ungate PLL CPU clk after rate change clk: sunxi-ng: Add clk notifier to gate then ungate PLL clocks clk: sunxi-ng: fix build failure in ccu-sun9i-a80 driver clk: sunxi-ng: fix build error without CONFIG_RESET_CONTROLLER
Diffstat (limited to 'drivers/clk/sunxi-ng/ccu_common.h')
-rw-r--r--drivers/clk/sunxi-ng/ccu_common.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/clk/sunxi-ng/ccu_common.h b/drivers/clk/sunxi-ng/ccu_common.h
index 73d81dc58fc5..d6fdd7a789aa 100644
--- a/drivers/clk/sunxi-ng/ccu_common.h
+++ b/drivers/clk/sunxi-ng/ccu_common.h
@@ -83,6 +83,18 @@ struct sunxi_ccu_desc {
void ccu_helper_wait_for_lock(struct ccu_common *common, u32 lock);
+struct ccu_pll_nb {
+ struct notifier_block clk_nb;
+ struct ccu_common *common;
+
+ u32 enable;
+ u32 lock;
+};
+
+#define to_ccu_pll_nb(_nb) container_of(_nb, struct ccu_pll_nb, clk_nb)
+
+int ccu_pll_notifier_register(struct ccu_pll_nb *pll_nb);
+
int sunxi_ccu_probe(struct device_node *node, void __iomem *reg,
const struct sunxi_ccu_desc *desc);