diff options
| author | Deepak Sharma <deepak.sharma@amd.com> | 2018-10-23 12:35:48 -0400 |
|---|---|---|
| committer | Emil Velikov <emil.l.velikov@gmail.com> | 2018-10-25 08:25:58 -0400 |
| commit | d5c04dff24870ef07ce6453a3f4e1ffd9cf88d27 (patch) | |
| tree | 65782df64e2c952825ebe25f3e4d75042a26a250 /drivers/gpu/drm/vgem | |
| parent | 99fe21a76f0f2d36e5f9afc95ce6ed5cc354ebad (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/gpu/drm/vgem')
| -rw-r--r-- | drivers/gpu/drm/vgem/vgem_drv.c | 16 |
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 | ||
| 495 | out_unregister: | ||
| 496 | platform_device_unregister(vgem_device->platform); | ||
| 497 | out_fini: | 495 | out_fini: |
| 498 | drm_dev_fini(&vgem_device->drm); | 496 | drm_dev_fini(&vgem_device->drm); |
| 497 | out_unregister: | ||
| 498 | platform_device_unregister(vgem_device->platform); | ||
| 499 | out_free: | 499 | out_free: |
| 500 | kfree(vgem_device); | 500 | kfree(vgem_device); |
| 501 | return ret; | 501 | return ret; |
