driver core: Make parameter check consistent for API cluster device_(for_each|find)_child()

The following API cluster takes the same type parameter list, but do not
have consistent parameter check as shown below.

device_for_each_child(struct device *parent, ...)  // check (!parent->p)
device_for_each_child_reverse(struct device *parent, ...) // same as above
device_find_child(struct device *parent, ...)      // check (!parent)

Fixed by using consistent check (!parent || !parent->p) which covers
both existing checks for the cluster.

Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
Link: https://lore.kernel.org/r/20240824-const_dfc_prepare-v3-1-32127ea32bba@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Zijun Hu 2024-08-24 17:07:43 +08:00 committed by Greg Kroah-Hartman
parent 8ab0f4605d
commit 903c44939a

View File

@ -3998,7 +3998,7 @@ int device_for_each_child(struct device *parent, void *data,
struct device *child;
int error = 0;
if (!parent->p)
if (!parent || !parent->p)
return 0;
klist_iter_init(&parent->p->klist_children, &i);
@ -4028,7 +4028,7 @@ int device_for_each_child_reverse(struct device *parent, void *data,
struct device *child;
int error = 0;
if (!parent->p)
if (!parent || !parent->p)
return 0;
klist_iter_init(&parent->p->klist_children, &i);
@ -4062,7 +4062,7 @@ struct device *device_find_child(struct device *parent, void *data,
struct klist_iter i;
struct device *child;
if (!parent)
if (!parent || !parent->p)
return NULL;
klist_iter_init(&parent->p->klist_children, &i);