From: Sam Ravnborg <sam@ravnborg.org>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: lee@kernel.org, daniel.thompson@linaro.org, jingoohan1@gmail.com,
deller@gmx.de, linus.walleij@linaro.org, f.suligoi@asem.it,
ukleinek@kernel.org, dri-devel@lists.freedesktop.org,
linux-fbdev@vger.kernel.org, linux-pwm@vger.kernel.org
Subject: Re: [PATCH 01/17] backlight: Add BL_CORE_ constants for power states
Date: Tue, 11 Jun 2024 19:55:44 +0200 [thread overview]
Message-ID: <20240611175544.GC545417@ravnborg.org> (raw)
In-Reply-To: <20240611125321.6927-2-tzimmermann@suse.de>
Hi Thomas.
On Tue, Jun 11, 2024 at 02:41:56PM +0200, Thomas Zimmermann wrote:
> Duplicate FB_BLANK_ constants as BL_CORE_ constants in the backlight
> header file. Allows backlight drivers to avoid including the fbdev
> header file and removes a compile-time dependency between the two
> subsystems.
Good to remove this dependency.
>
> The new BL_CORE constants have the same values as their FB_BLANK_
> counterparts. Hence UAPI and internal semantics do not change. The
> backlight drivers can be converted one by one.
This seems like the right approach.
>
> Backlight code or drivers do not use FB_BLANK_VSYNC_SUSPEND and
> FB_BLANK_HSYNC_SUSPEND, so no new constants for these are being
> added.
>
> The semantics of FB_BLANK_NORMAL appear inconsistent. In fbdev,
> NORMAL means display off with sync enabled. In backlight code,
> this translates to turn the backlight off, but some drivers
> interpret it as backlight on. So we keep the current code as is,
> but mark BL_CORE_NORMAL as deprecated. Drivers should be fixed
> and the constant removed. This affects ams369fg06 and a few DRM
> panel drivers.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
> Documentation/ABI/stable/sysfs-class-backlight | 7 ++++---
> include/linux/backlight.h | 16 ++++++++++------
> 2 files changed, 14 insertions(+), 9 deletions(-)
>
> diff --git a/Documentation/ABI/stable/sysfs-class-backlight b/Documentation/ABI/stable/sysfs-class-backlight
> index 023fb52645f8b..6102d6bebdf9a 100644
> --- a/Documentation/ABI/stable/sysfs-class-backlight
> +++ b/Documentation/ABI/stable/sysfs-class-backlight
> @@ -3,10 +3,11 @@ Date: April 2005
> KernelVersion: 2.6.12
> Contact: Richard Purdie <rpurdie@rpsys.net>
> Description:
> - Control BACKLIGHT power, values are FB_BLANK_* from fb.h
> + Control BACKLIGHT power, values are compatible with
> + FB_BLANK_* from fb.h
>
> - - FB_BLANK_UNBLANK (0) : power on.
> - - FB_BLANK_POWERDOWN (4) : power off
> + - 0 (FB_BLANK_UNBLANK) : power on.
> + - 4 (FB_BLANK_POWERDOWN) : power off
> Users: HAL
>
> What: /sys/class/backlight/<backlight>/brightness
> diff --git a/include/linux/backlight.h b/include/linux/backlight.h
> index 19a1c0e22629d..e0cfd89ffadd2 100644
> --- a/include/linux/backlight.h
> +++ b/include/linux/backlight.h
> @@ -210,14 +210,18 @@ struct backlight_properties {
> * When the power property is updated update_status() is called.
> *
> * The possible values are: (0: full on, 1 to 3: power saving
> - * modes; 4: full off), see FB_BLANK_XXX.
> + * modes; 4: full off), see BL_CORE_XXX constants.
> *
> * When the backlight device is enabled @power is set
> - * to FB_BLANK_UNBLANK. When the backlight device is disabled
> - * @power is set to FB_BLANK_POWERDOWN.
> + * to BL_CORE_UNBLANK. When the backlight device is disabled
> + * @power is set to BL_CORE_POWERDOWN.
> */
> int power;
>
> +#define BL_CORE_UNBLANK (0)
> +#define BL_CORE_NORMAL (1) // deprecated; don't use in new code
> +#define BL_CORE_POWERDOWN (4)
When introducing backlight specific constants then it would be good to
get away from the ackward fbdev naming and use something that is more
obvious.
Something like:
#define BACKLIGHT_POWER_ON 0
#define BACKLIGHT_POWER_OFF 4
#define BACKLIGHT_POWER_NORMAL 1 // deprecated; don't use in new code
This will make the code more obvious to read / understand - at least
IMO.
The proposal did not use the BL_CORE_ naming, lets keep this for
suspend/resume stuff.
On top of this - many users of the power states could benefit using the
backlight_enable()/backlight_disable() helpers, but that's another story.
Sam
next prev parent reply other threads:[~2024-06-11 17:56 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-11 12:41 [PATCH 00/17] backlight: Introduce power-state constants Thomas Zimmermann
2024-06-11 12:41 ` [PATCH 01/17] backlight: Add BL_CORE_ constants for power states Thomas Zimmermann
2024-06-11 17:55 ` Sam Ravnborg [this message]
2024-06-12 7:26 ` Thomas Zimmermann
2024-06-12 10:18 ` Sam Ravnborg
2024-06-11 12:41 ` [PATCH 02/17] backlight: aat2870-backlight: Use blacklight power constants Thomas Zimmermann
2024-06-11 12:41 ` [PATCH 03/17] backlight: ams369fb06: Use backlight " Thomas Zimmermann
2024-06-11 12:41 ` [PATCH 04/17] backlight: corgi-lcd: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 05/17] backlight: gpio-backlight: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 06/17] backlight: ipaq-micro-backlight: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 07/17] backlight: journada_bl: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 08/17] backlight: kb3886-bl: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 09/17] backlight: ktd253-backlight: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 10/17] backlight: led-backlight: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 11/17] backlight: lm3533-backlight: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 12/17] backlight: mp3309c: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 13/17] backlight: pandora-backlight: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 14/17] backlight: pcf50633-backlight: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 15/17] backlight: pwm-backlight: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 16/17] backlight: rave-sp-backlight: " Thomas Zimmermann
2024-06-11 12:42 ` [PATCH 17/17] backlight: sky81452-backlight: " Thomas Zimmermann
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=20240611175544.GC545417@ravnborg.org \
--to=sam@ravnborg.org \
--cc=daniel.thompson@linaro.org \
--cc=deller@gmx.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=f.suligoi@asem.it \
--cc=jingoohan1@gmail.com \
--cc=lee@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=tzimmermann@suse.de \
--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).