2022-06-08 04:38:28

by Stephen Kitt

[permalink] [raw]
Subject: [PATCH 0/3] drm/panel: Use backlight helpers

backlight_properties.fb_blank is deprecated. The states it represents
are handled by other properties; but instead of accessing those
properties directly, drivers should use the helpers provided by
backlight.h.

This will ultimately allow fb_blank to be removed.

Stephen Kitt (3):
drm/panel: Use backlight helper
drm/panel: panel-dsi-cm: Use backlight helpers
drm/panel: sony-acx565akm: Use backlight helpers

.../drm/panel/panel-asus-z00t-tm5p5-n35596.c | 7 +-----
drivers/gpu/drm/panel/panel-dsi-cm.c | 24 ++++---------------
drivers/gpu/drm/panel/panel-sony-acx565akm.c | 11 ++-------
3 files changed, 7 insertions(+), 35 deletions(-)


base-commit: f2906aa863381afb0015a9eb7fefad885d4e5a56
--
2.30.2


2022-06-08 05:34:50

by Stephen Kitt

[permalink] [raw]
Subject: [PATCH 3/3] drm/panel: sony-acx565akm: Use backlight helpers

Instead of retrieving the backlight brightness in struct
backlight_properties manually, and then checking whether the backlight
should be on at all, use backlight_get_brightness() which does all
this and insulates this from future changes.

Instead of manually checking the power state in struct
backlight_properties, use backlight_is_blank().

Signed-off-by: Stephen Kitt <[email protected]>
Cc: Thierry Reding <[email protected]>
Cc: Sam Ravnborg <[email protected]>
Cc: David Airlie <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: [email protected]
---
drivers/gpu/drm/panel/panel-sony-acx565akm.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-sony-acx565akm.c b/drivers/gpu/drm/panel/panel-sony-acx565akm.c
index 0d7541a33f87..a6bc8c8cf6c8 100644
--- a/drivers/gpu/drm/panel/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/panel/panel-sony-acx565akm.c
@@ -298,13 +298,7 @@ static void acx565akm_set_brightness(struct acx565akm_panel *lcd, int level)
static int acx565akm_bl_update_status_locked(struct backlight_device *dev)
{
struct acx565akm_panel *lcd = dev_get_drvdata(&dev->dev);
- int level;
-
- if (dev->props.fb_blank == FB_BLANK_UNBLANK &&
- dev->props.power == FB_BLANK_UNBLANK)
- level = dev->props.brightness;
- else
- level = 0;
+ int level = backlight_get_brightness(dev);

acx565akm_set_brightness(lcd, level);

@@ -330,8 +324,7 @@ static int acx565akm_bl_get_intensity(struct backlight_device *dev)

mutex_lock(&lcd->mutex);

- if (dev->props.fb_blank == FB_BLANK_UNBLANK &&
- dev->props.power == FB_BLANK_UNBLANK)
+ if (!backlight_is_blank(dev))
intensity = acx565akm_get_actual_brightness(lcd);
else
intensity = 0;
--
2.30.2

2022-06-09 23:05:11

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH 3/3] drm/panel: sony-acx565akm: Use backlight helpers

Hi,

On Tue, Jun 07, 2022 at 08:20:26PM +0200, Stephen Kitt wrote:
> Instead of retrieving the backlight brightness in struct
> backlight_properties manually, and then checking whether the backlight
> should be on at all, use backlight_get_brightness() which does all
> this and insulates this from future changes.
>
> Instead of manually checking the power state in struct
> backlight_properties, use backlight_is_blank().
>
> Signed-off-by: Stephen Kitt <[email protected]>
> Cc: Thierry Reding <[email protected]>
> Cc: Sam Ravnborg <[email protected]>
> Cc: David Airlie <[email protected]>
> Cc: Daniel Vetter <[email protected]>
> Cc: [email protected]
> ---

Reviewed-by: Sebastian Reichel <[email protected]>

-- Sebastian

> drivers/gpu/drm/panel/panel-sony-acx565akm.c | 11 ++---------
> 1 file changed, 2 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-sony-acx565akm.c b/drivers/gpu/drm/panel/panel-sony-acx565akm.c
> index 0d7541a33f87..a6bc8c8cf6c8 100644
> --- a/drivers/gpu/drm/panel/panel-sony-acx565akm.c
> +++ b/drivers/gpu/drm/panel/panel-sony-acx565akm.c
> @@ -298,13 +298,7 @@ static void acx565akm_set_brightness(struct acx565akm_panel *lcd, int level)
> static int acx565akm_bl_update_status_locked(struct backlight_device *dev)
> {
> struct acx565akm_panel *lcd = dev_get_drvdata(&dev->dev);
> - int level;
> -
> - if (dev->props.fb_blank == FB_BLANK_UNBLANK &&
> - dev->props.power == FB_BLANK_UNBLANK)
> - level = dev->props.brightness;
> - else
> - level = 0;
> + int level = backlight_get_brightness(dev);
>
> acx565akm_set_brightness(lcd, level);
>
> @@ -330,8 +324,7 @@ static int acx565akm_bl_get_intensity(struct backlight_device *dev)
>
> mutex_lock(&lcd->mutex);
>
> - if (dev->props.fb_blank == FB_BLANK_UNBLANK &&
> - dev->props.power == FB_BLANK_UNBLANK)
> + if (!backlight_is_blank(dev))
> intensity = acx565akm_get_actual_brightness(lcd);
> else
> intensity = 0;
> --
> 2.30.2
>


Attachments:
(No filename) (2.02 kB)
signature.asc (849.00 B)
Download all attachments