On Mon, 15 Jun 2026, Jani Nikula wrote:
Having display probe be called from i915_driver_create() is slightly

to my ear it sounds better with s/be/been/, but am very unsure.

misleading, and an artefact from the past. Move the
intel_display_device_probe() call a level higher.

Use the shared PCI disable error path while at it.

Signed-off-by: Jani Nikula <[email protected]>

Reviewed-by: Michał Grzelak <[email protected]>

BR,
Michał

---
drivers/gpu/drm/i915/i915_driver.c | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_driver.c 
b/drivers/gpu/drm/i915/i915_driver.c
index 0520cd124686..a69eb3a84005 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -802,7 +802,6 @@ i915_driver_create(struct pci_dev *pdev, const struct 
pci_device_id *ent)
        const struct intel_device_info *match_info =
                (struct intel_device_info *)ent->driver_data;
        struct drm_i915_private *i915;
-       struct intel_display *display;

        i915 = devm_drm_dev_alloc(&pdev->dev, &i915_drm_driver,
                                  struct drm_i915_private, drm);
@@ -817,12 +816,6 @@ i915_driver_create(struct pci_dev *pdev, const struct 
pci_device_id *ent)
        /* Set up device info and initial runtime info. */
        intel_device_info_driver_create(i915, pdev->device, match_info);

-       display = intel_display_device_probe(pdev, &parent);
-       if (IS_ERR(display))
-               return ERR_CAST(display);
-
-       i915->display = display;
-
        return i915;
}

@@ -851,11 +844,17 @@ int i915_driver_probe(struct pci_dev *pdev, const struct 
pci_device_id *ent)

        i915 = i915_driver_create(pdev, ent);
        if (IS_ERR(i915)) {
-               pci_disable_device(pdev);
-               return PTR_ERR(i915);
+               ret = PTR_ERR(i915);
+               goto out_pci_disable;
        }

-       display = i915->display;
+       display = intel_display_device_probe(pdev, &parent);
+       if (IS_ERR(display)) {
+               ret = PTR_ERR(display);
+               goto out_pci_disable;
+       }
+
+       i915->display = display;

        ret = i915_driver_early_probe(i915);
        if (ret < 0)
--
2.47.3

Reply via email to