In order for client to know whether it was able to successfully get a
reset controller or not, do not return NULL on error for
devm_reset_control_get_optional() and
devm_reset_bulk_get_optional_by_node().

Signed-off-by: Kishon Vijay Abraham I <kis...@ti.com>
---
 drivers/reset/reset-uclass.c       | 16 ++--------------
 drivers/reset/sandbox-reset-test.c |  2 +-
 2 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/drivers/reset/reset-uclass.c b/drivers/reset/reset-uclass.c
index ac89eaf098..906f58ce3d 100644
--- a/drivers/reset/reset-uclass.c
+++ b/drivers/reset/reset-uclass.c
@@ -299,12 +299,7 @@ struct reset_ctl *devm_reset_control_get(struct udevice 
*dev, const char *id)
 struct reset_ctl *devm_reset_control_get_optional(struct udevice *dev,
                                                  const char *id)
 {
-       struct reset_ctl *r = devm_reset_control_get(dev, id);
-
-       if (IS_ERR(r))
-               return NULL;
-
-       return r;
+       return devm_reset_control_get(dev, id);
 }
 
 static void devm_reset_bulk_release(struct udevice *dev, void *res)
@@ -337,14 +332,7 @@ struct reset_ctl_bulk *devm_reset_bulk_get_by_node(struct 
udevice *dev,
 struct reset_ctl_bulk *devm_reset_bulk_get_optional_by_node(struct udevice 
*dev,
                                                            ofnode node)
 {
-       struct reset_ctl_bulk *bulk;
-
-       bulk = devm_reset_bulk_get_by_node(dev, node);
-
-       if (IS_ERR(bulk))
-               return NULL;
-
-       return bulk;
+       return devm_reset_bulk_get_by_node(dev, node);
 }
 
 struct reset_ctl_bulk *devm_reset_bulk_get(struct udevice *dev)
diff --git a/drivers/reset/sandbox-reset-test.c 
b/drivers/reset/sandbox-reset-test.c
index 51b79810c8..2a810fda3a 100644
--- a/drivers/reset/sandbox-reset-test.c
+++ b/drivers/reset/sandbox-reset-test.c
@@ -38,7 +38,7 @@ int sandbox_reset_test_get_devm(struct udevice *dev)
                return -EINVAL;
 
        r = devm_reset_control_get_optional(dev, "not-a-valid-reset-ctl");
-       if (r)
+       if (IS_ERR(r) && PTR_ERR(r) != -ENODATA)
                return -EINVAL;
 
        sbrt->ctlp = devm_reset_control_get(dev, "test");
-- 
2.17.1

Reply via email to