dm: core: Correct the return value for uclass_find_first_device()
authorSimon Glass <sjg@chromium.org>
Wed, 25 Sep 2019 14:55:55 +0000 (08:55 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Tue, 8 Oct 2019 05:57:38 +0000 (13:57 +0800)
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>
drivers/core/uclass.c
include/dm/uclass-internal.h
test/dm/core.c

index af575bbeb72c810f853a3a1f130296119880f797..f217876cd2c0ab70a7e81d38c705b39da1c4d040 100644 (file)
@@ -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);
 
index 6977995246da138e394c553807ea65dd704ba01a..6e3f15c2b0804c07f91b03e6f20f77e9b6527596 100644 (file)
@@ -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);
 
index edd55b05d6e293ebe9856b0e7da3d894a778fe79..f74c4308439e6ba08d2d615bc5f5f38ffde1e560 100644 (file)
@@ -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;