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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.