On Thu, 12 Dec 2024 21:38:39 +0800 Zijun Hu <zijun_hu@xxxxxxxxxx> wrote: > From: Zijun Hu <quic_zijuhu@xxxxxxxxxxx> > > For bus_find_device(), get_device() in the if condition always returns > true, move it to if body to make the API's logic more clearer. > > Signed-off-by: Zijun Hu <quic_zijuhu@xxxxxxxxxxx> I agree this is easier to read and the reasoning is sound. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > --- > drivers/base/bus.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/base/bus.c b/drivers/base/bus.c > index 657c93c38b0dc2a2247e5f482fadd3a9376a58e8..73a56f376d3a05962ce0931a2fe8b4d8839157f2 100644 > --- a/drivers/base/bus.c > +++ b/drivers/base/bus.c > @@ -402,9 +402,12 @@ struct device *bus_find_device(const struct bus_type *bus, > > klist_iter_init_node(&sp->klist_devices, &i, > (start ? &start->p->knode_bus : NULL)); > - while ((dev = next_device(&i))) > - if (match(dev, data) && get_device(dev)) > + while ((dev = next_device(&i))) { > + if (match(dev, data)) { > + get_device(dev); > break; > + } > + } > klist_iter_exit(&i); > subsys_put(sp); > return dev; >