Re: [PATCH 2/5] leds: lm3692x: Don't overwrite return value in error path

From: Dan Murphy
Date: Wed Sep 18 2019 - 14:30:39 EST


Guido

On 9/17/19 9:19 PM, Guido GÃnther wrote:
The driver currently reports successful initialization on every failure
as long as it's able to power off the regulator. Don't check the return
value of regulator_disable to avoid that.

Signed-off-by: Guido GÃnther <agx@xxxxxxxxxxx>
---
drivers/leds/leds-lm3692x.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/leds/leds-lm3692x.c b/drivers/leds/leds-lm3692x.c
index 487228c2bed2..f394669ad8f2 100644
--- a/drivers/leds/leds-lm3692x.c
+++ b/drivers/leds/leds-lm3692x.c
@@ -312,15 +312,12 @@ static int lm3692x_init(struct lm3692x_led *led)
if (led->enable_gpio)
gpiod_direction_output(led->enable_gpio, 0);
- if (led->regulator) {
- ret = regulator_disable(led->regulator);
- if (ret)
- dev_err(&led->client->dev,
- "Failed to disable regulator\n");
- }
+ if (led->regulator)
+ regulator_disable(led->regulator);

The change is ok and makes sense but I believe that if the regulator was not properly disabled there needs to be some error message t0o.

If the code got here then there is either a fault or an I/O issue not a regulator issue.

The regulator failing to disable should be logged.

Dan


return ret;
}
+
static int lm3692x_probe_dt(struct lm3692x_led *led)
{
struct fwnode_handle *child = NULL;