@@ -588,15 +588,14 @@ static int funcs_utils(struct device *dev, struct pinfunction *funcs,
588
588
unsigned int * nr_funcs , funcs_util_ops op )
589
589
{
590
590
struct device_node * node = dev -> of_node ;
591
- struct device_node * np ;
592
591
struct property * prop ;
593
592
const char * fn_name ;
594
593
const char * * groups ;
595
594
unsigned int fid ;
596
595
int i , j ;
597
596
598
597
i = 0 ;
599
- for_each_child_of_node (node , np ) {
598
+ for_each_child_of_node_scoped (node , np ) {
600
599
prop = of_find_property (np , "groups" , NULL );
601
600
if (!prop )
602
601
continue ;
@@ -635,7 +634,6 @@ static int funcs_utils(struct device *dev, struct pinfunction *funcs,
635
634
break ;
636
635
637
636
default :
638
- of_node_put (np );
639
637
return - EINVAL ;
640
638
}
641
639
i ++ ;
@@ -708,54 +706,46 @@ static int eqbr_build_groups(struct eqbr_pinctrl_drv_data *drvdata)
708
706
struct device_node * node = dev -> of_node ;
709
707
unsigned int * pins , * pinmux , pin_id , pinmux_id ;
710
708
struct pingroup group , * grp = & group ;
711
- struct device_node * np ;
712
709
struct property * prop ;
713
710
int j , err ;
714
711
715
- for_each_child_of_node (node , np ) {
712
+ for_each_child_of_node_scoped (node , np ) {
716
713
prop = of_find_property (np , "groups" , NULL );
717
714
if (!prop )
718
715
continue ;
719
716
720
717
err = of_property_count_u32_elems (np , "pins" );
721
718
if (err < 0 ) {
722
719
dev_err (dev , "No pins in the group: %s\n" , prop -> name );
723
- of_node_put (np );
724
720
return err ;
725
721
}
726
722
grp -> npins = err ;
727
723
grp -> name = prop -> value ;
728
724
pins = devm_kcalloc (dev , grp -> npins , sizeof (* pins ), GFP_KERNEL );
729
- if (!pins ) {
730
- of_node_put (np );
725
+ if (!pins )
731
726
return - ENOMEM ;
732
- }
727
+
733
728
grp -> pins = pins ;
734
729
735
730
pinmux = devm_kcalloc (dev , grp -> npins , sizeof (* pinmux ), GFP_KERNEL );
736
- if (!pinmux ) {
737
- of_node_put (np );
731
+ if (!pinmux )
738
732
return - ENOMEM ;
739
- }
740
733
741
734
for (j = 0 ; j < grp -> npins ; j ++ ) {
742
735
if (of_property_read_u32_index (np , "pins" , j , & pin_id )) {
743
736
dev_err (dev , "Group %s: Read intel pins id failed\n" ,
744
737
grp -> name );
745
- of_node_put (np );
746
738
return - EINVAL ;
747
739
}
748
740
if (pin_id >= drvdata -> pctl_desc .npins ) {
749
741
dev_err (dev , "Group %s: Invalid pin ID, idx: %d, pin %u\n" ,
750
742
grp -> name , j , pin_id );
751
- of_node_put (np );
752
743
return - EINVAL ;
753
744
}
754
745
pins [j ] = pin_id ;
755
746
if (of_property_read_u32_index (np , "pinmux" , j , & pinmux_id )) {
756
747
dev_err (dev , "Group %s: Read intel pinmux id failed\n" ,
757
748
grp -> name );
758
- of_node_put (np );
759
749
return - EINVAL ;
760
750
}
761
751
pinmux [j ] = pinmux_id ;
@@ -766,7 +756,6 @@ static int eqbr_build_groups(struct eqbr_pinctrl_drv_data *drvdata)
766
756
pinmux );
767
757
if (err < 0 ) {
768
758
dev_err (dev , "Failed to register group %s\n" , grp -> name );
769
- of_node_put (np );
770
759
return err ;
771
760
}
772
761
memset (& group , 0 , sizeof (group ));
0 commit comments