dmaengine: shdmac: Change platform check to CONFIG_ARCH_RENESAS
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 20 Apr 2018 13:28:28 +0000 (15:28 +0200)
committerVinod Koul <vkoul@kernel.org>
Wed, 25 Apr 2018 09:18:30 +0000 (14:48 +0530)
Since commit 9b5ba0df4ea4f940 ("ARM: shmobile: Introduce ARCH_RENESAS")
is CONFIG_ARCH_RENESAS a more appropriate platform check than the legacy
CONFIG_ARCH_SHMOBILE, hence use the former.

Renesas SuperH SH-Mobile SoCs are still covered by the CONFIG_CPU_SH4
check, just like before support for Renesas ARM SoCs was added.

Instead of blindly changing all the #ifdefs, switch the main code block
in sh_dmae_probe() to IS_ENABLED(), as this allows to remove all the
remaining #ifdefs.

This will allow to drop ARCH_SHMOBILE on ARM in the near future.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/sh/shdmac.c

index c94ffab..04a74e0 100644 (file)
@@ -443,7 +443,6 @@ static bool sh_dmae_reset(struct sh_dmae_device *shdev)
        return ret;
 }
 
-#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_SHMOBILE)
 static irqreturn_t sh_dmae_err(int irq, void *data)
 {
        struct sh_dmae_device *shdev = data;
@@ -454,7 +453,6 @@ static irqreturn_t sh_dmae_err(int irq, void *data)
        sh_dmae_reset(shdev);
        return IRQ_HANDLED;
 }
-#endif
 
 static bool sh_dmae_desc_completed(struct shdma_chan *schan,
                                   struct shdma_desc *sdesc)
@@ -686,11 +684,8 @@ static int sh_dmae_probe(struct platform_device *pdev)
        const struct sh_dmae_pdata *pdata;
        unsigned long chan_flag[SH_DMAE_MAX_CHANNELS] = {};
        int chan_irq[SH_DMAE_MAX_CHANNELS];
-#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_SHMOBILE)
        unsigned long irqflags = 0;
-       int errirq;
-#endif
-       int err, i, irq_cnt = 0, irqres = 0, irq_cap = 0;
+       int err, errirq, i, irq_cnt = 0, irqres = 0, irq_cap = 0;
        struct sh_dmae_device *shdev;
        struct dma_device *dma_dev;
        struct resource *chan, *dmars, *errirq_res, *chanirq_res;
@@ -792,33 +787,32 @@ static int sh_dmae_probe(struct platform_device *pdev)
        if (err)
                goto rst_err;
 
-#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_SHMOBILE)
-       chanirq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 1);
+       if (IS_ENABLED(CONFIG_CPU_SH4) || IS_ENABLED(CONFIG_ARCH_RENESAS)) {
+               chanirq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 1);
 
-       if (!chanirq_res)
-               chanirq_res = errirq_res;
-       else
-               irqres++;
+               if (!chanirq_res)
+                       chanirq_res = errirq_res;
+               else
+                       irqres++;
 
-       if (chanirq_res == errirq_res ||
-           (errirq_res->flags & IORESOURCE_BITS) == IORESOURCE_IRQ_SHAREABLE)
-               irqflags = IRQF_SHARED;
+               if (chanirq_res == errirq_res ||
+                   (errirq_res->flags & IORESOURCE_BITS) == IORESOURCE_IRQ_SHAREABLE)
+                       irqflags = IRQF_SHARED;
 
-       errirq = errirq_res->start;
+               errirq = errirq_res->start;
 
-       err = devm_request_irq(&pdev->dev, errirq, sh_dmae_err, irqflags,
-                              "DMAC Address Error", shdev);
-       if (err) {
-               dev_err(&pdev->dev,
-                       "DMA failed requesting irq #%d, error %d\n",
-                       errirq, err);
-               goto eirq_err;
+               err = devm_request_irq(&pdev->dev, errirq, sh_dmae_err,
+                                      irqflags, "DMAC Address Error", shdev);
+               if (err) {
+                       dev_err(&pdev->dev,
+                               "DMA failed requesting irq #%d, error %d\n",
+                               errirq, err);
+                       goto eirq_err;
+               }
+       } else {
+               chanirq_res = errirq_res;
        }
 
-#else
-       chanirq_res = errirq_res;
-#endif /* CONFIG_CPU_SH4 || CONFIG_ARCH_SHMOBILE */
-
        if (chanirq_res->start == chanirq_res->end &&
            !platform_get_resource(pdev, IORESOURCE_IRQ, 1)) {
                /* Special case - all multiplexed */
@@ -884,9 +878,7 @@ edmadevreg:
 chan_probe_err:
        sh_dmae_chan_remove(shdev);
 
-#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_SHMOBILE)
 eirq_err:
-#endif
 rst_err:
        spin_lock_irq(&sh_dmae_lock);
        list_del_rcu(&shdev->node);