diff options
author | Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> | 2018-08-10 05:51:05 -0400 |
---|---|---|
committer | Stephen Boyd <sboyd@kernel.org> | 2018-10-16 17:40:54 -0400 |
commit | 3a23eb725b5c37dae17d1b7e2a2f9dc276ec767c (patch) | |
tree | c2e14654f43929eb44af0663b183646fd6e76905 | |
parent | 5b394b2ddf0347bef56e50c69a58773c94343ff3 (diff) |
clk: actions: Cache regmap info in private clock descriptor
In order to support the reset controller, regmap info needs to
be cached in the private clock descriptor, owl_clk_desc. Hence,
save that and also make the clock descriptor struct non const.
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
-rw-r--r-- | drivers/clk/actions/owl-common.c | 3 | ||||
-rw-r--r-- | drivers/clk/actions/owl-common.h | 3 | ||||
-rw-r--r-- | drivers/clk/actions/owl-s700.c | 4 | ||||
-rw-r--r-- | drivers/clk/actions/owl-s900.c | 4 |
4 files changed, 8 insertions, 6 deletions
diff --git a/drivers/clk/actions/owl-common.c b/drivers/clk/actions/owl-common.c index 61c1071b5180..32dd29e0a37e 100644 --- a/drivers/clk/actions/owl-common.c +++ b/drivers/clk/actions/owl-common.c | |||
@@ -39,7 +39,7 @@ static void owl_clk_set_regmap(const struct owl_clk_desc *desc, | |||
39 | } | 39 | } |
40 | 40 | ||
41 | int owl_clk_regmap_init(struct platform_device *pdev, | 41 | int owl_clk_regmap_init(struct platform_device *pdev, |
42 | const struct owl_clk_desc *desc) | 42 | struct owl_clk_desc *desc) |
43 | { | 43 | { |
44 | void __iomem *base; | 44 | void __iomem *base; |
45 | struct regmap *regmap; | 45 | struct regmap *regmap; |
@@ -57,6 +57,7 @@ int owl_clk_regmap_init(struct platform_device *pdev, | |||
57 | } | 57 | } |
58 | 58 | ||
59 | owl_clk_set_regmap(desc, regmap); | 59 | owl_clk_set_regmap(desc, regmap); |
60 | desc->regmap = regmap; | ||
60 | 61 | ||
61 | return 0; | 62 | return 0; |
62 | } | 63 | } |
diff --git a/drivers/clk/actions/owl-common.h b/drivers/clk/actions/owl-common.h index 4fd726ec54a6..56f01f7774aa 100644 --- a/drivers/clk/actions/owl-common.h +++ b/drivers/clk/actions/owl-common.h | |||
@@ -26,6 +26,7 @@ struct owl_clk_desc { | |||
26 | struct owl_clk_common **clks; | 26 | struct owl_clk_common **clks; |
27 | unsigned long num_clks; | 27 | unsigned long num_clks; |
28 | struct clk_hw_onecell_data *hw_clks; | 28 | struct clk_hw_onecell_data *hw_clks; |
29 | struct regmap *regmap; | ||
29 | }; | 30 | }; |
30 | 31 | ||
31 | static inline struct owl_clk_common * | 32 | static inline struct owl_clk_common * |
@@ -35,7 +36,7 @@ static inline struct owl_clk_common * | |||
35 | } | 36 | } |
36 | 37 | ||
37 | int owl_clk_regmap_init(struct platform_device *pdev, | 38 | int owl_clk_regmap_init(struct platform_device *pdev, |
38 | const struct owl_clk_desc *desc); | 39 | struct owl_clk_desc *desc); |
39 | int owl_clk_probe(struct device *dev, struct clk_hw_onecell_data *hw_clks); | 40 | int owl_clk_probe(struct device *dev, struct clk_hw_onecell_data *hw_clks); |
40 | 41 | ||
41 | #endif /* _OWL_COMMON_H_ */ | 42 | #endif /* _OWL_COMMON_H_ */ |
diff --git a/drivers/clk/actions/owl-s700.c b/drivers/clk/actions/owl-s700.c index 5e9531392ee5..e7cacd677275 100644 --- a/drivers/clk/actions/owl-s700.c +++ b/drivers/clk/actions/owl-s700.c | |||
@@ -569,7 +569,7 @@ static struct clk_hw_onecell_data s700_hw_clks = { | |||
569 | .num = CLK_NR_CLKS, | 569 | .num = CLK_NR_CLKS, |
570 | }; | 570 | }; |
571 | 571 | ||
572 | static const struct owl_clk_desc s700_clk_desc = { | 572 | static struct owl_clk_desc s700_clk_desc = { |
573 | .clks = s700_clks, | 573 | .clks = s700_clks, |
574 | .num_clks = ARRAY_SIZE(s700_clks), | 574 | .num_clks = ARRAY_SIZE(s700_clks), |
575 | 575 | ||
@@ -578,7 +578,7 @@ static const struct owl_clk_desc s700_clk_desc = { | |||
578 | 578 | ||
579 | static int s700_clk_probe(struct platform_device *pdev) | 579 | static int s700_clk_probe(struct platform_device *pdev) |
580 | { | 580 | { |
581 | const struct owl_clk_desc *desc; | 581 | struct owl_clk_desc *desc; |
582 | 582 | ||
583 | desc = &s700_clk_desc; | 583 | desc = &s700_clk_desc; |
584 | owl_clk_regmap_init(pdev, desc); | 584 | owl_clk_regmap_init(pdev, desc); |
diff --git a/drivers/clk/actions/owl-s900.c b/drivers/clk/actions/owl-s900.c index 7f60ed6afe63..bb7ee872d316 100644 --- a/drivers/clk/actions/owl-s900.c +++ b/drivers/clk/actions/owl-s900.c | |||
@@ -684,7 +684,7 @@ static struct clk_hw_onecell_data s900_hw_clks = { | |||
684 | .num = CLK_NR_CLKS, | 684 | .num = CLK_NR_CLKS, |
685 | }; | 685 | }; |
686 | 686 | ||
687 | static const struct owl_clk_desc s900_clk_desc = { | 687 | static struct owl_clk_desc s900_clk_desc = { |
688 | .clks = s900_clks, | 688 | .clks = s900_clks, |
689 | .num_clks = ARRAY_SIZE(s900_clks), | 689 | .num_clks = ARRAY_SIZE(s900_clks), |
690 | 690 | ||
@@ -693,7 +693,7 @@ static const struct owl_clk_desc s900_clk_desc = { | |||
693 | 693 | ||
694 | static int s900_clk_probe(struct platform_device *pdev) | 694 | static int s900_clk_probe(struct platform_device *pdev) |
695 | { | 695 | { |
696 | const struct owl_clk_desc *desc; | 696 | struct owl_clk_desc *desc; |
697 | 697 | ||
698 | desc = &s900_clk_desc; | 698 | desc = &s900_clk_desc; |
699 | owl_clk_regmap_init(pdev, desc); | 699 | owl_clk_regmap_init(pdev, desc); |