@@ -804,43 +804,42 @@ static void rockchip_configure_pd_cnt(struct rockchip_pmu *pmu,
804
804
static int rockchip_pm_add_subdomain (struct rockchip_pmu * pmu ,
805
805
struct device_node * parent )
806
806
{
807
- struct device_node * np ;
808
807
struct generic_pm_domain * child_domain , * parent_domain ;
809
808
int error ;
810
809
811
- for_each_child_of_node (parent , np ) {
810
+ for_each_child_of_node_scoped (parent , np ) {
812
811
u32 idx ;
813
812
814
813
error = of_property_read_u32 (parent , "reg" , & idx );
815
814
if (error ) {
816
815
dev_err (pmu -> dev ,
817
816
"%pOFn: failed to retrieve domain id (reg): %d\n" ,
818
817
parent , error );
819
- goto err_out ;
818
+ return error ;
820
819
}
821
820
parent_domain = pmu -> genpd_data .domains [idx ];
822
821
823
822
error = rockchip_pm_add_one_domain (pmu , np );
824
823
if (error ) {
825
824
dev_err (pmu -> dev , "failed to handle node %pOFn: %d\n" ,
826
825
np , error );
827
- goto err_out ;
826
+ return error ;
828
827
}
829
828
830
829
error = of_property_read_u32 (np , "reg" , & idx );
831
830
if (error ) {
832
831
dev_err (pmu -> dev ,
833
832
"%pOFn: failed to retrieve domain id (reg): %d\n" ,
834
833
np , error );
835
- goto err_out ;
834
+ return error ;
836
835
}
837
836
child_domain = pmu -> genpd_data .domains [idx ];
838
837
839
838
error = pm_genpd_add_subdomain (parent_domain , child_domain );
840
839
if (error ) {
841
840
dev_err (pmu -> dev , "%s failed to add subdomain %s: %d\n" ,
842
841
parent_domain -> name , child_domain -> name , error );
843
- goto err_out ;
842
+ return error ;
844
843
} else {
845
844
dev_dbg (pmu -> dev , "%s add subdomain: %s\n" ,
846
845
parent_domain -> name , child_domain -> name );
@@ -850,17 +849,12 @@ static int rockchip_pm_add_subdomain(struct rockchip_pmu *pmu,
850
849
}
851
850
852
851
return 0 ;
853
-
854
- err_out :
855
- of_node_put (np );
856
- return error ;
857
852
}
858
853
859
854
static int rockchip_pm_domain_probe (struct platform_device * pdev )
860
855
{
861
856
struct device * dev = & pdev -> dev ;
862
857
struct device_node * np = dev -> of_node ;
863
- struct device_node * node ;
864
858
struct device * parent ;
865
859
struct rockchip_pmu * pmu ;
866
860
const struct rockchip_pmu_info * pmu_info ;
@@ -918,20 +912,18 @@ static int rockchip_pm_domain_probe(struct platform_device *pdev)
918
912
*/
919
913
mutex_lock (& dmc_pmu_mutex );
920
914
921
- for_each_available_child_of_node (np , node ) {
915
+ for_each_available_child_of_node_scoped (np , node ) {
922
916
error = rockchip_pm_add_one_domain (pmu , node );
923
917
if (error ) {
924
918
dev_err (dev , "failed to handle node %pOFn: %d\n" ,
925
919
node , error );
926
- of_node_put (node );
927
920
goto err_out ;
928
921
}
929
922
930
923
error = rockchip_pm_add_subdomain (pmu , node );
931
924
if (error < 0 ) {
932
925
dev_err (dev , "failed to handle subdomain node %pOFn: %d\n" ,
933
926
node , error );
934
- of_node_put (node );
935
927
goto err_out ;
936
928
}
937
929
}
0 commit comments