summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/xe/xe_pci.c
diff options
context:
space:
mode:
authorMichał Winiarski <michal.winiarski@intel.com>2023-11-30 00:44:58 +0300
committerRodrigo Vivi <rodrigo.vivi@intel.com>2023-12-21 19:45:09 +0300
commitf321ef042e69859536ba6c97b9f25a2a8f761ef9 (patch)
treeb81ba12a29d0f7eaa79c291f944d14b60c16f827 /drivers/gpu/drm/xe/xe_pci.c
parent0d29a76c639900747fd33b0774764aa78c9667da (diff)
downloadlinux-f321ef042e69859536ba6c97b9f25a2a8f761ef9.tar.xz
drm/xe: Use managed pci_enable_device
Xe uses devres for most of its driver-lifetime resources, use it for pci device as well. Signed-off-by: Michał Winiarski <michal.winiarski@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Link: https://lore.kernel.org/r/20231129214509.1174116-3-michal.winiarski@intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_pci.c')
-rw-r--r--drivers/gpu/drm/xe/xe_pci.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index a38fea281eb0..6aaa16b15058 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -696,25 +696,26 @@ static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if (xe_display_driver_probe_defer(pdev))
return -EPROBE_DEFER;
+ err = pcim_enable_device(pdev);
+ if (err)
+ return err;
+
xe = xe_device_create(pdev, ent);
if (IS_ERR(xe))
return PTR_ERR(xe);
+ pci_set_drvdata(pdev, xe);
+
xe_pm_assert_unbounded_bridge(xe);
subplatform_desc = find_subplatform(xe, desc);
- pci_set_drvdata(pdev, xe);
- err = pci_enable_device(pdev);
- if (err)
- return err;
-
pci_set_master(pdev);
xe_sriov_probe_early(xe, desc->has_sriov);
err = xe_info_init(xe, desc, subplatform_desc);
if (err)
- goto err_pci_disable;
+ return err;
xe_display_probe(xe);
@@ -745,16 +746,11 @@ static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
err = xe_device_probe(xe);
if (err)
- goto err_pci_disable;
+ return err;
xe_pm_init(xe);
return 0;
-
-err_pci_disable:
- pci_disable_device(pdev);
-
- return err;
}
static void xe_pci_shutdown(struct pci_dev *pdev)