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@xxxxxxxxxxx> Looks to align with sdam code paths. Reviewed-by: Bjorn Andersson <andersson@xxxxxxxxxx> 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 >