summaryrefslogtreecommitdiffstats
path: root/drivers/clk/samsung/clk-cpu.h
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2020-08-26 19:15:29 +0200
committerSylwester Nawrocki <s.nawrocki@samsung.com>2020-09-17 12:05:18 +0200
commitff8e0ff9b99643a32f7e33a96867e76d0fa10f76 (patch)
tree70fdfadddc51c2bedc30bde7151e70f6d704e512 /drivers/clk/samsung/clk-cpu.h
parent1f6e17d20245e86678c75ed99ce115f46cd3410f (diff)
downloadlinux-stable-ff8e0ff9b99643a32f7e33a96867e76d0fa10f76.tar.gz
linux-stable-ff8e0ff9b99643a32f7e33a96867e76d0fa10f76.tar.bz2
linux-stable-ff8e0ff9b99643a32f7e33a96867e76d0fa10f76.zip
clk: samsung: Use cached clk_hws instead of __clk_lookup() calls
For the CPU clock registration two parent clocks are required, these are now being passed as struct clk_hw pointers, rather than by the global scope names. That allows us to avoid __clk_lookup() calls and simplifies a bit the CPU clock registration function. While at it drop unneeded extern keyword in the function declaration. Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Chanwoo Choi <cw00.choi@samsung.com> Link: https://lore.kernel.org/r/20200826171529.23618-3-s.nawrocki@samsung.com Reported-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Diffstat (limited to 'drivers/clk/samsung/clk-cpu.h')
-rw-r--r--drivers/clk/samsung/clk-cpu.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/clk/samsung/clk-cpu.h b/drivers/clk/samsung/clk-cpu.h
index ad38cc27f3df..af74686db9ef 100644
--- a/drivers/clk/samsung/clk-cpu.h
+++ b/drivers/clk/samsung/clk-cpu.h
@@ -46,7 +46,7 @@ struct exynos_cpuclk_cfg_data {
*/
struct exynos_cpuclk {
struct clk_hw hw;
- struct clk_hw *alt_parent;
+ const struct clk_hw *alt_parent;
void __iomem *ctrl_base;
spinlock_t *lock;
const struct exynos_cpuclk_cfg_data *cfg;
@@ -62,9 +62,9 @@ struct exynos_cpuclk {
#define CLK_CPU_HAS_E5433_REGS_LAYOUT (1 << 2)
};
-extern int __init exynos_register_cpu_clock(struct samsung_clk_provider *ctx,
+int __init exynos_register_cpu_clock(struct samsung_clk_provider *ctx,
unsigned int lookup_id, const char *name,
- const char *parent, const char *alt_parent,
+ const struct clk_hw *parent, const struct clk_hw *alt_parent,
unsigned long offset,
const struct exynos_cpuclk_cfg_data *cfg,
unsigned long num_cfgs, unsigned long flags);