drm/fb-helper: Add .last_close and .output_poll_changed helpers
This adds helpers for the drm_driver->last_close and the drm_mode_config_funcs->output_poll_changed callbacks. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20171030153951.56269-4-noralf@tronnes.org
This commit is contained in:
Родитель
29ad20b22c
Коммит
304a4f6acc
|
@ -2633,6 +2633,34 @@ int drm_fb_helper_hotplug_event(struct drm_fb_helper *fb_helper)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(drm_fb_helper_hotplug_event);
|
EXPORT_SYMBOL(drm_fb_helper_hotplug_event);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* drm_fb_helper_lastclose - DRM driver lastclose helper for fbdev emulation
|
||||||
|
* @dev: DRM device
|
||||||
|
*
|
||||||
|
* This function can be used as the &drm_driver->lastclose callback for drivers
|
||||||
|
* that only need to call drm_fb_helper_restore_fbdev_mode_unlocked().
|
||||||
|
*/
|
||||||
|
void drm_fb_helper_lastclose(struct drm_device *dev)
|
||||||
|
{
|
||||||
|
drm_fb_helper_restore_fbdev_mode_unlocked(dev->fb_helper);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(drm_fb_helper_lastclose);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* drm_fb_helper_output_poll_changed - DRM mode config \.output_poll_changed
|
||||||
|
* helper for fbdev emulation
|
||||||
|
* @dev: DRM device
|
||||||
|
*
|
||||||
|
* This function can be used as the
|
||||||
|
* &drm_mode_config_funcs.output_poll_changed callback for drivers that only
|
||||||
|
* need to call drm_fb_helper_hotplug_event().
|
||||||
|
*/
|
||||||
|
void drm_fb_helper_output_poll_changed(struct drm_device *dev)
|
||||||
|
{
|
||||||
|
drm_fb_helper_hotplug_event(dev->fb_helper);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(drm_fb_helper_output_poll_changed);
|
||||||
|
|
||||||
/* The Kconfig DRM_KMS_HELPER selects FRAMEBUFFER_CONSOLE (if !EXPERT)
|
/* The Kconfig DRM_KMS_HELPER selects FRAMEBUFFER_CONSOLE (if !EXPERT)
|
||||||
* but the module doesn't depend on any fb console symbols. At least
|
* but the module doesn't depend on any fb console symbols. At least
|
||||||
* attempt to load fbcon to avoid leaving the system without a usable console.
|
* attempt to load fbcon to avoid leaving the system without a usable console.
|
||||||
|
|
|
@ -310,6 +310,9 @@ drm_pick_cmdline_mode(struct drm_fb_helper_connector *fb_helper_conn);
|
||||||
int drm_fb_helper_add_one_connector(struct drm_fb_helper *fb_helper, struct drm_connector *connector);
|
int drm_fb_helper_add_one_connector(struct drm_fb_helper *fb_helper, struct drm_connector *connector);
|
||||||
int drm_fb_helper_remove_one_connector(struct drm_fb_helper *fb_helper,
|
int drm_fb_helper_remove_one_connector(struct drm_fb_helper *fb_helper,
|
||||||
struct drm_connector *connector);
|
struct drm_connector *connector);
|
||||||
|
|
||||||
|
void drm_fb_helper_lastclose(struct drm_device *dev);
|
||||||
|
void drm_fb_helper_output_poll_changed(struct drm_device *dev);
|
||||||
#else
|
#else
|
||||||
static inline void drm_fb_helper_prepare(struct drm_device *dev,
|
static inline void drm_fb_helper_prepare(struct drm_device *dev,
|
||||||
struct drm_fb_helper *helper,
|
struct drm_fb_helper *helper,
|
||||||
|
@ -507,6 +510,14 @@ drm_fb_helper_remove_one_connector(struct drm_fb_helper *fb_helper,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void drm_fb_helper_lastclose(struct drm_device *dev)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void drm_fb_helper_output_poll_changed(struct drm_device *dev)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
|
|
Загрузка…
Ссылка в новой задаче