File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -41,7 +41,7 @@ int sprd_clk_regmap_init(struct platform_device *pdev,
4141{
4242 void __iomem * base ;
4343 struct device * dev = & pdev -> dev ;
44- struct device_node * node = dev -> of_node ;
44+ struct device_node * node = dev -> of_node , * np ;
4545 struct regmap * regmap ;
4646
4747 if (of_find_property (node , "sprd,syscon" , NULL )) {
@@ -50,9 +50,10 @@ int sprd_clk_regmap_init(struct platform_device *pdev,
5050 pr_err ("%s: failed to get syscon regmap\n" , __func__ );
5151 return PTR_ERR (regmap );
5252 }
53- } else if (of_device_is_compatible (of_get_parent (dev -> of_node ),
54- "syscon" )) {
55- regmap = device_node_to_regmap (of_get_parent (dev -> of_node ));
53+ } else if (of_device_is_compatible (np = of_get_parent (node ), "syscon" ) ||
54+ (of_node_put (np ), 0 )) {
55+ regmap = device_node_to_regmap (np );
56+ of_node_put (np );
5657 if (IS_ERR (regmap )) {
5758 dev_err (dev , "failed to get regmap from its parent.\n" );
5859 return PTR_ERR (regmap );
You can’t perform that action at this time.
0 commit comments