clk: oxnas: Hold reference returned by of_get_parent()
[ Upstream commit 1d6aa08c54cd0e005210ab8e3b1e92ede70f8a4f ]
In oxnas_stdclk_probe(), we need to hold the reference returned by
of_get_parent() and use it to call of_node_put() for refcount
balance.
Fixes: 0bbd72b4c6
("clk: Add Oxford Semiconductor OXNAS Standard Clocks")
Signed-off-by: Liang He <windhl@126.com>
Link: https://lore.kernel.org/r/20220628143155.170550-1-windhl@126.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
ad3a056982
commit
fcaff9bc6b
@ -207,7 +207,7 @@ static const struct of_device_id oxnas_stdclk_dt_ids[] = {
|
|||||||
|
|
||||||
static int oxnas_stdclk_probe(struct platform_device *pdev)
|
static int oxnas_stdclk_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct device_node *np = pdev->dev.of_node;
|
struct device_node *np = pdev->dev.of_node, *parent_np;
|
||||||
const struct oxnas_stdclk_data *data;
|
const struct oxnas_stdclk_data *data;
|
||||||
const struct of_device_id *id;
|
const struct of_device_id *id;
|
||||||
struct regmap *regmap;
|
struct regmap *regmap;
|
||||||
@ -219,7 +219,9 @@ static int oxnas_stdclk_probe(struct platform_device *pdev)
|
|||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
data = id->data;
|
data = id->data;
|
||||||
|
|
||||||
regmap = syscon_node_to_regmap(of_get_parent(np));
|
parent_np = of_get_parent(np);
|
||||||
|
regmap = syscon_node_to_regmap(parent_np);
|
||||||
|
of_node_put(parent_np);
|
||||||
if (IS_ERR(regmap)) {
|
if (IS_ERR(regmap)) {
|
||||||
dev_err(&pdev->dev, "failed to have parent regmap\n");
|
dev_err(&pdev->dev, "failed to have parent regmap\n");
|
||||||
return PTR_ERR(regmap);
|
return PTR_ERR(regmap);
|
||||||
|
Loading…
Reference in New Issue
Block a user