aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>2018-08-10 05:51:05 -0400
committerStephen Boyd <sboyd@kernel.org>2018-10-16 17:40:54 -0400
commit3a23eb725b5c37dae17d1b7e2a2f9dc276ec767c (patch)
treec2e14654f43929eb44af0663b183646fd6e76905
parent5b394b2ddf0347bef56e50c69a58773c94343ff3 (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.c3
-rw-r--r--drivers/clk/actions/owl-common.h3
-rw-r--r--drivers/clk/actions/owl-s700.c4
-rw-r--r--drivers/clk/actions/owl-s900.c4
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
41int owl_clk_regmap_init(struct platform_device *pdev, 41int 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
31static inline struct owl_clk_common * 32static inline struct owl_clk_common *
@@ -35,7 +36,7 @@ static inline struct owl_clk_common *
35} 36}
36 37
37int owl_clk_regmap_init(struct platform_device *pdev, 38int owl_clk_regmap_init(struct platform_device *pdev,
38 const struct owl_clk_desc *desc); 39 struct owl_clk_desc *desc);
39int owl_clk_probe(struct device *dev, struct clk_hw_onecell_data *hw_clks); 40int 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
572static const struct owl_clk_desc s700_clk_desc = { 572static 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
579static int s700_clk_probe(struct platform_device *pdev) 579static 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
687static const struct owl_clk_desc s900_clk_desc = { 687static 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
694static int s900_clk_probe(struct platform_device *pdev) 694static 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);