leds: lm3601x: Improve error reporting for problems during .remove()
Returning an error value in an i2c remove callback results in a generic error message being emitted by the i2c core, but otherwise it doesn't make a difference. The device goes away anyhow and the devm cleanups are called. So instead of triggering the generic i2c error message, emit a more helpful message if a problem occurs and return 0 to suppress the generic message. This patch is a preparation for making i2c remove callbacks return void. Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Wolfram Sang <wsa@kernel.org>
This commit is contained in:
parent
32f7eed0c7
commit
22a2343689
|
@ -443,10 +443,15 @@ static int lm3601x_probe(struct i2c_client *client)
|
|||
static int lm3601x_remove(struct i2c_client *client)
|
||||
{
|
||||
struct lm3601x_led *led = i2c_get_clientdata(client);
|
||||
int ret;
|
||||
|
||||
return regmap_update_bits(led->regmap, LM3601X_ENABLE_REG,
|
||||
LM3601X_ENABLE_MASK,
|
||||
LM3601X_MODE_STANDBY);
|
||||
ret = regmap_update_bits(led->regmap, LM3601X_ENABLE_REG,
|
||||
LM3601X_ENABLE_MASK, LM3601X_MODE_STANDBY);
|
||||
if (ret)
|
||||
dev_warn(&client->dev,
|
||||
"Failed to put into standby (%pe)\n", ERR_PTR(ret));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct i2c_device_id lm3601x_id[] = {
|
||||
|
|
Loading…
Reference in New Issue