On Tue, 24 Dec 2024 21:37:24 +0800 Zijun Hu <zijun_hu@xxxxxxxxxx> wrote: > From: Zijun Hu <quic_zijuhu@xxxxxxxxxxx> > > device_for_each_child_reverse_from() checks (!parent->p) for its > parameter @parent, and that is not consistent with other APIs of > its cluster as shown below: > > device_for_each_child_reverse_from() // check (!parent->p) > device_for_each_child_reverse() // check (!parent || !parent->p) > device_for_each_child() // same above > device_find_child() // same above > > Correct the API's parameter @parent check by (!parent || !parent->p). > > Signed-off-by: Zijun Hu <quic_zijuhu@xxxxxxxxxxx> Cost is minor and consistency is always nice event if it is very unlikely reasonable code would call this without parent being set. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > --- > drivers/base/core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/base/core.c b/drivers/base/core.c > index 69bb6bf4bd12395226ee3c99e2f63d15c7e342a5..34fb13f914b3db47e6a047fdabf3c9b18ecc08cc 100644 > --- a/drivers/base/core.c > +++ b/drivers/base/core.c > @@ -4050,7 +4050,7 @@ int device_for_each_child_reverse_from(struct device *parent, > struct device *child; > int error = 0; > > - if (!parent->p) > + if (!parent || !parent->p) > return 0; > > klist_iter_init_node(&parent->p->klist_children, &i, >