summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2019-09-25 17:55:55 +0300
committerBin Meng <bmeng.cn@gmail.com>2019-10-08 08:57:38 +0300
commit4805a7af8ebd4c604e1e32355927ec5035685121 (patch)
treefa15885bb421070d45c336c3a2e02a9744de4dfe
parentea14778d0680f8a3f262a06ceb52ea17deb6a104 (diff)
downloadu-boot-4805a7af8ebd4c604e1e32355927ec5035685121.tar.xz
dm: core: Correct the return value for uclass_find_first_device()
This function returns -ENODEV when there is no device. This is inconsistent with other functions, such as uclass_find_next_device(), which returns 0. Update it and tidy up the incorrect '-1' values in the comments. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
-rw-r--r--drivers/core/uclass.c2
-rw-r--r--include/dm/uclass-internal.h4
-rw-r--r--test/dm/core.c3
3 files changed, 4 insertions, 5 deletions
diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c
index af575bbeb7..f217876cd2 100644
--- a/drivers/core/uclass.c
+++ b/drivers/core/uclass.c
@@ -225,7 +225,7 @@ int uclass_find_first_device(enum uclass_id id, struct udevice **devp)
if (ret)
return ret;
if (list_empty(&uc->dev_head))
- return -ENODEV;
+ return 0;
*devp = list_first_entry(&uc->dev_head, struct udevice, uclass_node);
diff --git a/include/dm/uclass-internal.h b/include/dm/uclass-internal.h
index 6977995246..6e3f15c2b0 100644
--- a/include/dm/uclass-internal.h
+++ b/include/dm/uclass-internal.h
@@ -69,7 +69,7 @@ int uclass_find_device(enum uclass_id id, int index, struct udevice **devp);
* The device is not prepared for use - this is an internal function.
* The function uclass_get_device_tail() can be used to probe the device.
*
- * @return 0 if OK (found or not found), -1 on error
+ * @return 0 if OK (found or not found), -ve on error
*/
int uclass_find_first_device(enum uclass_id id, struct udevice **devp);
@@ -81,7 +81,7 @@ int uclass_find_first_device(enum uclass_id id, struct udevice **devp);
* The device is not prepared for use - this is an internal function.
* The function uclass_get_device_tail() can be used to probe the device.
*
- * @return 0 if OK (found or not found), -1 on error
+ * @return 0 if OK (found or not found), -ve on error
*/
int uclass_find_next_device(struct udevice **devp);
diff --git a/test/dm/core.c b/test/dm/core.c
index edd55b05d6..f74c430843 100644
--- a/test/dm/core.c
+++ b/test/dm/core.c
@@ -749,8 +749,7 @@ static int dm_test_uclass_devices_find(struct unit_test_state *uts)
ut_assert(dev);
}
- ret = uclass_find_first_device(UCLASS_TEST_DUMMY, &dev);
- ut_assert(ret == -ENODEV);
+ ut_assertok(uclass_find_first_device(UCLASS_TEST_DUMMY, &dev));
ut_assert(!dev);
return 0;