diff options
| -rw-r--r-- | drivers/clk/exynos/clk.c | 13 | ||||
| -rw-r--r-- | drivers/clk/exynos/clk.h | 4 |
2 files changed, 17 insertions, 0 deletions
diff --git a/drivers/clk/exynos/clk.c b/drivers/clk/exynos/clk.c index a3832981f90..a2c9f4851da 100644 --- a/drivers/clk/exynos/clk.c +++ b/drivers/clk/exynos/clk.c @@ -10,6 +10,19 @@ #include <dm.h> #include "clk.h" +int samsung_clk_request(struct clk *clk) +{ + struct clk *c; + int ret; + + ret = clk_get_by_id(clk->id, &c); + if (ret) + return ret; + + clk->dev = c->dev; + return 0; +} + static void samsung_clk_register_fixed_rate(struct udevice *dev, void __iomem *base, unsigned int cmu_id, diff --git a/drivers/clk/exynos/clk.h b/drivers/clk/exynos/clk.h index e53dcc6a821..c25b7cb59d4 100644 --- a/drivers/clk/exynos/clk.h +++ b/drivers/clk/exynos/clk.h @@ -9,10 +9,13 @@ #ifndef __EXYNOS_CLK_H #define __EXYNOS_CLK_H +#include <clk.h> #include <errno.h> #include <linux/clk-provider.h> #include "clk-pll.h" +int samsung_clk_request(struct clk *clk); + #define _SAMSUNG_CLK_OPS(_name, _cmu) \ static int _name##_of_xlate(struct clk *clk, \ struct ofnode_phandle_args *args) \ @@ -37,6 +40,7 @@ static const struct clk_ops _name##_clk_ops = { \ .enable = ccf_clk_enable, \ .disable = ccf_clk_disable, \ .of_xlate = _name##_of_xlate, \ + .request = samsung_clk_request, \ } /** |
