Commit c94bedab authored by Noralf Trønnes's avatar Noralf Trønnes

drm/tegra: Use drm_fb_helper_lastclose() and _poll_changed()

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: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: default avatarNoralf Trønnes <noralf@tronnes.org>
Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20171205182504.41923-12-noralf@tronnes.org
parent 33e9d038
...@@ -120,7 +120,7 @@ static int tegra_atomic_commit(struct drm_device *drm, ...@@ -120,7 +120,7 @@ static int tegra_atomic_commit(struct drm_device *drm,
static const struct drm_mode_config_funcs tegra_drm_mode_funcs = { static const struct drm_mode_config_funcs tegra_drm_mode_funcs = {
.fb_create = tegra_fb_create, .fb_create = tegra_fb_create,
#ifdef CONFIG_DRM_FBDEV_EMULATION #ifdef CONFIG_DRM_FBDEV_EMULATION
.output_poll_changed = tegra_fb_output_poll_changed, .output_poll_changed = drm_fb_helper_output_poll_changed,
#endif #endif
.atomic_check = drm_atomic_helper_check, .atomic_check = drm_atomic_helper_check,
.atomic_commit = tegra_atomic_commit, .atomic_commit = tegra_atomic_commit,
...@@ -286,15 +286,6 @@ static void tegra_drm_context_free(struct tegra_drm_context *context) ...@@ -286,15 +286,6 @@ static void tegra_drm_context_free(struct tegra_drm_context *context)
kfree(context); kfree(context);
} }
static void tegra_drm_lastclose(struct drm_device *drm)
{
#ifdef CONFIG_DRM_FBDEV_EMULATION
struct tegra_drm *tegra = drm->dev_private;
tegra_fbdev_restore_mode(tegra->fbdev);
#endif
}
static struct host1x_bo * static struct host1x_bo *
host1x_bo_lookup(struct drm_file *file, u32 handle) host1x_bo_lookup(struct drm_file *file, u32 handle)
{ {
...@@ -1100,7 +1091,7 @@ static struct drm_driver tegra_drm_driver = { ...@@ -1100,7 +1091,7 @@ static struct drm_driver tegra_drm_driver = {
.unload = tegra_drm_unload, .unload = tegra_drm_unload,
.open = tegra_drm_open, .open = tegra_drm_open,
.postclose = tegra_drm_postclose, .postclose = tegra_drm_postclose,
.lastclose = tegra_drm_lastclose, .lastclose = drm_fb_helper_lastclose,
#if defined(CONFIG_DEBUG_FS) #if defined(CONFIG_DEBUG_FS)
.debugfs_init = tegra_debugfs_init, .debugfs_init = tegra_debugfs_init,
......
...@@ -188,10 +188,6 @@ int tegra_drm_fb_init(struct drm_device *drm); ...@@ -188,10 +188,6 @@ int tegra_drm_fb_init(struct drm_device *drm);
void tegra_drm_fb_exit(struct drm_device *drm); void tegra_drm_fb_exit(struct drm_device *drm);
void tegra_drm_fb_suspend(struct drm_device *drm); void tegra_drm_fb_suspend(struct drm_device *drm);
void tegra_drm_fb_resume(struct drm_device *drm); void tegra_drm_fb_resume(struct drm_device *drm);
#ifdef CONFIG_DRM_FBDEV_EMULATION
void tegra_fbdev_restore_mode(struct tegra_fbdev *fbdev);
void tegra_fb_output_poll_changed(struct drm_device *drm);
#endif
extern struct platform_driver tegra_dc_driver; extern struct platform_driver tegra_dc_driver;
extern struct platform_driver tegra_hdmi_driver; extern struct platform_driver tegra_hdmi_driver;
......
...@@ -361,20 +361,6 @@ static void tegra_fbdev_exit(struct tegra_fbdev *fbdev) ...@@ -361,20 +361,6 @@ static void tegra_fbdev_exit(struct tegra_fbdev *fbdev)
drm_fb_helper_fini(&fbdev->base); drm_fb_helper_fini(&fbdev->base);
tegra_fbdev_free(fbdev); tegra_fbdev_free(fbdev);
} }
void tegra_fbdev_restore_mode(struct tegra_fbdev *fbdev)
{
if (fbdev)
drm_fb_helper_restore_fbdev_mode_unlocked(&fbdev->base);
}
void tegra_fb_output_poll_changed(struct drm_device *drm)
{
struct tegra_drm *tegra = drm->dev_private;
if (tegra->fbdev)
drm_fb_helper_hotplug_event(&tegra->fbdev->base);
}
#endif #endif
int tegra_drm_fb_prepare(struct drm_device *drm) int tegra_drm_fb_prepare(struct drm_device *drm)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment