aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2012-06-20 13:10:30 -0400
committerChris Ball <cjb@laptop.org>2012-07-21 00:02:09 -0400
commite0337cc8b02fcb3f725746735db84d6d1b6b9196 (patch)
tree9bb2b4af39dadcf0a4d40ef8ea9d3b1528dd3d97 /drivers/mmc
parent3bfe619dc365e439936ed6dae36506944c44c18c (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.c21
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) {