drm/vboxvideo: Use devm_drm_dev_alloc
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 15 Apr 2020 07:39:38 +0000 (09:39 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 28 Apr 2020 13:07:08 +0000 (15:07 +0200)
Straightforward conversion.

Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-4-daniel.vetter@ffwll.ch
drivers/gpu/drm/vboxvideo/vbox_drv.c

index 282348e..7dd25c7 100644 (file)
@@ -46,25 +46,19 @@ static int vbox_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        if (ret)
                return ret;
 
-       vbox = kzalloc(sizeof(*vbox), GFP_KERNEL);
-       if (!vbox)
-               return -ENOMEM;
-
-       ret = drm_dev_init(&vbox->ddev, &driver, &pdev->dev);
-       if (ret) {
-               kfree(vbox);
-               return ret;
-       }
+       vbox = devm_drm_dev_alloc(&pdev->dev, &driver,
+                                 struct vbox_private, ddev);
+       if (IS_ERR(vbox))
+               return PTR_ERR(vbox);
 
        vbox->ddev.pdev = pdev;
        vbox->ddev.dev_private = vbox;
        pci_set_drvdata(pdev, vbox);
-       drmm_add_final_kfree(&vbox->ddev, vbox);
        mutex_init(&vbox->hw_mutex);
 
        ret = pci_enable_device(pdev);
        if (ret)
-               goto err_dev_put;
+               return ret;
 
        ret = vbox_hw_init(vbox);
        if (ret)
@@ -100,8 +94,6 @@ err_hw_fini:
        vbox_hw_fini(vbox);
 err_pci_disable:
        pci_disable_device(pdev);
-err_dev_put:
-       drm_dev_put(&vbox->ddev);
        return ret;
 }
 
@@ -114,7 +106,6 @@ static void vbox_pci_remove(struct pci_dev *pdev)
        vbox_mode_fini(vbox);
        vbox_mm_fini(vbox);
        vbox_hw_fini(vbox);
-       drm_dev_put(&vbox->ddev);
 }
 
 #ifdef CONFIG_PM_SLEEP