From: Jack Chen Date: Thu, 1 Aug 2024 15:30:48 +0000 (-0400) Subject: leds: lm3601x: Reset LED controller during probe X-Git-Tag: v6.12-rc1~87^2~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=70a4375e07fcbb771809f0af8b5f0df029ca660f;p=thirdparty%2Fkernel%2Flinux.git leds: lm3601x: Reset LED controller during probe LED controller should be reset during initialization to avoid abnormal behaviors. For example, when power to SoC is recycled but power to LED controller is not, LED controller should not presume to be in original state. Signed-off-by: Jack Chen Link: https://lore.kernel.org/r/20240801153048.3813581-1-zenghuchen@google.com Signed-off-by: Lee Jones --- diff --git a/drivers/leds/flash/leds-lm3601x.c b/drivers/leds/flash/leds-lm3601x.c index 1a6b9ee9e5829..abf6b96ade3d5 100644 --- a/drivers/leds/flash/leds-lm3601x.c +++ b/drivers/leds/flash/leds-lm3601x.c @@ -443,6 +443,10 @@ static int lm3601x_probe(struct i2c_client *client) return ret; } + ret = regmap_write(led->regmap, LM3601X_DEV_ID_REG, LM3601X_SW_RESET); + if (ret) + dev_warn(&client->dev, "Failed to reset the LED controller\n"); + mutex_init(&led->lock); return lm3601x_register_leds(led, fwnode);