[PATCH v2 07/15] drm/gma500: Use drm_fb_helper_lastclose() and _poll_changed()

Daniel Vetter daniel at ffwll.ch
Tue Oct 31 10:28:59 UTC 2017


On Mon, Oct 30, 2017 at 04:39:43PM +0100, Noralf Trønnes wrote:
> This driver can use drm_fb_helper_lastclose() as its .lastclose callback.
> It can also use drm_fb_helper_output_poll_changed() as its
> .output_poll_changed callback.
> 
> Cc: Patrik Jakobsson <patrik.r.jakobsson at gmail.com>
> Signed-off-by: Noralf Trønnes <noralf at tronnes.org>

Acked-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/gma500/framebuffer.c |  9 +--------
>  drivers/gpu/drm/gma500/psb_drv.c     | 15 +--------------
>  2 files changed, 2 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c
> index 2570c7f647a6..cb0a2ae916e0 100644
> --- a/drivers/gpu/drm/gma500/framebuffer.c
> +++ b/drivers/gpu/drm/gma500/framebuffer.c
> @@ -576,13 +576,6 @@ static void psb_fbdev_fini(struct drm_device *dev)
>  	dev_priv->fbdev = NULL;
>  }
>  
> -static void psbfb_output_poll_changed(struct drm_device *dev)
> -{
> -	struct drm_psb_private *dev_priv = dev->dev_private;
> -	struct psb_fbdev *fbdev = (struct psb_fbdev *)dev_priv->fbdev;
> -	drm_fb_helper_hotplug_event(&fbdev->psb_fb_helper);
> -}
> -
>  /**
>   *	psb_user_framebuffer_create_handle - add hamdle to a framebuffer
>   *	@fb: framebuffer
> @@ -623,7 +616,7 @@ static void psb_user_framebuffer_destroy(struct drm_framebuffer *fb)
>  
>  static const struct drm_mode_config_funcs psb_mode_funcs = {
>  	.fb_create = psb_user_framebuffer_create,
> -	.output_poll_changed = psbfb_output_poll_changed,
> +	.output_poll_changed = drm_fb_helper_output_poll_changed,
>  };
>  
>  static void psb_setup_outputs(struct drm_device *dev)
> diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c
> index 37a3be71acd9..7ab4c532f1d4 100644
> --- a/drivers/gpu/drm/gma500/psb_drv.c
> +++ b/drivers/gpu/drm/gma500/psb_drv.c
> @@ -107,19 +107,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist);
>  static const struct drm_ioctl_desc psb_ioctls[] = {
>  };
>  
> -static void psb_driver_lastclose(struct drm_device *dev)
> -{
> -	int ret;
> -	struct drm_psb_private *dev_priv = dev->dev_private;
> -	struct psb_fbdev *fbdev = dev_priv->fbdev;
> -
> -	ret = drm_fb_helper_restore_fbdev_mode_unlocked(&fbdev->psb_fb_helper);
> -	if (ret)
> -		DRM_DEBUG("failed to restore crtc mode\n");
> -
> -	return;
> -}
> -
>  static int psb_do_init(struct drm_device *dev)
>  {
>  	struct drm_psb_private *dev_priv = dev->dev_private;
> @@ -479,7 +466,7 @@ static struct drm_driver driver = {
>  			   DRIVER_MODESET | DRIVER_GEM,
>  	.load = psb_driver_load,
>  	.unload = psb_driver_unload,
> -	.lastclose = psb_driver_lastclose,
> +	.lastclose = drm_fb_helper_lastclose,
>  
>  	.num_ioctls = ARRAY_SIZE(psb_ioctls),
>  	.irq_preinstall = psb_irq_preinstall,
> -- 
> 2.14.2
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list