@@ -588,15 +588,14 @@ static int funcs_utils(struct device *dev, struct pinfunction *funcs,
588588 unsigned int * nr_funcs , funcs_util_ops op )
589589{
590590 struct device_node * node = dev -> of_node ;
591- struct device_node * np ;
592591 struct property * prop ;
593592 const char * fn_name ;
594593 const char * * groups ;
595594 unsigned int fid ;
596595 int i , j ;
597596
598597 i = 0 ;
599- for_each_child_of_node (node , np ) {
598+ for_each_child_of_node_scoped (node , np ) {
600599 prop = of_find_property (np , "groups" , NULL );
601600 if (!prop )
602601 continue ;
@@ -635,7 +634,6 @@ static int funcs_utils(struct device *dev, struct pinfunction *funcs,
635634 break ;
636635
637636 default :
638- of_node_put (np );
639637 return - EINVAL ;
640638 }
641639 i ++ ;
@@ -708,54 +706,46 @@ static int eqbr_build_groups(struct eqbr_pinctrl_drv_data *drvdata)
708706 struct device_node * node = dev -> of_node ;
709707 unsigned int * pins , * pinmux , pin_id , pinmux_id ;
710708 struct pingroup group , * grp = & group ;
711- struct device_node * np ;
712709 struct property * prop ;
713710 int j , err ;
714711
715- for_each_child_of_node (node , np ) {
712+ for_each_child_of_node_scoped (node , np ) {
716713 prop = of_find_property (np , "groups" , NULL );
717714 if (!prop )
718715 continue ;
719716
720717 err = of_property_count_u32_elems (np , "pins" );
721718 if (err < 0 ) {
722719 dev_err (dev , "No pins in the group: %s\n" , prop -> name );
723- of_node_put (np );
724720 return err ;
725721 }
726722 grp -> npins = err ;
727723 grp -> name = prop -> value ;
728724 pins = devm_kcalloc (dev , grp -> npins , sizeof (* pins ), GFP_KERNEL );
729- if (!pins ) {
730- of_node_put (np );
725+ if (!pins )
731726 return - ENOMEM ;
732- }
727+
733728 grp -> pins = pins ;
734729
735730 pinmux = devm_kcalloc (dev , grp -> npins , sizeof (* pinmux ), GFP_KERNEL );
736- if (!pinmux ) {
737- of_node_put (np );
731+ if (!pinmux )
738732 return - ENOMEM ;
739- }
740733
741734 for (j = 0 ; j < grp -> npins ; j ++ ) {
742735 if (of_property_read_u32_index (np , "pins" , j , & pin_id )) {
743736 dev_err (dev , "Group %s: Read intel pins id failed\n" ,
744737 grp -> name );
745- of_node_put (np );
746738 return - EINVAL ;
747739 }
748740 if (pin_id >= drvdata -> pctl_desc .npins ) {
749741 dev_err (dev , "Group %s: Invalid pin ID, idx: %d, pin %u\n" ,
750742 grp -> name , j , pin_id );
751- of_node_put (np );
752743 return - EINVAL ;
753744 }
754745 pins [j ] = pin_id ;
755746 if (of_property_read_u32_index (np , "pinmux" , j , & pinmux_id )) {
756747 dev_err (dev , "Group %s: Read intel pinmux id failed\n" ,
757748 grp -> name );
758- of_node_put (np );
759749 return - EINVAL ;
760750 }
761751 pinmux [j ] = pinmux_id ;
@@ -766,7 +756,6 @@ static int eqbr_build_groups(struct eqbr_pinctrl_drv_data *drvdata)
766756 pinmux );
767757 if (err < 0 ) {
768758 dev_err (dev , "Failed to register group %s\n" , grp -> name );
769- of_node_put (np );
770759 return err ;
771760 }
772761 memset (& group , 0 , sizeof (group ));
0 commit comments