diff options
author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2012-06-20 13:10:30 -0400 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2012-07-21 00:02:09 -0400 |
commit | e0337cc8b02fcb3f725746735db84d6d1b6b9196 (patch) | |
tree | 9bb2b4af39dadcf0a4d40ef8ea9d3b1528dd3d97 /drivers/mmc | |
parent | 3bfe619dc365e439936ed6dae36506944c44c18c (diff) |
mmc: tmio: don't needlessly enable interrupts during probing
We don't have to force-enable MMC interrupts in our .probe() method,
mmc_add_host() will trigger card detection, that will enable all the
necessary interrupts.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/tmio_mmc_pio.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c index 4f26edf07204..4318c1a74ba0 100644 --- a/drivers/mmc/host/tmio_mmc_pio.c +++ b/drivers/mmc/host/tmio_mmc_pio.c | |||
@@ -951,6 +951,17 @@ int __devinit tmio_mmc_host_probe(struct tmio_mmc_host **host, | |||
951 | 951 | ||
952 | _host->sdcard_irq_mask = sd_ctrl_read32(_host, CTL_IRQ_MASK); | 952 | _host->sdcard_irq_mask = sd_ctrl_read32(_host, CTL_IRQ_MASK); |
953 | tmio_mmc_disable_mmc_irqs(_host, TMIO_MASK_ALL); | 953 | tmio_mmc_disable_mmc_irqs(_host, TMIO_MASK_ALL); |
954 | |||
955 | /* Unmask the IRQs we want to know about */ | ||
956 | if (!_host->chan_rx) | ||
957 | irq_mask |= TMIO_MASK_READOP; | ||
958 | if (!_host->chan_tx) | ||
959 | irq_mask |= TMIO_MASK_WRITEOP; | ||
960 | if (!_host->native_hotplug) | ||
961 | irq_mask &= ~(TMIO_STAT_CARD_REMOVE | TMIO_STAT_CARD_INSERT); | ||
962 | |||
963 | _host->sdcard_irq_mask &= ~irq_mask; | ||
964 | |||
954 | if (pdata->flags & TMIO_MMC_SDIO_IRQ) | 965 | if (pdata->flags & TMIO_MMC_SDIO_IRQ) |
955 | tmio_mmc_enable_sdio_irq(mmc, 0); | 966 | tmio_mmc_enable_sdio_irq(mmc, 0); |
956 | 967 | ||
@@ -968,16 +979,6 @@ int __devinit tmio_mmc_host_probe(struct tmio_mmc_host **host, | |||
968 | 979 | ||
969 | dev_pm_qos_expose_latency_limit(&pdev->dev, 100); | 980 | dev_pm_qos_expose_latency_limit(&pdev->dev, 100); |
970 | 981 | ||
971 | /* Unmask the IRQs we want to know about */ | ||
972 | if (!_host->chan_rx) | ||
973 | irq_mask |= TMIO_MASK_READOP; | ||
974 | if (!_host->chan_tx) | ||
975 | irq_mask |= TMIO_MASK_WRITEOP; | ||
976 | if (!_host->native_hotplug) | ||
977 | irq_mask &= ~(TMIO_STAT_CARD_REMOVE | TMIO_STAT_CARD_INSERT); | ||
978 | |||
979 | tmio_mmc_enable_mmc_irqs(_host, irq_mask); | ||
980 | |||
981 | if (pdata->flags & TMIO_MMC_USE_GPIO_CD) { | 982 | if (pdata->flags & TMIO_MMC_USE_GPIO_CD) { |
982 | ret = mmc_gpio_request_cd(mmc, pdata->cd_gpio); | 983 | ret = mmc_gpio_request_cd(mmc, pdata->cd_gpio); |
983 | if (ret < 0) { | 984 | if (ret < 0) { |