@@ -599,7 +599,7 @@ static int max77693_led_parse_dt(struct max77693_led_device *led,
599599{
600600 struct device * dev = & led -> pdev -> dev ;
601601 struct max77693_sub_led * sub_leds = led -> sub_leds ;
602- struct device_node * node = dev_of_node (dev ), * child_node ;
602+ struct device_node * node = dev_of_node (dev );
603603 struct property * prop ;
604604 u32 led_sources [2 ];
605605 int i , ret , fled_id ;
@@ -608,7 +608,7 @@ static int max77693_led_parse_dt(struct max77693_led_device *led,
608608 of_property_read_u32 (node , "maxim,boost-mvout" , & cfg -> boost_vout );
609609 of_property_read_u32 (node , "maxim,mvsys-min" , & cfg -> low_vsys );
610610
611- for_each_available_child_of_node (node , child_node ) {
611+ for_each_available_child_of_node_scoped (node , child_node ) {
612612 prop = of_find_property (child_node , "led-sources" , NULL );
613613 if (prop ) {
614614 const __be32 * srcs = NULL ;
@@ -622,7 +622,6 @@ static int max77693_led_parse_dt(struct max77693_led_device *led,
622622 } else {
623623 dev_err (dev ,
624624 "led-sources DT property missing\n" );
625- of_node_put (child_node );
626625 return - EINVAL ;
627626 }
628627
@@ -638,14 +637,12 @@ static int max77693_led_parse_dt(struct max77693_led_device *led,
638637 } else {
639638 dev_err (dev ,
640639 "Wrong led-sources DT property value.\n" );
641- of_node_put (child_node );
642640 return - EINVAL ;
643641 }
644642
645643 if (sub_nodes [fled_id ]) {
646644 dev_err (dev ,
647645 "Conflicting \"led-sources\" DT properties\n" );
648- of_node_put (child_node );
649646 return - EINVAL ;
650647 }
651648
@@ -681,10 +678,8 @@ static int max77693_led_parse_dt(struct max77693_led_device *led,
681678
682679 if (++ cfg -> num_leds == 2 ||
683680 (max77693_fled_used (led , FLED1 ) &&
684- max77693_fled_used (led , FLED2 ))) {
685- of_node_put (child_node );
681+ max77693_fled_used (led , FLED2 )))
686682 break ;
687- }
688683 }
689684
690685 if (cfg -> num_leds == 0 ) {
0 commit comments