[PATCH v1 1/1] backlight: drop EARLY_EVENT_BLANK support

Bartlomiej Zolnierkiewicz b.zolnierkie at samsung.com
Fri Jul 26 16:05:46 UTC 2019


On 7/25/19 4:32 PM, Sam Ravnborg wrote:
> There was no users left - so drop the code to support EARLY_FB_BLANK.
> This patch removes the support in backlight,
> and drop the notifier in fbmem.
> 
> That EARLY_FB_BLANK is not used can be verified that no driver set any of:
> 
>     lcd_ops.early_set_power()
>     lcd_ops.r_early_set_power()
> 
> Noticed while browsing backlight code for other reasons.
> 
> Signed-off-by: Sam Ravnborg <sam at ravnborg.org>
> Cc: Lee Jones <lee.jones at linaro.org>
> Cc: Daniel Thompson <daniel.thompson at linaro.org>
> Cc: Jingoo Han <jingoohan1 at gmail.com>
> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie at samsung.com>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Cc: Sam Ravnborg <sam at ravnborg.org>
> Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Cc: "Michał Mirosław" <mirq-linux at rere.qmqm.pl>
> Cc: Peter Rosin <peda at axentia.se>
> Cc: Gerd Hoffmann <kraxel at redhat.com>
> Cc: dri-devel at lists.freedesktop.org
> Cc: linux-fbdev at vger.kernel.org
> ---
> 
> Build tested with various architectures, configs.
> 
> Lee, Daniel - OK to commit to drm-misc-next where fbdev stuff is
> maintained today?
> 
> Patch needs ack from Bartlomiej first of course.

Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie at samsung.com>

>  drivers/video/backlight/lcd.c    |  8 --------
>  drivers/video/fbdev/core/fbmem.c | 12 +-----------
>  include/linux/fb.h               |  4 ----
>  include/linux/lcd.h              | 10 ----------
>  4 files changed, 1 insertion(+), 33 deletions(-)
> 
> diff --git a/drivers/video/backlight/lcd.c b/drivers/video/backlight/lcd.c
> index d6b653aa4ee9..78b033358625 100644
> --- a/drivers/video/backlight/lcd.c
> +++ b/drivers/video/backlight/lcd.c
> @@ -39,14 +39,6 @@ static int fb_notifier_callback(struct notifier_block *self,
>  		if (event == FB_EVENT_BLANK) {
>  			if (ld->ops->set_power)
>  				ld->ops->set_power(ld, *(int *)evdata->data);
> -		} else if (event == FB_EARLY_EVENT_BLANK) {
> -			if (ld->ops->early_set_power)
> -				ld->ops->early_set_power(ld,
> -						*(int *)evdata->data);
> -		} else if (event == FB_R_EARLY_EVENT_BLANK) {
> -			if (ld->ops->r_early_set_power)
> -				ld->ops->r_early_set_power(ld,
> -						*(int *)evdata->data);
>  		} else {
>  			if (ld->ops->set_mode)
>  				ld->ops->set_mode(ld, evdata->data);
> diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c
> index 00fe0efeaee9..e6a1c805064f 100644
> --- a/drivers/video/fbdev/core/fbmem.c
> +++ b/drivers/video/fbdev/core/fbmem.c
> @@ -1058,7 +1058,7 @@ int
>  fb_blank(struct fb_info *info, int blank)
>  {	
>  	struct fb_event event;
> -	int ret = -EINVAL, early_ret;
> +	int ret = -EINVAL;
>  
>   	if (blank > FB_BLANK_POWERDOWN)
>   		blank = FB_BLANK_POWERDOWN;
> @@ -1066,21 +1066,11 @@ fb_blank(struct fb_info *info, int blank)
>  	event.info = info;
>  	event.data = ␣
>  
> -	early_ret = fb_notifier_call_chain(FB_EARLY_EVENT_BLANK, &event);
> -
>  	if (info->fbops->fb_blank)
>   		ret = info->fbops->fb_blank(blank, info);
>  
>  	if (!ret)
>  		fb_notifier_call_chain(FB_EVENT_BLANK, &event);
> -	else {
> -		/*
> -		 * if fb_blank is failed then revert effects of
> -		 * the early blank event.
> -		 */
> -		if (!early_ret)
> -			fb_notifier_call_chain(FB_R_EARLY_EVENT_BLANK, &event);
> -	}
>  
>   	return ret;
>  }
> diff --git a/include/linux/fb.h b/include/linux/fb.h
> index 50948e519897..756706b666a1 100644
> --- a/include/linux/fb.h
> +++ b/include/linux/fb.h
> @@ -135,10 +135,6 @@ struct fb_cursor_user {
>  
>  /*      A display blank is requested       */
>  #define FB_EVENT_BLANK                  0x09
> -/*      A hardware display blank early change occurred */
> -#define FB_EARLY_EVENT_BLANK		0x10
> -/*      A hardware display blank revert early change occurred */
> -#define FB_R_EARLY_EVENT_BLANK		0x11
>  
>  struct fb_event {
>  	struct fb_info *info;
> diff --git a/include/linux/lcd.h b/include/linux/lcd.h
> index 851eee8fff25..238fb1dfed98 100644
> --- a/include/linux/lcd.h
> +++ b/include/linux/lcd.h
> @@ -41,16 +41,6 @@ struct lcd_ops {
>  	/* Get the LCD panel power status (0: full on, 1..3: controller
>  	   power on, flat panel power off, 4: full off), see FB_BLANK_XXX */
>  	int (*get_power)(struct lcd_device *);
> -	/*
> -	 * Enable or disable power to the LCD(0: on; 4: off, see FB_BLANK_XXX)
> -	 * and this callback would be called proir to fb driver's callback.
> -	 *
> -	 * P.S. note that if early_set_power is not NULL then early fb notifier
> -	 *	would be registered.
> -	 */
> -	int (*early_set_power)(struct lcd_device *, int power);
> -	/* revert the effects of the early blank event. */
> -	int (*r_early_set_power)(struct lcd_device *, int power);
>  	/* Enable or disable power to the LCD (0: on; 4: off, see FB_BLANK_XXX) */
>  	int (*set_power)(struct lcd_device *, int power);
>  	/* Get the current contrast setting (0-max_contrast) */

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics


More information about the dri-devel mailing list