diff options
author | Jaehoon Chung <jh80.chung@samsung.com> | 2017-06-05 13:41:32 +0900 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2017-06-29 17:14:17 +0200 |
commit | b23475faed77f6a9016013c8db6b4707466e74a8 (patch) | |
tree | ea5ab6146410dcaa8a1ddc17fd75e18bf2d763e6 /drivers/mmc/host/dw_mmc.c | |
parent | 58870241a67453be7dc9ab368d5a0cdc9c404616 (diff) | |
download | linux-stable-b23475faed77f6a9016013c8db6b4707466e74a8.tar.gz linux-stable-b23475faed77f6a9016013c8db6b4707466e74a8.tar.bz2 linux-stable-b23475faed77f6a9016013c8db6b4707466e74a8.zip |
mmc: dw_mmc: change the array of slots
It doesn't need to use the array of slots anymore.
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host/dw_mmc.c')
-rw-r--r-- | drivers/mmc/host/dw_mmc.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 1b415da82754..8ed3c87f6a80 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -2563,8 +2563,7 @@ static void dw_mci_cmd_interrupt(struct dw_mci *host, u32 status) static void dw_mci_handle_cd(struct dw_mci *host) { - int i = 0; - struct dw_mci_slot *slot = host->slot[i]; + struct dw_mci_slot *slot = host->slot; if (slot->mmc->ops->card_event) slot->mmc->ops->card_event(slot->mmc); @@ -2576,8 +2575,7 @@ static irqreturn_t dw_mci_interrupt(int irq, void *dev_id) { struct dw_mci *host = dev_id; u32 pending; - int i = 0; - struct dw_mci_slot *slot = host->slot[i]; + struct dw_mci_slot *slot = host->slot; pending = mci_readl(host, MINTSTS); /* read-only mask reg */ @@ -2707,7 +2705,7 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id) slot->sdio_id = host->sdio_id0 + id; slot->mmc = mmc; slot->host = host; - host->slot[id] = slot; + host->slot = slot; mmc->ops = &dw_mci_ops; if (device_property_read_u32_array(host->dev, "clock-freq-min-max", @@ -2807,7 +2805,7 @@ static void dw_mci_cleanup_slot(struct dw_mci_slot *slot, unsigned int id) { /* Debugfs stuff is cleaned up by mmc core */ mmc_remove_host(slot->mmc); - slot->host->slot[id] = NULL; + slot->host->slot = NULL; mmc_free_host(slot->mmc); } @@ -2998,14 +2996,13 @@ static void dw_mci_enable_cd(struct dw_mci *host) { unsigned long irqflags; u32 temp; - int i = 0; struct dw_mci_slot *slot; /* * No need for CD if all slots have a non-error GPIO * as well as broken card detection is found. */ - slot = host->slot[i]; + slot = host->slot; if (slot->mmc->caps & MMC_CAP_NEEDS_POLL) return; @@ -3233,8 +3230,8 @@ void dw_mci_remove(struct dw_mci *host) int i = 0; dev_dbg(host->dev, "remove slot %d\n", i); - if (host->slot[i]) - dw_mci_cleanup_slot(host->slot[i], i); + if (host->slot) + dw_mci_cleanup_slot(host->slot, i); mci_writel(host, RINTSTS, 0xFFFFFFFF); mci_writel(host, INTMASK, 0); /* disable all mmc interrupt first */ @@ -3277,9 +3274,9 @@ EXPORT_SYMBOL(dw_mci_runtime_suspend); int dw_mci_runtime_resume(struct device *dev) { - int i = 0, ret = 0; + int ret = 0; struct dw_mci *host = dev_get_drvdata(dev); - struct dw_mci_slot *slot = host->slot[i]; + struct dw_mci_slot *slot = host->slot; if (host->cur_slot && (mmc_can_gpio_cd(host->cur_slot->mmc) || |