
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 kishon@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");