Message ID | 20240319093915.31778-7-tzimmermann@suse.de (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | backlight: Remove struct backlight_properties.fb_blank | expand |
Hi Thomas, ... > Remove the field fb_blank from struct backlight_properties and remove all > code that still sets or reads it. Backlight blank status is now tracked exclusively > in struct backlight_properties.state. > > The core backlight code keeps the fb_blank and state fields in sync, but doesn't > do anything else with fb_blank. Several drivers initialize fb_blank to > FB_BLANK_UNBLANK to enable the backlight. This is already the default for > the state field. So we can delete the fb_blank code from core and drivers and > rely on the state field. > > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> > Cc: Flavio Suligoi <f.suligoi@asem.it> > Cc: Nicolas Ferre <nicolas.ferre@microchip.com> > Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> > Cc: Claudiu Beznea <claudiu.beznea@tuxon.dev> > Tested-by: Flavio Suligoi <f.suligoi@asem.it> > Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> > Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org> ... Can you explain what are the differences between the version 1 and version 2 of the patch? Thanks, Flavio
Hi Am 20.03.24 um 09:46 schrieb FLAVIO SULIGOI: > Hi Thomas, > > ... >> Remove the field fb_blank from struct backlight_properties and remove all >> code that still sets or reads it. Backlight blank status is now tracked exclusively >> in struct backlight_properties.state. >> >> The core backlight code keeps the fb_blank and state fields in sync, but doesn't >> do anything else with fb_blank. Several drivers initialize fb_blank to >> FB_BLANK_UNBLANK to enable the backlight. This is already the default for >> the state field. So we can delete the fb_blank code from core and drivers and >> rely on the state field. >> >> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> >> Cc: Flavio Suligoi <f.suligoi@asem.it> >> Cc: Nicolas Ferre <nicolas.ferre@microchip.com> >> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> >> Cc: Claudiu Beznea <claudiu.beznea@tuxon.dev> >> Tested-by: Flavio Suligoi <f.suligoi@asem.it> >> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> >> Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org> > ... > > Can you explain what are the differences between the version 1 and version 2 of the patch? There are none. It's simply labeled v2 because it is part of the version 2 of this series. Best regards Thomas > Thanks, > Flavio
HI Thomas, ... > >> Remove the field fb_blank from struct backlight_properties and remove > >> all code that still sets or reads it. Backlight blank status is now > >> tracked exclusively in struct backlight_properties.state. > >> > >> The core backlight code keeps the fb_blank and state fields in sync, > >> but doesn't do anything else with fb_blank. Several drivers > >> initialize fb_blank to FB_BLANK_UNBLANK to enable the backlight. This > >> is already the default for the state field. So we can delete the > >> fb_blank code from core and drivers and rely on the state field. > >> > >> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> > >> Cc: Flavio Suligoi <f.suligoi@asem.it> > >> Cc: Nicolas Ferre <nicolas.ferre@microchip.com> > >> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> > >> Cc: Claudiu Beznea <claudiu.beznea@tuxon.dev> > >> Tested-by: Flavio Suligoi <f.suligoi@asem.it> > >> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> > >> Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org> > > ... > > > > Can you explain what are the differences between the version 1 and version > 2 of the patch? > > There are none. It's simply labeled v2 because it is part of the version > 2 of this series. ... Ah, ok. Sorry for my question, but having received only this email from the series, I didn't understand why version two. It's all clear now! Best regards, Flavio
diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c index 86e1cdc8e3697..691f1f3030e98 100644 --- a/drivers/video/backlight/backlight.c +++ b/drivers/video/backlight/backlight.c @@ -118,14 +118,12 @@ static int fb_notifier_callback(struct notifier_block *self, bd->fb_bl_on[node] = true; if (!bd->use_count++) { bd->props.state &= ~BL_CORE_FBBLANK; - bd->props.fb_blank = FB_BLANK_UNBLANK; backlight_update_status(bd); } } else if (fb_blank != FB_BLANK_UNBLANK && bd->fb_bl_on[node]) { bd->fb_bl_on[node] = false; if (!(--bd->use_count)) { bd->props.state |= BL_CORE_FBBLANK; - bd->props.fb_blank = fb_blank; backlight_update_status(bd); } } diff --git a/drivers/video/backlight/mp3309c.c b/drivers/video/backlight/mp3309c.c index 34d71259fac1d..059f4ddbbc842 100644 --- a/drivers/video/backlight/mp3309c.c +++ b/drivers/video/backlight/mp3309c.c @@ -378,7 +378,6 @@ static int mp3309c_probe(struct i2c_client *client) props.scale = BACKLIGHT_SCALE_LINEAR; props.type = BACKLIGHT_RAW; props.power = FB_BLANK_UNBLANK; - props.fb_blank = FB_BLANK_UNBLANK; chip->bl = devm_backlight_device_register(chip->dev, "mp3309c", chip->dev, chip, &mp3309c_bl_ops, &props); diff --git a/drivers/video/backlight/omap1_bl.c b/drivers/video/backlight/omap1_bl.c index 636b390f78f04..e461e19231ae3 100644 --- a/drivers/video/backlight/omap1_bl.c +++ b/drivers/video/backlight/omap1_bl.c @@ -139,7 +139,6 @@ static int omapbl_probe(struct platform_device *pdev) omap_cfg_reg(PWL); /* Conflicts with UART3 */ - dev->props.fb_blank = FB_BLANK_UNBLANK; dev->props.brightness = pdata->default_intensity; omapbl_update_status(dev); diff --git a/drivers/video/fbdev/atmel_lcdfb.c b/drivers/video/fbdev/atmel_lcdfb.c index 9e391e5eaf9da..5574fb0361ee3 100644 --- a/drivers/video/fbdev/atmel_lcdfb.c +++ b/drivers/video/fbdev/atmel_lcdfb.c @@ -153,7 +153,6 @@ static void init_backlight(struct atmel_lcdfb_info *sinfo) sinfo->backlight = bl; bl->props.power = FB_BLANK_UNBLANK; - bl->props.fb_blank = FB_BLANK_UNBLANK; bl->props.brightness = atmel_bl_get_brightness(bl); } diff --git a/drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c b/drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c index 47683a6c00767..274bdf7b3b459 100644 --- a/drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c +++ b/drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c @@ -1215,7 +1215,6 @@ static int dsicm_probe(struct platform_device *pdev) ddata->bldev = bldev; - bldev->props.fb_blank = FB_BLANK_UNBLANK; bldev->props.power = FB_BLANK_UNBLANK; bldev->props.brightness = 255; diff --git a/drivers/video/fbdev/omap2/omapfb/displays/panel-sony-acx565akm.c b/drivers/video/fbdev/omap2/omapfb/displays/panel-sony-acx565akm.c index 9d3ce234a7874..71d2e015960c7 100644 --- a/drivers/video/fbdev/omap2/omapfb/displays/panel-sony-acx565akm.c +++ b/drivers/video/fbdev/omap2/omapfb/displays/panel-sony-acx565akm.c @@ -753,7 +753,6 @@ static int acx565akm_probe(struct spi_device *spi) } memset(&props, 0, sizeof(props)); - props.fb_blank = FB_BLANK_UNBLANK; props.power = FB_BLANK_UNBLANK; props.type = BACKLIGHT_RAW; diff --git a/include/linux/backlight.h b/include/linux/backlight.h index 614653e07e3a8..31600b144d794 100644 --- a/include/linux/backlight.h +++ b/include/linux/backlight.h @@ -218,25 +218,6 @@ struct backlight_properties { */ int power; - /** - * @fb_blank: The power state from the FBIOBLANK ioctl. - * - * When the FBIOBLANK ioctl is called @fb_blank is set to the - * blank parameter and the update_status() operation is called. - * - * When the backlight device is enabled @fb_blank is set - * to FB_BLANK_UNBLANK. When the backlight device is disabled - * @fb_blank is set to FB_BLANK_POWERDOWN. - * - * Backlight drivers should avoid using this property. It has been - * replaced by state & BL_CORE_FBLANK (although most drivers should - * use backlight_is_blank() as the preferred means to get the blank - * state). - * - * fb_blank is deprecated and will be removed. - */ - int fb_blank; - /** * @type: The type of backlight supported. * @@ -366,7 +347,6 @@ static inline int backlight_enable(struct backlight_device *bd) return 0; bd->props.power = FB_BLANK_UNBLANK; - bd->props.fb_blank = FB_BLANK_UNBLANK; bd->props.state &= ~BL_CORE_FBBLANK; return backlight_update_status(bd); @@ -382,7 +362,6 @@ static inline int backlight_disable(struct backlight_device *bd) return 0; bd->props.power = FB_BLANK_POWERDOWN; - bd->props.fb_blank = FB_BLANK_POWERDOWN; bd->props.state |= BL_CORE_FBBLANK; return backlight_update_status(bd); @@ -395,15 +374,13 @@ static inline int backlight_disable(struct backlight_device *bd) * Display is expected to be blank if any of these is true:: * * 1) if power in not UNBLANK - * 2) if fb_blank is not UNBLANK - * 3) if state indicate BLANK or SUSPENDED + * 2) if state indicate BLANK or SUSPENDED * * Returns true if display is expected to be blank, false otherwise. */ static inline bool backlight_is_blank(const struct backlight_device *bd) { return bd->props.power != FB_BLANK_UNBLANK || - bd->props.fb_blank != FB_BLANK_UNBLANK || bd->props.state & (BL_CORE_SUSPENDED | BL_CORE_FBBLANK); }