Commit 3a23eb72 authored by Manivannan Sadhasivam's avatar Manivannan Sadhasivam Committed by Stephen Boyd

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: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent 5b394b2d
...@@ -39,7 +39,7 @@ static void owl_clk_set_regmap(const struct owl_clk_desc *desc, ...@@ -39,7 +39,7 @@ static void owl_clk_set_regmap(const struct owl_clk_desc *desc,
} }
int owl_clk_regmap_init(struct platform_device *pdev, int owl_clk_regmap_init(struct platform_device *pdev,
const struct owl_clk_desc *desc) struct owl_clk_desc *desc)
{ {
void __iomem *base; void __iomem *base;
struct regmap *regmap; struct regmap *regmap;
...@@ -57,6 +57,7 @@ int owl_clk_regmap_init(struct platform_device *pdev, ...@@ -57,6 +57,7 @@ int owl_clk_regmap_init(struct platform_device *pdev,
} }
owl_clk_set_regmap(desc, regmap); owl_clk_set_regmap(desc, regmap);
desc->regmap = regmap;
return 0; return 0;
} }
......
...@@ -26,6 +26,7 @@ struct owl_clk_desc { ...@@ -26,6 +26,7 @@ struct owl_clk_desc {
struct owl_clk_common **clks; struct owl_clk_common **clks;
unsigned long num_clks; unsigned long num_clks;
struct clk_hw_onecell_data *hw_clks; struct clk_hw_onecell_data *hw_clks;
struct regmap *regmap;
}; };
static inline struct owl_clk_common * static inline struct owl_clk_common *
...@@ -35,7 +36,7 @@ static inline struct owl_clk_common * ...@@ -35,7 +36,7 @@ static inline struct owl_clk_common *
} }
int owl_clk_regmap_init(struct platform_device *pdev, int owl_clk_regmap_init(struct platform_device *pdev,
const struct owl_clk_desc *desc); struct owl_clk_desc *desc);
int owl_clk_probe(struct device *dev, struct clk_hw_onecell_data *hw_clks); int owl_clk_probe(struct device *dev, struct clk_hw_onecell_data *hw_clks);
#endif /* _OWL_COMMON_H_ */ #endif /* _OWL_COMMON_H_ */
...@@ -569,7 +569,7 @@ static struct clk_hw_onecell_data s700_hw_clks = { ...@@ -569,7 +569,7 @@ static struct clk_hw_onecell_data s700_hw_clks = {
.num = CLK_NR_CLKS, .num = CLK_NR_CLKS,
}; };
static const struct owl_clk_desc s700_clk_desc = { static struct owl_clk_desc s700_clk_desc = {
.clks = s700_clks, .clks = s700_clks,
.num_clks = ARRAY_SIZE(s700_clks), .num_clks = ARRAY_SIZE(s700_clks),
...@@ -578,7 +578,7 @@ static const struct owl_clk_desc s700_clk_desc = { ...@@ -578,7 +578,7 @@ static const struct owl_clk_desc s700_clk_desc = {
static int s700_clk_probe(struct platform_device *pdev) static int s700_clk_probe(struct platform_device *pdev)
{ {
const struct owl_clk_desc *desc; struct owl_clk_desc *desc;
desc = &s700_clk_desc; desc = &s700_clk_desc;
owl_clk_regmap_init(pdev, desc); owl_clk_regmap_init(pdev, desc);
......
...@@ -684,7 +684,7 @@ static struct clk_hw_onecell_data s900_hw_clks = { ...@@ -684,7 +684,7 @@ static struct clk_hw_onecell_data s900_hw_clks = {
.num = CLK_NR_CLKS, .num = CLK_NR_CLKS,
}; };
static const struct owl_clk_desc s900_clk_desc = { static struct owl_clk_desc s900_clk_desc = {
.clks = s900_clks, .clks = s900_clks,
.num_clks = ARRAY_SIZE(s900_clks), .num_clks = ARRAY_SIZE(s900_clks),
...@@ -693,7 +693,7 @@ static const struct owl_clk_desc s900_clk_desc = { ...@@ -693,7 +693,7 @@ static const struct owl_clk_desc s900_clk_desc = {
static int s900_clk_probe(struct platform_device *pdev) static int s900_clk_probe(struct platform_device *pdev)
{ {
const struct owl_clk_desc *desc; struct owl_clk_desc *desc;
desc = &s900_clk_desc; desc = &s900_clk_desc;
owl_clk_regmap_init(pdev, desc); owl_clk_regmap_init(pdev, desc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment