mirror of https://gitee.com/openkylin/linux.git
mmc: tmio: simplify irq handler
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>
This commit is contained in:
parent
4da9867038
commit
958401266e
|
@ -626,19 +626,6 @@ static void tmio_mmc_cmd_irq(struct tmio_mmc_host *host,
|
|||
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))
|
||||
|
|
Loading…
Reference in New Issue