Example #1
0
int evdi_driver_unload(struct drm_device *dev)
{
    struct evdi_device *evdi = dev->dev_private;

    EVDI_CHECKPT();

    drm_vblank_cleanup(dev);
    drm_kms_helper_poll_fini(dev);
#if KERNEL_VERSION(4, 8, 0) <= LINUX_VERSION_CODE

#elif KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE
    drm_connector_unregister_all(dev);
#else
    drm_connector_unplug_all(dev);
#endif

    evdi_fbdev_unplug(dev);
    if (evdi->cursor)
        evdi_cursor_free(evdi->cursor);
    evdi_painter_cleanup(evdi);
    evdi_stats_cleanup(evdi);
    evdi_fbdev_cleanup(dev);
    evdi_modeset_cleanup(dev);

    kfree(evdi);
    return 0;
}
Example #2
0
static void udl_usb_disconnect(struct usb_interface *interface)
{
	struct drm_device *dev = usb_get_intfdata(interface);

	drm_kms_helper_poll_disable(dev);
	drm_connector_unregister_all(dev);
	udl_fbdev_unplug(dev);
	udl_drop_usb(dev);
	drm_unplug_dev(dev);
}