summaryrefslogtreecommitdiffstats
path: root/drivers/clk/sunxi/clk-factors.h
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2014-11-23 14:38:07 +0100
committerMaxime Ripard <maxime.ripard@free-electrons.com>2014-12-21 23:51:37 +0100
commit7c74c220e9c6d756953235e1f8e5b704569ea613 (patch)
tree4df1c4b2558b36188fa250a85a16ad581b9a04e6 /drivers/clk/sunxi/clk-factors.h
parentff8bbf78e45ee3a07d28642ee6fa1f3424f1bab8 (diff)
downloadblackbird-obmc-linux-7c74c220e9c6d756953235e1f8e5b704569ea613.tar.gz
blackbird-obmc-linux-7c74c220e9c6d756953235e1f8e5b704569ea613.zip
clk: sunxi: Give sunxi_factors_register a registers parameter
Before this commit sunxi_factors_register uses of_iomap(node, 0) to get the clk registers. The sun6i prcm has factor clocks, for which we want to use sunxi_factors_register, but of_iomap(node, 0) does not work for the prcm factor clocks, because the prcm uses the mfd framework, so the registers are not part of the dt-node, instead they are added to the platform_device, as platform_device resources. This commit makes getting the registers the callers duty, so that sunxi_factors_register can be used with mfd instantiated platform device too. While at it also add error checking to the of_iomap calls. This commit also drops the __init function from sunxi_factors_register since platform driver probe functions are not __init. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Diffstat (limited to 'drivers/clk/sunxi/clk-factors.h')
-rw-r--r--drivers/clk/sunxi/clk-factors.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/clk/sunxi/clk-factors.h b/drivers/clk/sunxi/clk-factors.h
index 912238fde132..171085ab5513 100644
--- a/drivers/clk/sunxi/clk-factors.h
+++ b/drivers/clk/sunxi/clk-factors.h
@@ -36,8 +36,9 @@ struct clk_factors {
spinlock_t *lock;
};
-struct clk * __init sunxi_factors_register(struct device_node *node,
- const struct factors_data *data,
- spinlock_t *lock);
+struct clk *sunxi_factors_register(struct device_node *node,
+ const struct factors_data *data,
+ spinlock_t *lock,
+ void __iomem *reg);
#endif
OpenPOWER on IntegriCloud