]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
PCI: ecam: Allow cfg->priv to be pre-populated from the root port device
authorMarc Zyngier <maz@kernel.org>
Tue, 1 Apr 2025 09:17:04 +0000 (10:17 +0100)
committerManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Wed, 23 Apr 2025 07:22:47 +0000 (12:52 +0530)
In order to decouple ecam config space creation from probing via
pci_host_common_probe(), allow the private pointer to be populated
via the device drvdata pointer.

Crucially, this is set before calling ops->init(), allowing that
particular callback to have access to probe data.

This should have no impact on existing code which ignores the
current value of cfg->priv.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Tested-by: Janne Grunau <j@jannau.net>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Link: https://patch.msgid.link/20250401091713.2765724-5-maz@kernel.org
drivers/pci/ecam.c

index 260b7de2dbd5788c856f45e3ba85cee34334ee0c..2c5e6446e00eed85463119c656e28e91a843b72e 100644 (file)
@@ -84,6 +84,8 @@ struct pci_config_window *pci_ecam_create(struct device *dev,
                        goto err_exit_iomap;
        }
 
+       cfg->priv = dev_get_drvdata(dev);
+
        if (ops->init) {
                err = ops->init(cfg);
                if (err)