Message ID | 20220915025400.4003321-1-windhl@126.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | usb: typec: anx7411: Call of_node_get() before of_find_xxx API | expand |
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, > Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support") > Signed-off-by: Liang He <windhl@126.com> > --- > 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
At 2022-09-15 14:53:51, "Heikki Krogerus" <heikki.krogerus@linux.intel.com> 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@126.com> >> --- >> 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
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");
In anx7411_typec_switch_probe(), we should call of_node_get() before of_find_node_by_name() which will automatically decrease the 'from' argument. Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support") Signed-off-by: Liang He <windhl@126.com> --- drivers/usb/typec/anx7411.c | 2 ++ 1 file changed, 2 insertions(+)