dmaengine: dw: platform: Move handle check to dw_dma_acpi_controller_register()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 20 Aug 2019 13:15:44 +0000 (16:15 +0300)
committerVinod Koul <vkoul@kernel.org>
Wed, 21 Aug 2019 04:11:28 +0000 (09:41 +0530)
Move ACPI handle check to the dw_dma_acpi_controller_register().

While here, convert it to has_acpi_companion() which is recommended way.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20190820131546.75744-9-andriy.shevchenko@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dw/platform.c

index 44fec1e..b8514d7 100644 (file)
@@ -76,6 +76,9 @@ static void dw_dma_acpi_controller_register(struct dw_dma *dw)
        struct acpi_dma_filter_info *info;
        int ret;
 
+       if (!has_acpi_companion(dev))
+               return;
+
        info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL);
        if (!info)
                return;
@@ -93,6 +96,9 @@ static void dw_dma_acpi_controller_free(struct dw_dma *dw)
 {
        struct device *dev = dw->dma.dev;
 
+       if (!has_acpi_companion(dev))
+               return;
+
        acpi_dma_controller_free(dev);
 }
 #else /* !CONFIG_ACPI */
@@ -239,8 +245,7 @@ static int dw_probe(struct platform_device *pdev)
                                "could not register of_dma_controller\n");
        }
 
-       if (ACPI_HANDLE(&pdev->dev))
-               dw_dma_acpi_controller_register(chip->dw);
+       dw_dma_acpi_controller_register(chip->dw);
 
        return 0;
 
@@ -256,8 +261,7 @@ static int dw_remove(struct platform_device *pdev)
        struct dw_dma_chip *chip = data->chip;
        int ret;
 
-       if (ACPI_HANDLE(&pdev->dev))
-               dw_dma_acpi_controller_free(chip->dw);
+       dw_dma_acpi_controller_free(chip->dw);
 
        if (pdev->dev.of_node)
                of_dma_controller_free(pdev->dev.of_node);