[2/2] leds: flash: leds-qcom-flash: disable LED when changing brightness

Message ID 20230507172941.364852-3-me@dylanvanassche.be
State New
Headers
Series leds: flash: leds-qcom-flash: add PMI8998 support |

Commit Message

Dylan Van Assche May 7, 2023, 5:29 p.m. UTC
  The Qualcomm PMI8998 PMIC requires the LED to be disabled when configuring
the brightness. Always disable the LED when setting the brightness and
re-enable it afterwards.

Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
---
 drivers/leds/flash/leds-qcom-flash.c | 8 ++++++++
 1 file changed, 8 insertions(+)
  

Comments

Lee Jones May 15, 2023, 4:19 p.m. UTC | #1
On Sun, 07 May 2023, Dylan Van Assche wrote:

> The Qualcomm PMI8998 PMIC requires the LED to be disabled when configuring
> the brightness. Always disable the LED when setting the brightness and
> re-enable it afterwards.
> 
> Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
> ---
>  drivers/leds/flash/leds-qcom-flash.c | 8 ++++++++
>  1 file changed, 8 insertions(+)

Applied, thanks
  

Patch

diff --git a/drivers/leds/flash/leds-qcom-flash.c b/drivers/leds/flash/leds-qcom-flash.c
index 16045b5d89b1..c8d41a3caf38 100644
--- a/drivers/leds/flash/leds-qcom-flash.c
+++ b/drivers/leds/flash/leds-qcom-flash.c
@@ -417,6 +417,14 @@  static int qcom_flash_led_brightness_set(struct led_classdev *led_cdev,
 	bool enable = !!brightness;
 	int rc;
 
+	rc = set_flash_strobe(led, SW_STROBE, false);
+	if (rc)
+		return rc;
+
+	rc = set_flash_module_en(led, false);
+	if (rc)
+		return rc;
+
 	rc = set_flash_current(led, current_ma, TORCH_MODE);
 	if (rc)
 		return rc;