Re: [PATCH v2 2/6] leds: is31fl319x: Fix shutdown GPIO initial state and remove redundant startup pulse

From: Krzysztof Kozlowski

Date: Mon Jun 01 2026 - 04:21:06 EST


On 25/05/2026 16:46, Jun Yan wrote:
> 1. Per IS31FL319x datasheet [1], the hardware shutdown pin (SDB) is
> active-low.
>
> Fix incorrect initial GPIO level to properly release the chip from shutdown
> state.
>
> 2. According to datasheet [1] definition:
> Shutdown mode can either be used as a means of
> reducing power consumption or generating a flashing
> display (repeatedly entering and leaving shutdown
> mode). During shutdown mode all registers retain their
> data.
> shutdown mode does NOT perform chip reset.A dedicated software reset is
> already implemented in driver by writing 0 to reset chip.
>
> Remove redundant unnecessary toggling of the shutdown GPIO.
>
> [1] https://lumissil.com/assets/pdf/core/IS31FL3193_DS.pdf
>
> Fixes: dddb4e38c6ba ("leds: is31fl319x: Add shutdown pin and generate a 5ms low pulse when startup")
> Signed-off-by: Jun Yan <jerrysteve1101@xxxxxxxxx>
> ---
> drivers/leds/leds-is31fl319x.c | 11 ++++-------
> 1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/leds/leds-is31fl319x.c b/drivers/leds/leds-is31fl319x.c
> index e411cee06dab..41087ed262cb 100644
> --- a/drivers/leds/leds-is31fl319x.c
> +++ b/drivers/leds/leds-is31fl319x.c
> @@ -396,7 +396,10 @@ static int is31fl319x_parse_fw(struct device *dev, struct is31fl319x_chip *is31)
> int count;
> int ret;
>
> - is31->shutdown_gpio = devm_gpiod_get_optional(dev, "shutdown", GPIOD_OUT_HIGH);
> + /* Driving this GPIO line low (in fact high) takes the chip out of shutdown,
> + * as it is flagged as GPIO_ACTIVE_LOW in provider (such as the device tree).
> + */
> + is31->shutdown_gpio = devm_gpiod_get_optional(dev, "shutdown", GPIOD_OUT_LOW);

That's ABI break.

Best regards,
Krzysztof