dm: treewide: Do not opencode uclass_probe_all()

We already have a function for probing all devices of a specific class,
use it.

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Michal Suchanek 2022-10-12 21:57:51 +02:00 committed by Simon Glass
parent dfecd63192
commit c0648b7b9d
4 changed files with 9 additions and 54 deletions

View File

@ -20,25 +20,13 @@ DECLARE_GLOBAL_DATA_PTR;
int cpu_probe_all(void)
{
struct udevice *cpu;
int ret;
int ret = uclass_probe_all(UCLASS_CPU);
ret = uclass_first_device(UCLASS_CPU, &cpu);
if (ret) {
debug("%s: No CPU found (err = %d)\n", __func__, ret);
return ret;
debug("%s: Error while probing CPUs (err = %d %s)\n",
__func__, ret, errno_str(ret));
}
while (cpu) {
ret = uclass_next_device(&cpu);
if (ret) {
debug("%s: Error while probing CPU (err = %d)\n",
__func__, ret);
return ret;
}
}
return 0;
return ret;
}
int cpu_is_current(struct udevice *cpu)

View File

@ -183,21 +183,8 @@ void virtio_driver_features_init(struct virtio_dev_priv *priv,
int virtio_init(void)
{
struct udevice *bus;
int ret;
/* Enumerate all known virtio devices */
ret = uclass_first_device(UCLASS_VIRTIO, &bus);
if (ret)
return ret;
while (bus) {
ret = uclass_next_device(&bus);
if (ret)
break;
}
return ret;
return uclass_probe_all(UCLASS_VIRTIO);
}
static int virtio_uclass_pre_probe(struct udevice *udev)

View File

@ -512,23 +512,15 @@ static int dm_test_leak(struct unit_test_state *uts)
int i;
for (i = 0; i < 2; i++) {
struct udevice *dev;
int ret;
int id;
dm_leak_check_start(uts);
ut_assertok(dm_scan_plat(false));
ut_assertok(dm_scan_fdt(false));
/* Scanning the uclass is enough to probe all the devices */
for (id = UCLASS_ROOT; id < UCLASS_COUNT; id++) {
for (ret = uclass_first_device(UCLASS_TEST, &dev);
dev;
ret = uclass_next_device(&dev))
;
ut_assertok(ret);
}
ret = uclass_probe_all(UCLASS_TEST);
ut_assertok(ret);
ut_assertok(dm_leak_check_end(uts));
}
@ -653,10 +645,7 @@ static int dm_test_children(struct unit_test_state *uts)
ut_asserteq(2 + NODE_COUNT, dm_testdrv_op_count[DM_TEST_OP_PROBE]);
/* Probe everything */
for (ret = uclass_first_device(UCLASS_TEST, &dev);
dev;
ret = uclass_next_device(&dev))
;
ret = uclass_probe_all(UCLASS_TEST);
ut_assertok(ret);
ut_asserteq(total, dm_testdrv_op_count[DM_TEST_OP_PROBE]);

View File

@ -165,16 +165,7 @@ static int dm_test_post_run(struct unit_test_state *uts)
/* Ensure all the test devices are probed */
static int do_autoprobe(struct unit_test_state *uts)
{
struct udevice *dev;
int ret;
/* Scanning the uclass is enough to probe all the devices */
for (ret = uclass_first_device(UCLASS_TEST, &dev);
dev;
ret = uclass_next_device(&dev))
;
return ret;
return uclass_probe_all(UCLASS_TEST);
}
/*