Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/udl: Switch to atomic suspend/resume helpers

We can use the generic suspend/resume helpers for atomic modesetting.
Switch udl over.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191210084905.5570-4-tzimmermann@suse.de

+2 -20
+2 -5
drivers/gpu/drm/udl/udl_drv.c
··· 21 21 { 22 22 struct drm_device *dev = usb_get_intfdata(interface); 23 23 24 - drm_kms_helper_poll_disable(dev); 25 - return 0; 24 + return drm_mode_config_helper_suspend(dev); 26 25 } 27 26 28 27 static int udl_usb_resume(struct usb_interface *interface) 29 28 { 30 29 struct drm_device *dev = usb_get_intfdata(interface); 31 30 32 - drm_kms_helper_poll_enable(dev); 33 - udl_modeset_restore(dev); 34 - return 0; 31 + return drm_mode_config_helper_resume(dev); 35 32 } 36 33 37 34 DEFINE_DRM_GEM_FOPS(udl_driver_fops);
-1
drivers/gpu/drm/udl/udl_drv.h
··· 72 72 73 73 /* modeset */ 74 74 int udl_modeset_init(struct drm_device *dev); 75 - void udl_modeset_restore(struct drm_device *dev); 76 75 void udl_modeset_cleanup(struct drm_device *dev); 77 76 struct drm_connector *udl_connector_init(struct drm_device *dev); 78 77
-14
drivers/gpu/drm/udl/udl_modeset.c
··· 438 438 return ret; 439 439 } 440 440 441 - void udl_modeset_restore(struct drm_device *dev) 442 - { 443 - struct udl_device *udl = dev->dev_private; 444 - struct drm_crtc *crtc = &udl->display_pipe.crtc; 445 - struct drm_plane *primary = &udl->display_pipe.plane; 446 - struct drm_framebuffer *fb = primary->fb; 447 - 448 - if (!fb) 449 - return; 450 - 451 - udl_crtc_dpms(crtc, DRM_MODE_DPMS_ON); 452 - udl_handle_damage(fb, 0, 0, fb->width, fb->height); 453 - } 454 - 455 441 void udl_modeset_cleanup(struct drm_device *dev) 456 442 { 457 443 drm_mode_config_cleanup(dev);