[v1,10/12] dmaengine: dw: platform: Move handle check to dw_dma_acpi_controller_register()
diff mbox series

Message ID 20190806094054.64871-10-andriy.shevchenko@linux.intel.com
State Changes Requested
Headers show
Series
  • [v1,01/12] dmaengine: acpi: Set up DMA mask based on CSRT
Related show

Commit Message

Andy Shevchenko Aug. 6, 2019, 9:40 a.m. UTC
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>
---
 drivers/dma/dw/platform.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

Patch
diff mbox series

diff --git a/drivers/dma/dw/platform.c b/drivers/dma/dw/platform.c
index ea096cf6ee2b..11f2f6ed4c8a 100644
--- a/drivers/dma/dw/platform.c
+++ b/drivers/dma/dw/platform.c
@@ -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);