
The root device should be probed just like any other device. The effect of this is to mark the device as activated, so that it can be removed (along with its children) if required.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/core/root.c | 3 +++ test/dm/core.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/core/root.c b/drivers/core/root.c index 4427b81..9fff164 100644 --- a/drivers/core/root.c +++ b/drivers/core/root.c @@ -48,6 +48,9 @@ int dm_init(void) ret = device_bind_by_name(NULL, &root_info, &DM_ROOT()); if (ret) return ret; + ret = device_probe(DM_ROOT()); + if (ret) + return ret;
return 0; } diff --git a/test/dm/core.c b/test/dm/core.c index 14a57c3..a889fad 100644 --- a/test/dm/core.c +++ b/test/dm/core.c @@ -106,7 +106,7 @@ static int dm_test_autoprobe(struct dm_test_state *dms) ut_asserteq(0, dm_testdrv_op_count[DM_TEST_OP_POST_PROBE]);
/* The root device should not be activated until needed */ - ut_assert(!(dms->root->flags & DM_FLAG_ACTIVATED)); + ut_assert(dms->root->flags & DM_FLAG_ACTIVATED);
/* * We should be able to find the three test devices, and they should