mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
5b394b2ddf
commit
3a23eb725b
|
@ -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,
|
||||||
}
|
}
|
||||||
|
|
||||||
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 {
|
||||||
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 *
|
||||||
}
|
}
|
||||||
|
|
||||||
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 = {
|
||||||
.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 = {
|
||||||
|
|
||||||
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 = {
|
||||||
.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 = {
|
||||||
|
|
||||||
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);
|
||||||
|
|
Loading…
Reference in New Issue