[PATCH v2 4/5] leds: is31fl32xx: Add shutdown pin to exit hardware shutdown mode

Jun Yan
2026-04-28T02:34:32Z

The IS31FL32XX series features an SDB shutdown pin.
Driving it low (active low) places the chip into hardware shutdown mode
for power saving, while all register contents are preserved
and registers are not reset.

Drive the pin logic low during probe() to exit hardware
shutdown mode.

Signed-off-by: Jun Yan <jerrysteve1101@gmail.com>
---
drivers/leds/leds-is31fl32xx.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/leds/leds-is31fl32xx.c b/drivers/leds/leds-is31fl32xx.c
index fe07acbb103a..d2be996dd4ea 100644
--- a/drivers/leds/leds-is31fl32xx.c
+++ b/drivers/leds/leds-is31fl32xx.c
@@ -60,6 +60,7 @@ struct is31fl32xx_led_data {
struct is31fl32xx_priv {
const struct is31fl32xx_chipdef *cdef;
struct i2c_client *client;
+ struct gpio_desc *shutdown_gpio;
unsigned int num_leds;
struct is31fl32xx_led_data leds[];
};
@@ -421,6 +422,11 @@ static int is31fl32xx_parse_dt(struct device *dev,
const struct is31fl32xx_chipdef *cdef = priv->cdef;
int ret = 0;

+ priv->shutdown_gpio = devm_gpiod_get_optional(dev, "shutdown", GPIOD_OUT_LOW);
+ if (IS_ERR(priv->shutdown_gpio))
+ return dev_err_probe(dev, PTR_ERR(priv->shutdown_gpio),
+ "Failed to get shutdown gpio\n");
+
if ((cdef->output_frequency_setting_reg != IS31FL32XX_REG_NONE) &&
of_property_read_bool(dev_of_node(dev), "issi,22khz-pwm")) {

--
2.53.0