@@ -599,7 +599,7 @@ static int max77693_led_parse_dt(struct max77693_led_device *led,
599
599
{
600
600
struct device * dev = & led -> pdev -> dev ;
601
601
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 );
603
603
struct property * prop ;
604
604
u32 led_sources [2 ];
605
605
int i , ret , fled_id ;
@@ -608,7 +608,7 @@ static int max77693_led_parse_dt(struct max77693_led_device *led,
608
608
of_property_read_u32 (node , "maxim,boost-mvout" , & cfg -> boost_vout );
609
609
of_property_read_u32 (node , "maxim,mvsys-min" , & cfg -> low_vsys );
610
610
611
- for_each_available_child_of_node (node , child_node ) {
611
+ for_each_available_child_of_node_scoped (node , child_node ) {
612
612
prop = of_find_property (child_node , "led-sources" , NULL );
613
613
if (prop ) {
614
614
const __be32 * srcs = NULL ;
@@ -622,7 +622,6 @@ static int max77693_led_parse_dt(struct max77693_led_device *led,
622
622
} else {
623
623
dev_err (dev ,
624
624
"led-sources DT property missing\n" );
625
- of_node_put (child_node );
626
625
return - EINVAL ;
627
626
}
628
627
@@ -638,14 +637,12 @@ static int max77693_led_parse_dt(struct max77693_led_device *led,
638
637
} else {
639
638
dev_err (dev ,
640
639
"Wrong led-sources DT property value.\n" );
641
- of_node_put (child_node );
642
640
return - EINVAL ;
643
641
}
644
642
645
643
if (sub_nodes [fled_id ]) {
646
644
dev_err (dev ,
647
645
"Conflicting \"led-sources\" DT properties\n" );
648
- of_node_put (child_node );
649
646
return - EINVAL ;
650
647
}
651
648
@@ -681,10 +678,8 @@ static int max77693_led_parse_dt(struct max77693_led_device *led,
681
678
682
679
if (++ cfg -> num_leds == 2 ||
683
680
(max77693_fled_used (led , FLED1 ) &&
684
- max77693_fled_used (led , FLED2 ))) {
685
- of_node_put (child_node );
681
+ max77693_fled_used (led , FLED2 )))
686
682
break ;
687
- }
688
683
}
689
684
690
685
if (cfg -> num_leds == 0 ) {
0 commit comments