summaryrefslogtreecommitdiffstats
path: root/drivers/clk
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2022-01-31 08:57:16 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2022-02-01 09:01:34 +0100
commit450d00f58e80956177fd117dd95d4908e0b4ffae (patch)
tree5eaed15a31de9244ad09254fc2e5926d7c0b20bd /drivers/clk
parent8b0ca7a885eaa244b7cf23895f4ee9c264efcfbd (diff)
downloadbarebox-450d00f58e80956177fd117dd95d4908e0b4ffae.tar.gz
barebox-450d00f58e80956177fd117dd95d4908e0b4ffae.tar.xz
clk: divider: add clk_hw registration functions
Save users the hassle of opencoding by providing wrappers with the same Linux semantics: names are duplicated, same arguments and struct clk_hw is returned. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220131075725.1873026-4-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/clk')
-rw-r--r--drivers/clk/clk-divider.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/clk/clk-divider.c b/drivers/clk/clk-divider.c
index 856b8a0648..fed9ad9d24 100644
--- a/drivers/clk/clk-divider.c
+++ b/drivers/clk/clk-divider.c
@@ -428,3 +428,24 @@ struct clk *clk_register_divider(struct device_d *dev, const char *name,
return clk_divider(name, parent_name, flags, reg, shift, width,
clk_divider_flags);
}
+
+struct clk_hw *clk_hw_register_divider_table(struct device_d *dev,
+ const char *name, const char *parent_name, unsigned long flags,
+ void __iomem *reg, u8 shift, u8 width,
+ u8 clk_divider_flags, const struct clk_div_table *table,
+ spinlock_t *lock)
+{
+ return clk_to_clk_hw(clk_register_divider_table(dev, xstrdup(name),
+ xstrdup(parent_name), flags, reg, shift, width,
+ clk_divider_flags, table, lock));
+}
+
+struct clk_hw *clk_hw_register_divider(struct device_d *dev,
+ const char *name, const char *parent_name, unsigned long flags,
+ void __iomem *reg, u8 shift, u8 width,
+ u8 clk_divider_flags, spinlock_t *lock)
+{
+ return clk_to_clk_hw(clk_register_divider(dev, xstrdup(name),
+ xstrdup(parent_name), flags, reg, shift, width,
+ clk_divider_flags, lock));
+}