aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/arm/hdlcd_drv.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2018-09-27 19:31:03 -0400
committerDave Airlie <airlied@redhat.com>2018-09-27 19:36:48 -0400
commit156e60bc71aa31a3b42b1d66a822c2999bd0994c (patch)
treedbc2fa3c30c78b1465aa29ca37fefbb8a16bde8e /drivers/gpu/drm/arm/hdlcd_drv.c
parentbf78296ab1cb215d0609ac6cff4e43e941e51265 (diff)
parentc2b70ffcd34eca60013d90bd6cd56e60b07adef8 (diff)
Merge tag 'drm-misc-next-2018-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 4.20: UAPI Changes: - None Cross-subsystem Changes: - MAINTAINERS: Move udl, mxsfb, and fsl-dcu into drm-misc (Stefan, Sean) Core Changes: - syncobj: Check condition before returning timeout in schedule() (Chris) Driver Changes: - various: First wave of drm_fbdev_generic_setup() conversions (Noralf) - bochs/virtio: More format byte-order improvements (Gerd) - mxsfb: A couple fixes + add runtime pm support (Leonard) - virtio: Add vmap support for prime objects (Ezequiel) Cc: Stefan Agner <stefan@agner.ch> Cc: Sean Paul <sean@poorly.run> Cc: Noralf Trønnes <noralf@tronnes.org> Cc: Gerd Hoffman <kraxel@redhat.com> Cc: Leonard Crestez <leonard.crestez@nxp.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Ezequiel Garcia <ezequiel@collabora.com> Signed-off-by: Dave Airlie <airlied@redhat.com> From: Sean Paul <sean@poorly.run> Link: https://patchwork.freedesktop.org/patch/msgid/20180927093950.GA180365@art_vandelay
Diffstat (limited to 'drivers/gpu/drm/arm/hdlcd_drv.c')
-rw-r--r--drivers/gpu/drm/arm/hdlcd_drv.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c
index 0ed1cde98cf8..dfad8d06d108 100644
--- a/drivers/gpu/drm/arm/hdlcd_drv.c
+++ b/drivers/gpu/drm/arm/hdlcd_drv.c
@@ -103,7 +103,6 @@ setup_fail:
103 103
104static const struct drm_mode_config_funcs hdlcd_mode_config_funcs = { 104static const struct drm_mode_config_funcs hdlcd_mode_config_funcs = {
105 .fb_create = drm_gem_fb_create, 105 .fb_create = drm_gem_fb_create,
106 .output_poll_changed = drm_fb_helper_output_poll_changed,
107 .atomic_check = drm_atomic_helper_check, 106 .atomic_check = drm_atomic_helper_check,
108 .atomic_commit = drm_atomic_helper_commit, 107 .atomic_commit = drm_atomic_helper_commit,
109}; 108};
@@ -233,7 +232,6 @@ static struct drm_driver hdlcd_driver = {
233 .driver_features = DRIVER_HAVE_IRQ | DRIVER_GEM | 232 .driver_features = DRIVER_HAVE_IRQ | DRIVER_GEM |
234 DRIVER_MODESET | DRIVER_PRIME | 233 DRIVER_MODESET | DRIVER_PRIME |
235 DRIVER_ATOMIC, 234 DRIVER_ATOMIC,
236 .lastclose = drm_fb_helper_lastclose,
237 .irq_handler = hdlcd_irq, 235 .irq_handler = hdlcd_irq,
238 .irq_preinstall = hdlcd_irq_preinstall, 236 .irq_preinstall = hdlcd_irq_preinstall,
239 .irq_postinstall = hdlcd_irq_postinstall, 237 .irq_postinstall = hdlcd_irq_postinstall,
@@ -308,19 +306,15 @@ static int hdlcd_drm_bind(struct device *dev)
308 drm_mode_config_reset(drm); 306 drm_mode_config_reset(drm);
309 drm_kms_helper_poll_init(drm); 307 drm_kms_helper_poll_init(drm);
310 308
311 ret = drm_fb_cma_fbdev_init(drm, 32, 0);
312 if (ret)
313 goto err_fbdev;
314
315 ret = drm_dev_register(drm, 0); 309 ret = drm_dev_register(drm, 0);
316 if (ret) 310 if (ret)
317 goto err_register; 311 goto err_register;
318 312
313 drm_fbdev_generic_setup(drm, 32);
314
319 return 0; 315 return 0;
320 316
321err_register: 317err_register:
322 drm_fb_cma_fbdev_fini(drm);
323err_fbdev:
324 drm_kms_helper_poll_fini(drm); 318 drm_kms_helper_poll_fini(drm);
325err_vblank: 319err_vblank:
326 pm_runtime_disable(drm->dev); 320 pm_runtime_disable(drm->dev);
@@ -346,7 +340,6 @@ static void hdlcd_drm_unbind(struct device *dev)
346 struct hdlcd_drm_private *hdlcd = drm->dev_private; 340 struct hdlcd_drm_private *hdlcd = drm->dev_private;
347 341
348 drm_dev_unregister(drm); 342 drm_dev_unregister(drm);
349 drm_fb_cma_fbdev_fini(drm);
350 drm_kms_helper_poll_fini(drm); 343 drm_kms_helper_poll_fini(drm);
351 component_unbind_all(dev, drm); 344 component_unbind_all(dev, drm);
352 of_node_put(hdlcd->crtc.port); 345 of_node_put(hdlcd->crtc.port);