Skip to content

Commit

Permalink
mmc: omap_hsmmc: simplify card/cover detect isr
Browse files Browse the repository at this point in the history
strip the card dectet logic from cover detect isr and vice versa
the generic mmc_gpio_cd_irqt isr, uses 200ms on removal/insertion,
hence that should be fine here as well

Signed-off-by: Andreas Fenkart <afenkart@gmail.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
  • Loading branch information
Andreas Fenkart authored and Ulf Hansson committed Mar 31, 2015
1 parent b793f65 commit 11227d1
Showing 1 changed file with 3 additions and 24 deletions.
27 changes: 3 additions & 24 deletions drivers/mmc/host/omap_hsmmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1241,21 +1241,11 @@ static void omap_hsmmc_protect_card(struct omap_hsmmc_host *host)
static irqreturn_t omap_hsmmc_cover_irq(int irq, void *dev_id)
{
struct omap_hsmmc_host *host = dev_id;
int carddetect;

sysfs_notify(&host->mmc->class_dev.kobj, NULL, "cover_switch");

if (host->card_detect) {
carddetect = host->card_detect(host->dev);
} else {
omap_hsmmc_protect_card(host);
carddetect = -ENOSYS;
}

if (carddetect)
mmc_detect_change(host->mmc, (HZ * 200) / 1000);
else
mmc_detect_change(host->mmc, (HZ * 50) / 1000);
omap_hsmmc_protect_card(host);
mmc_detect_change(host->mmc, (HZ * 200) / 1000);
return IRQ_HANDLED;
}

Expand All @@ -1265,19 +1255,8 @@ static irqreturn_t omap_hsmmc_cover_irq(int irq, void *dev_id)
static irqreturn_t omap_hsmmc_detect(int irq, void *dev_id)
{
struct omap_hsmmc_host *host = dev_id;
int carddetect;

if (host->card_detect)
carddetect = host->card_detect(host->dev);
else {
omap_hsmmc_protect_card(host);
carddetect = -ENOSYS;
}

if (carddetect)
mmc_detect_change(host->mmc, (HZ * 200) / 1000);
else
mmc_detect_change(host->mmc, (HZ * 50) / 1000);
mmc_detect_change(host->mmc, (HZ * 200) / 1000);
return IRQ_HANDLED;
}

Expand Down

0 comments on commit 11227d1

Please sign in to comment.