]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
leds: lm3601x: Reset LED controller during probe
authorJack Chen <zenghuchen@google.com>
Thu, 1 Aug 2024 15:30:48 +0000 (11:30 -0400)
committerLee Jones <lee@kernel.org>
Mon, 5 Aug 2024 14:15:27 +0000 (15:15 +0100)
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 <zenghuchen@google.com>
Link: https://lore.kernel.org/r/20240801153048.3813581-1-zenghuchen@google.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/leds/flash/leds-lm3601x.c

index 1a6b9ee9e582908abb13af25608e9d04a646b980..abf6b96ade3d58579134fba33c8f7d5249fe7739 100644 (file)
@@ -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);