[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240729204054.2269031-1-zenghuchen@google.com>
Date: Mon, 29 Jul 2024 16:40:54 -0400
From: Jack Chen <zenghuchen@...gle.com>
To: Pavel Machek <pavel@....cz>, Lee Jones <lee@...nel.org>
Cc: Mark Brown <broonie@...nel.org>, Vadim Pasternak <vadimp@...dia.com>,
Randy Dunlap <rdunlap@...radead.org>, Jack Chen <zenghuchen@...gle.com>,
linux-kernel@...r.kernel.org, linux-leds@...r.kernel.org
Subject: [PATCH] leds: lm3601x: reset led controller during init
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@...gle.com>
---
drivers/leds/flash/leds-lm3601x.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/leds/flash/leds-lm3601x.c b/drivers/leds/flash/leds-lm3601x.c
index 7e93c447fec5..978256310540 100644
--- a/drivers/leds/flash/leds-lm3601x.c
+++ b/drivers/leds/flash/leds-lm3601x.c
@@ -434,6 +434,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, "led controller is failed to reset\n");
+
mutex_init(&led->lock);
return lm3601x_register_leds(led, fwnode);
--
2.46.0.rc1.232.g9752f9e123-goog
Powered by blists - more mailing lists