瀏覽代碼

dm: Make sure that the root device is probed

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>
Acked-by: Marek Vasut <marex@denx.de>
Simon Glass 10 年之前
父節點
當前提交
7497812d47
共有 2 個文件被更改,包括 4 次插入1 次删除
  1. 3 0
      drivers/core/root.c
  2. 1 1
      test/dm/core.c

+ 3 - 0
drivers/core/root.c

@@ -47,6 +47,9 @@ int dm_init(void)
 	INIT_LIST_HEAD(&DM_UCLASS_ROOT_NON_CONST);
 
 	ret = device_bind_by_name(NULL, &root_info, &DM_ROOT_NON_CONST);
+	if (ret)
+		return ret;
+	ret = device_probe(DM_ROOT_NON_CONST);
 	if (ret)
 		return ret;
 

+ 1 - 1
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