amba: Stop sharing platform_dma_configure()
authorLu Baolu <baolu.lu@linux.intel.com>
Mon, 18 Apr 2022 00:49:52 +0000 (08:49 +0800)
committerJoerg Roedel <jroedel@suse.de>
Thu, 28 Apr 2022 13:32:20 +0000 (15:32 +0200)
Stop sharing platform_dma_configure() helper as they are about to have
their own bus dma_configure callbacks.

Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20220418005000.897664-4-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/amba/bus.c
drivers/base/platform.c
include/linux/platform_device.h

index d3bd14a..76b52bd 100644 (file)
@@ -20,6 +20,8 @@
 #include <linux/platform_device.h>
 #include <linux/reset.h>
 #include <linux/of_irq.h>
+#include <linux/of_device.h>
+#include <linux/acpi.h>
 
 #define to_amba_driver(d)      container_of(d, struct amba_driver, drv)
 
@@ -273,6 +275,21 @@ static void amba_shutdown(struct device *dev)
                drv->shutdown(to_amba_device(dev));
 }
 
+static int amba_dma_configure(struct device *dev)
+{
+       enum dev_dma_attr attr;
+       int ret = 0;
+
+       if (dev->of_node) {
+               ret = of_dma_configure(dev, dev->of_node, true);
+       } else if (has_acpi_companion(dev)) {
+               attr = acpi_get_dma_attr(to_acpi_device_node(dev->fwnode));
+               ret = acpi_dma_configure(dev, attr);
+       }
+
+       return ret;
+}
+
 #ifdef CONFIG_PM
 /*
  * Hooks to provide runtime PM of the pclk (bus clock).  It is safe to
@@ -341,7 +358,7 @@ struct bus_type amba_bustype = {
        .probe          = amba_probe,
        .remove         = amba_remove,
        .shutdown       = amba_shutdown,
-       .dma_configure  = platform_dma_configure,
+       .dma_configure  = amba_dma_configure,
        .pm             = &amba_pm,
 };
 EXPORT_SYMBOL_GPL(amba_bustype);
index 8cc272f..d791573 100644 (file)
@@ -1454,8 +1454,7 @@ static void platform_shutdown(struct device *_dev)
                drv->shutdown(dev);
 }
 
-
-int platform_dma_configure(struct device *dev)
+static int platform_dma_configure(struct device *dev)
 {
        enum dev_dma_attr attr;
        int ret = 0;
index 7c96f16..17fde71 100644 (file)
@@ -328,8 +328,6 @@ extern int platform_pm_restore(struct device *dev);
 #define platform_pm_restore            NULL
 #endif
 
-extern int platform_dma_configure(struct device *dev);
-
 #ifdef CONFIG_PM_SLEEP
 #define USE_PLATFORM_PM_SLEEP_OPS \
        .suspend = platform_pm_suspend, \