]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ACPI: Retire acpi_iommu_fwspec_ops()
authorRobin Murphy <robin.murphy@arm.com>
Tue, 2 Jul 2024 11:40:49 +0000 (12:40 +0100)
committerWill Deacon <will@kernel.org>
Thu, 4 Jul 2024 13:36:03 +0000 (14:36 +0100)
Now that iommu_fwspec_init() can signal for probe deferral directly,
acpi_iommu_fwspec_ops() is unneeded and can be cleaned up.

Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Tested-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/011e39e275aba3ad451c5a1965ca8ddf20ed36c2.1719919669.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/acpi/scan.c

index 8d5a589db1419824d1d9159540707de5ff27b1ee..2cfbb365c4ab8998f65c241fdb5ffb872bea459a 100644 (file)
@@ -1588,26 +1588,14 @@ int acpi_iommu_fwspec_init(struct device *dev, u32 id,
        return iommu_fwspec_add_ids(dev, &id, 1);
 }
 
-static inline const struct iommu_ops *acpi_iommu_fwspec_ops(struct device *dev)
-{
-       struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
-
-       return fwspec ? fwspec->ops : NULL;
-}
-
 static int acpi_iommu_configure_id(struct device *dev, const u32 *id_in)
 {
        int err;
-       const struct iommu_ops *ops;
 
        /* Serialise to make dev->iommu stable under our potential fwspec */
        mutex_lock(&iommu_probe_device_lock);
-       /*
-        * If we already translated the fwspec there is nothing left to do,
-        * return the iommu_ops.
-        */
-       ops = acpi_iommu_fwspec_ops(dev);
-       if (ops) {
+       /* If we already translated the fwspec there is nothing left to do */
+       if (dev_iommu_fwspec_get(dev)) {
                mutex_unlock(&iommu_probe_device_lock);
                return 0;
        }
@@ -1624,15 +1612,7 @@ static int acpi_iommu_configure_id(struct device *dev, const u32 *id_in)
        if (!err && dev->bus)
                err = iommu_probe_device(dev);
 
-       if (err == -EPROBE_DEFER)
-               return err;
-       if (err) {
-               dev_dbg(dev, "Adding to IOMMU failed: %d\n", err);
-               return err;
-       }
-       if (!acpi_iommu_fwspec_ops(dev))
-               return -ENODEV;
-       return 0;
+       return err;
 }
 
 #else /* !CONFIG_IOMMU_API */
@@ -1672,6 +1652,8 @@ int acpi_dma_configure_id(struct device *dev, enum dev_dma_attr attr,
        ret = acpi_iommu_configure_id(dev, input_id);
        if (ret == -EPROBE_DEFER)
                return -EPROBE_DEFER;
+       if (ret)
+               dev_dbg(dev, "Adding to IOMMU failed: %d\n", ret);
 
        arch_setup_dma_ops(dev, attr == DEV_DMA_COHERENT);