OSDN Git Service

mmc: tmio: simplify irq handler
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Tue, 26 Apr 2016 15:55:25 +0000 (17:55 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 2 May 2016 08:33:39 +0000 (10:33 +0200)
Having just one irq handler again, let's include the 'card_status'
function in the main handler which is way more readable. Drop a useless
debug output while here. It should be a dev_dbg in case we ever need it
again.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/tmio_mmc_pio.c

index 3bcfd92..5712b42 100644 (file)
@@ -626,19 +626,6 @@ out:
        spin_unlock(&host->lock);
 }
 
-static void tmio_mmc_card_irq_status(struct tmio_mmc_host *host,
-                                      int *ireg, int *status)
-{
-       *status = sd_ctrl_read32(host, CTL_STATUS);
-       *ireg = *status & TMIO_MASK_IRQ & ~host->sdcard_irq_mask;
-
-       pr_debug_status(*status);
-       pr_debug_status(*ireg);
-
-       /* Clear the status except the interrupt status */
-       sd_ctrl_write32(host, CTL_STATUS, TMIO_MASK_IRQ);
-}
-
 static bool __tmio_mmc_card_detect_irq(struct tmio_mmc_host *host,
                                      int ireg, int status)
 {
@@ -716,9 +703,15 @@ irqreturn_t tmio_mmc_irq(int irq, void *devid)
        struct tmio_mmc_host *host = devid;
        unsigned int ireg, status;
 
-       pr_debug("MMC IRQ begin\n");
+       status = sd_ctrl_read32(host, CTL_STATUS);
+       ireg = status & TMIO_MASK_IRQ & ~host->sdcard_irq_mask;
+
+       pr_debug_status(status);
+       pr_debug_status(ireg);
+
+       /* Clear the status except the interrupt status */
+       sd_ctrl_write32(host, CTL_STATUS, TMIO_MASK_IRQ);
 
-       tmio_mmc_card_irq_status(host, &ireg, &status);
        if (__tmio_mmc_card_detect_irq(host, ireg, status))
                return IRQ_HANDLED;
        if (__tmio_mmc_sdcard_irq(host, ireg, status))