diff options
author | Michał Winiarski <michal.winiarski@intel.com> | 2023-11-29 22:44:58 +0100 |
---|---|---|
committer | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2023-12-21 11:45:09 -0500 |
commit | f321ef042e69859536ba6c97b9f25a2a8f761ef9 (patch) | |
tree | b81ba12a29d0f7eaa79c291f944d14b60c16f827 /drivers/gpu/drm/xe/xe_pci.c | |
parent | 0d29a76c639900747fd33b0774764aa78c9667da (diff) | |
download | lwn-f321ef042e69859536ba6c97b9f25a2a8f761ef9.tar.gz lwn-f321ef042e69859536ba6c97b9f25a2a8f761ef9.zip |
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.c | 20 |
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) |