At 2022-09-15 14:53:51, "Heikki Krogerus" <heikki.krogerus@xxxxxxxxxxxxxxx> wrote: >On Thu, Sep 15, 2022 at 10:54:00AM +0800, Liang He wrote: >> In anx7411_typec_switch_probe(), we should call of_node_get() before >> of_find_node_by_name() which will automatically decrease the 'from' >> argument. > >Just use of_get_child_by_name() instead of of_find_node_by_name(). If >you don't need recursion, then there is no point in using >of_find_node_by_name(). > >thanks, Thanks, Heikki Krogerus, I will send v2 patch based on your advices. Liang > >> Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support") >> Signed-off-by: Liang He <windhl@xxxxxxx> >> --- >> drivers/usb/typec/anx7411.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/usb/typec/anx7411.c b/drivers/usb/typec/anx7411.c >> index c0f0842d443c..fe000bbf7183 100644 >> --- a/drivers/usb/typec/anx7411.c >> +++ b/drivers/usb/typec/anx7411.c >> @@ -1105,6 +1105,7 @@ static int anx7411_typec_switch_probe(struct anx7411_data *ctx, >> int ret; >> struct device_node *node; >> >> + of_node_get(dev->of_node); >> node = of_find_node_by_name(dev->of_node, "orientation_switch"); >> if (!node) >> return 0; >> @@ -1115,6 +1116,7 @@ static int anx7411_typec_switch_probe(struct anx7411_data *ctx, >> return ret; >> } >> >> + of_node_get(dev->of_node); >> node = of_find_node_by_name(dev->of_node, "mode_switch"); >> if (!node) { >> dev_err(dev, "no typec mux exist"); >> -- >> 2.25.1 > >-- >heikki