[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7d46k5kmygmgjje3pc3jfebestkksbnq55q44urljkrmtrvwa7@6mxkt7zlmoid>
Date: Tue, 18 Nov 2025 10:27:02 -0600
From: Bjorn Andersson <andersson@...nel.org>
To: fenglin.wu@....qualcomm.com
Cc: kernel@....qualcomm.com, Lee Jones <lee@...nel.org>,
Pavel Machek <pavel@...nel.org>, Marijn Suijten <marijn.suijten@...ainline.org>,
linux-arm-msm@...r.kernel.org,
Subbaraman Narayanamurthy <subbaraman.narayanamurthy@....qualcomm.com>, Pavel Machek <pavel@....cz>, linux-leds@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] leds: rgb: leds-qcom-lpg: Don't enable TRILED when
configuring PWM
On Tue, Nov 18, 2025 at 10:48:03AM +0800, Fenglin Wu via B4 Relay wrote:
> From: Fenglin Wu <fenglin.wu@....qualcomm.com>
>
Sorry, I didn't find the chance to answer your reply yesterday, and then
you sent v2, so I'll have to continue the discussion here.
> The PWM signal from the LPG channel can be routed to PMIC GPIOs with
> proper GPIO configuration, and it is not necessary to enable the
> TRILED channel in that case. This also applies to the LPG channels
> that mapped to TRILED channels. Additionally, enabling the TRILED
> channel unnecessarily would cause a voltage increase in its power
> supply. Hence remove it.
>
> Fixes: 24e2d05d1b68 ("leds: Add driver for Qualcomm LPG")
> Signed-off-by: Fenglin Wu <fenglin.wu@....qualcomm.com>
> ---
> Changes in v2:
> - Check "chan->in_use" flag in lpg_pwm_apply() is not correct, as it
> indicates the channel is being used as a LED and this PWM API would
> never get called. Instead, remove the code line which enables TRILED
> in lpg_pwm_apply() and update the commit text to explain it clearly.
>
I understand that in your case you're routing the PWM signal to a GPIO,
and in that case the TRILED output should be kept disabled.
But what if I have my load connected to the TRILED and I describe my LPG
channel as a PWM channel? Is this an invalid use case? With this patch,
everything will look like it's working, except silently my signal won't
come out.
I presume there's no additional configuration on the LPG-side for your
use case. We just configure the GPIO to tap into the PWM-signal through
the pinmux settings?
Also, if for some reason the triled was enabled by bootloader, you will
now leave it enabled forever. This perhaps isn't a big issue though...
Perhaps none of this matters in practice, and we should just proceed
with your approach. If that's the case, then we should at least document
the behavior.
Regards,
Bjorn
> - Link to v1: https://lore.kernel.org/r/20251114-lpg_triled_fix-v1-1-9b239832c53c@oss.qualcomm.com
> ---
> drivers/leds/rgb/leds-qcom-lpg.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/leds/rgb/leds-qcom-lpg.c b/drivers/leds/rgb/leds-qcom-lpg.c
> index 4f2a178e3d265a2cc88e651d3e2ca6ae3dfac2e2..e197f548cddb03d079c54c4a0f402402c5d047e2 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-2024, Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> */
> #include <linux/bits.h>
> #include <linux/bitfield.h>
> @@ -1247,8 +1247,6 @@ static int lpg_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
>
> lpg_apply(chan);
>
> - triled_set(lpg, chan->triled_mask, chan->enabled ? chan->triled_mask : 0);
> -
> out_unlock:
> mutex_unlock(&lpg->lock);
>
>
> ---
> base-commit: ea1c4c7e648d1ca91577071fc42fdc219521098c
> change-id: 20251114-lpg_triled_fix-44491b49b340
>
> Best regards,
> --
> Fenglin Wu <fenglin.wu@....qualcomm.com>
>
>
Powered by blists - more mailing lists