From: Michael Grzeschik <mgr@pengutronix.de>
To: "Uwe Kleine-König" <ukleinek@kernel.org>
Cc: Lee Jones <lee@kernel.org>, Daniel Thompson <danielt@kernel.org>,
Jingoo Han <jingoohan1@gmail.com>, Helge Deller <deller@gmx.de>,
Pengutronix <kernel@pengutronix.de>,
linux-pwm@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] backlight: pwm_bl: apply the initial backlight state with sane defaults
Date: Wed, 10 Sep 2025 09:33:41 +0200 [thread overview]
Message-ID: <aMEp1S4Yw1mxkjlH@pengutronix.de> (raw)
In-Reply-To: <7zae3uaz5wdk2ktmg44aqdnfjglklqujtktslvlye3ssd3xvbv@qwwjiip6kgfo>
[-- Attachment #1: Type: text/plain, Size: 3533 bytes --]
Hi Uwe
On Tue, Sep 09, 2025 at 03:49:22PM +0200, Uwe Kleine-König wrote:
>On Fri, Aug 01, 2025 at 08:32:20AM +0200, Uwe Kleine-König wrote:
>> On Thu, Jul 31, 2025 at 10:47:18AM +0200, Michael Grzeschik wrote:
>> > diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
>> > index 237d3d3f3bb1a..5924e0b9f01e7 100644
>> > --- a/drivers/video/backlight/pwm_bl.c
>> > +++ b/drivers/video/backlight/pwm_bl.c
>> > @@ -518,13 +518,6 @@ static int pwm_backlight_probe(struct platform_device *pdev)
>> > if (!state.period && (data->pwm_period_ns > 0))
>> > state.period = data->pwm_period_ns;
>> >
>> > - ret = pwm_apply_might_sleep(pb->pwm, &state);
>> > - if (ret) {
>> > - dev_err_probe(&pdev->dev, ret,
>> > - "failed to apply initial PWM state");
>> > - goto err_alloc;
>> > - }
>> > -
>> > memset(&props, 0, sizeof(struct backlight_properties));
>> >
>> > if (data->levels) {
>> > @@ -582,6 +575,15 @@ static int pwm_backlight_probe(struct platform_device *pdev)
>> > pb->lth_brightness = data->lth_brightness * (div_u64(state.period,
>> > pb->scale));
>> >
>> > + state.duty_cycle = compute_duty_cycle(pb, data->dft_brightness, &state);
>> > +
>> > + ret = pwm_apply_might_sleep(pb->pwm, &state);
>> > + if (ret) {
>> > + dev_err_probe(&pdev->dev, ret,
>> > + "failed to apply initial PWM state");
>> > + goto err_alloc;
>> > + }
>> > +
>>
>> I wonder why the PWM is updated at all in .probe(). Wouldn't it be the
>> natural thing to keep the PWM configured as it was (in its reset default
>> state or how the bootloader set it up)?
>>
>> Orthogonal to your change, while looking at the driver I wondered about:
>>
>> bl = backlight_device_register(dev_name(&pdev->dev), &pdev->dev, pb,
>> &pwm_backlight_ops, &props);
>> if (IS_ERR(bl)) {
>> ret = dev_err_probe(&pdev->dev, PTR_ERR(bl),
>> "failed to register backlight\n");
>> goto err_alloc;
>> }
>>
>> if (data->dft_brightness > data->max_brightness) {
>> dev_warn(&pdev->dev,
>> "invalid default brightness level: %u, using %u\n",
>> data->dft_brightness, data->max_brightness);
>> data->dft_brightness = data->max_brightness;
>> }
>>
>> bl->props.brightness = data->dft_brightness;
>> bl->props.power = pwm_backlight_initial_power_state(pb);
>> backlight_update_status(bl);
>>
>> Shoudn't setting data->dft_brightness, bl->props.brightness and
>> bl->props.power better happen before backlight_device_register()? Also
>> calling backlight_update_status() after backlight_device_register()
>> seems wrong to me, I'd claim the backend driver shouldn't call that.
>
>Do you intend to work on this orthogonal feedback? If not, I'll put it
>on my todo list.
Oh, yes, the orthogonal feedback. Thanks for the reminder of this
actually intended patch not being ready. I will work on this first. If you
like, please take the opurtunity to fix the issue you found.
Regards,
Michael
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2025-09-10 7:33 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-31 8:47 [PATCH] backlight: pwm_bl: apply the initial backlight state with sane defaults Michael Grzeschik
2025-08-01 6:32 ` Uwe Kleine-König
2025-09-09 13:49 ` Uwe Kleine-König
2025-09-10 7:33 ` Michael Grzeschik [this message]
2025-10-30 11:51 ` Daniel Thompson
2025-11-07 8:00 ` Uwe Kleine-König
2025-11-07 14:51 ` Daniel Thompson
2025-11-07 15:48 ` Michael Grzeschik
2025-11-06 16:59 ` (subset) " Lee Jones
2025-11-14 14:09 ` Mark Brown
2025-11-18 12:52 ` Daniel Thompson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aMEp1S4Yw1mxkjlH@pengutronix.de \
--to=mgr@pengutronix.de \
--cc=danielt@kernel.org \
--cc=deller@gmx.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=jingoohan1@gmail.com \
--cc=kernel@pengutronix.de \
--cc=lee@kernel.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=ukleinek@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).