aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDeepak Sharma <deepak.sharma@amd.com>2018-10-23 12:35:48 -0400
committerEmil Velikov <emil.l.velikov@gmail.com>2018-10-25 08:25:58 -0400
commitd5c04dff24870ef07ce6453a3f4e1ffd9cf88d27 (patch)
tree65782df64e2c952825ebe25f3e4d75042a26a250 /drivers
parent99fe21a76f0f2d36e5f9afc95ce6ed5cc354ebad (diff)
drm/vgem: Fix vgem_init to get drm device available.
Modify vgem_init to take platform dev as parent in drm_dev_init. This will make drm device available at "/sys/devices/platform/vgem" in x86 chromebook. v2: rebase, address checkpatch typo and line over 80 characters Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Deepak Sharma <deepak.sharma@amd.com> Reviewed-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20181023163550.15211-1-emil.l.velikov@gmail.com
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/vgem/vgem_drv.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c
index ec6af8b920da..f1f7ab9dcdbf 100644
--- a/drivers/gpu/drm/vgem/vgem_drv.c
+++ b/drivers/gpu/drm/vgem/vgem_drv.c
@@ -471,31 +471,31 @@ static int __init vgem_init(void)
471 if (!vgem_device) 471 if (!vgem_device)
472 return -ENOMEM; 472 return -ENOMEM;
473 473
474 ret = drm_dev_init(&vgem_device->drm, &vgem_driver, NULL);
475 if (ret)
476 goto out_free;
477
478 vgem_device->platform = 474 vgem_device->platform =
479 platform_device_register_simple("vgem", -1, NULL, 0); 475 platform_device_register_simple("vgem", -1, NULL, 0);
480 if (IS_ERR(vgem_device->platform)) { 476 if (IS_ERR(vgem_device->platform)) {
481 ret = PTR_ERR(vgem_device->platform); 477 ret = PTR_ERR(vgem_device->platform);
482 goto out_fini; 478 goto out_free;
483 } 479 }
484 480
485 dma_coerce_mask_and_coherent(&vgem_device->platform->dev, 481 dma_coerce_mask_and_coherent(&vgem_device->platform->dev,
486 DMA_BIT_MASK(64)); 482 DMA_BIT_MASK(64));
483 ret = drm_dev_init(&vgem_device->drm, &vgem_driver,
484 &vgem_device->platform->dev);
485 if (ret)
486 goto out_unregister;
487 487
488 /* Final step: expose the device/driver to userspace */ 488 /* Final step: expose the device/driver to userspace */
489 ret = drm_dev_register(&vgem_device->drm, 0); 489 ret = drm_dev_register(&vgem_device->drm, 0);
490 if (ret) 490 if (ret)
491 goto out_unregister; 491 goto out_fini;
492 492
493 return 0; 493 return 0;
494 494
495out_unregister:
496 platform_device_unregister(vgem_device->platform);
497out_fini: 495out_fini:
498 drm_dev_fini(&vgem_device->drm); 496 drm_dev_fini(&vgem_device->drm);
497out_unregister:
498 platform_device_unregister(vgem_device->platform);
499out_free: 499out_free:
500 kfree(vgem_device); 500 kfree(vgem_device);
501 return ret; 501 return ret;