[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <jjkw3hcwxey6kjagkwmr6q2eg2vwpvbewh6ieg3qqhsmoro5dc@7sg7ppeqbn2u>
Date: Fri, 7 Jun 2024 18:03:08 -0500
From: Bjorn Andersson <andersson@...nel.org>
To: Anjelique Melendez <quic_amelende@...cinc.com>
Cc: pavel@....cz, lee@...nel.org, robh@...nel.org,
u.kleine-koenig@...gutronix.de, marijn.suijten@...ainline.org, kees@...nel.org,
morf3089@...il.com, quic_gurus@...cinc.com, quic_subbaram@...cinc.com,
linux-arm-msm@...r.kernel.org, linux-leds@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] leds: rgb: leds-qcom-lpg: Add PPG check for
setting/clearing PBS triggers
On Thu, Jun 06, 2024 at 05:52:50PM GMT, Anjelique Melendez wrote:
> Currently, all LED LPG devices will call lpg_{set,clear}_pbs_trigger()
> when setting brightness regardless of if they support PPG and have PBS
> triggers. Check if device supports PPG before setting/clearing PBS
> triggers.
>
> Fixes: 6ab1f766a80a ("leds: rgb: leds-qcom-lpg: Add support for PPG through single SDAM")
> Fixes: 5e9ff626861a ("leds: rgb: leds-qcom-lpg: Include support for PPG with dedicated LUT SDAM")
> Signed-off-by: Anjelique Melendez <quic_amelende@...cinc.com>
Looks to align with sdam code paths.
Reviewed-by: Bjorn Andersson <andersson@...nel.org>
Regards,
Bjorn
> ---
> drivers/leds/rgb/leds-qcom-lpg.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/leds/rgb/leds-qcom-lpg.c b/drivers/leds/rgb/leds-qcom-lpg.c
> index 9467c796bd04..e74b2ceed1c2 100644
> --- a/drivers/leds/rgb/leds-qcom-lpg.c
> +++ b/drivers/leds/rgb/leds-qcom-lpg.c
> @@ -2,7 +2,7 @@
> /*
> * Copyright (c) 2017-2022 Linaro Ltd
> * Copyright (c) 2010-2012, The Linux Foundation. All rights reserved.
> - * Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2023-2024, Qualcomm Innovation Center, Inc. All rights reserved.
> */
> #include <linux/bits.h>
> #include <linux/bitfield.h>
> @@ -254,6 +254,9 @@ static int lpg_clear_pbs_trigger(struct lpg *lpg, unsigned int lut_mask)
> u8 val = 0;
> int rc;
>
> + if (!lpg->lpg_chan_sdam)
> + return 0;
> +
> lpg->pbs_en_bitmap &= (~lut_mask);
> if (!lpg->pbs_en_bitmap) {
> rc = nvmem_device_write(lpg->lpg_chan_sdam, SDAM_REG_PBS_SEQ_EN, 1, &val);
> @@ -276,6 +279,9 @@ static int lpg_set_pbs_trigger(struct lpg *lpg, unsigned int lut_mask)
> u8 val = PBS_SW_TRIG_BIT;
> int rc;
>
> + if (!lpg->lpg_chan_sdam)
> + return 0;
> +
> if (!lpg->pbs_en_bitmap) {
> rc = nvmem_device_write(lpg->lpg_chan_sdam, SDAM_REG_PBS_SEQ_EN, 1, &val);
> if (rc < 0)
> --
> 2.34.1
>
Powered by blists - more mailing lists