summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/core/host.c2
-rw-r--r--drivers/mmc/core/slot-gpio.c8
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
index 91c84c7a182..b8c5290571f 100644
--- a/drivers/mmc/core/host.c
+++ b/drivers/mmc/core/host.c
@@ -327,6 +327,8 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
mmc_host_clk_init(host);
+ host->slot.cd_irq = -EINVAL;
+
spin_lock_init(&host->lock);
init_waitqueue_head(&host->wq);
INIT_DELAYED_WORK(&host->detect, mmc_rescan);
diff --git a/drivers/mmc/core/slot-gpio.c b/drivers/mmc/core/slot-gpio.c
index 97967105343..468e5a0e512 100644
--- a/drivers/mmc/core/slot-gpio.c
+++ b/drivers/mmc/core/slot-gpio.c
@@ -56,8 +56,8 @@ int mmc_gpio_request_cd(struct mmc_host *host, unsigned int gpio)
goto eirqreq;
ctx->cd_gpio = gpio;
- host->hotplug.irq = irq;
- host->hotplug.handler_priv = ctx;
+ host->slot.cd_irq = irq;
+ host->slot.handler_priv = ctx;
return 0;
@@ -71,12 +71,12 @@ EXPORT_SYMBOL(mmc_gpio_request_cd);
void mmc_gpio_free_cd(struct mmc_host *host)
{
- struct mmc_gpio *ctx = host->hotplug.handler_priv;
+ struct mmc_gpio *ctx = host->slot.handler_priv;
if (!ctx)
return;
- free_irq(host->hotplug.irq, host);
+ free_irq(host->slot.cd_irq, host);
gpio_free(ctx->cd_gpio);
kfree(ctx);
}