pci_set_drvdata(pdev, vbox);
        mutex_init(&vbox->hw_mutex);
 
-       ret = pci_enable_device(pdev);
+       ret = pcim_enable_device(pdev);
        if (ret)
                return ret;
 
        ret = vbox_hw_init(vbox);
        if (ret)
-               goto err_pci_disable;
+               return ret;
 
        ret = vbox_mm_init(vbox);
        if (ret)
        vbox_mm_fini(vbox);
 err_hw_fini:
        vbox_hw_fini(vbox);
-err_pci_disable:
-       pci_disable_device(pdev);
        return ret;
 }
 
 
 
        for (i = 0; i < vbox->num_crtcs; ++i)
                vbva_disable(&vbox->vbva_info[i], vbox->guest_pool, i);
-
-       pci_iounmap(vbox->ddev.pdev, vbox->vbva_buffers);
 }
 
 /* Do we support the 4.3 plus mode hint reporting interface? */
        /* Create guest-heap mem-pool use 2^4 = 16 byte chunks */
        vbox->guest_pool = gen_pool_create(4, -1);
        if (!vbox->guest_pool)
-               goto err_unmap_guest_heap;
+               return -ENOMEM;
 
        ret = gen_pool_add_virt(vbox->guest_pool,
                                (unsigned long)vbox->guest_heap,
 
 err_destroy_guest_pool:
        gen_pool_destroy(vbox->guest_pool);
-err_unmap_guest_heap:
-       pci_iounmap(vbox->ddev.pdev, vbox->guest_heap);
        return ret;
 }
 
 {
        vbox_accel_fini(vbox);
        gen_pool_destroy(vbox->guest_pool);
-       pci_iounmap(vbox->ddev.pdev, vbox->guest_heap);
 }