Add uclass_foreach_dev_probe() which iterates through devices of a given uclass. Devices are probed if necessary and are ready to use.
Signed-off-by: Patrice Chotard <patrice.chot...@st.com> Reviewed-by: Simon Glass <s...@chromium.org> --- Changes in v3: None Changes in v2: None include/dm/uclass.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/dm/uclass.h b/include/dm/uclass.h index 6e7c1cd3e8bc..10ccfdce951e 100644 --- a/include/dm/uclass.h +++ b/include/dm/uclass.h @@ -376,4 +376,20 @@ int uclass_resolve_seq(struct udevice *dev); #define uclass_foreach_dev_safe(pos, next, uc) \ list_for_each_entry_safe(pos, next, &uc->dev_head, uclass_node) +/** + * uclass_foreach_dev_probe() - Helper function to iteration through devices + * of given uclass + * + * This creates a for() loop which works through the available devices in + * a uclass in order from start to end. Devices are probed if necessary, + * and ready for use. + * + * @id: Uclass ID + * @dev: struct udevice * to hold the current device. Set to NULL when there + * are no more devices. + */ +#define uclass_foreach_dev_probe(id, dev) \ + for (uclass_first_device(id, &dev); dev; \ + uclass_next_device(&dev)) + #endif -- 1.9.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot