aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/mmc/host/msm_sdcc.c45
1 files changed, 24 insertions, 21 deletions
diff --git a/drivers/mmc/host/msm_sdcc.c b/drivers/mmc/host/msm_sdcc.c
index 68bce6460d9..874de6a1e4e 100644
--- a/drivers/mmc/host/msm_sdcc.c
+++ b/drivers/mmc/host/msm_sdcc.c
@@ -43,7 +43,6 @@
#include <mach/dma.h>
#include <mach/htc_pwrsink.h>
-
#include "msm_sdcc.h"
#define DRIVER_NAME "msm-sdcc"
@@ -58,8 +57,6 @@ static unsigned int msmsdcc_sdioirq;
#define PIO_SPINMAX 30
#define CMD_SPINMAX 20
-
-
static void
msmsdcc_start_command(struct msmsdcc_host *host, struct mmc_command *cmd,
u32 c);
@@ -98,16 +95,17 @@ msmsdcc_stop_data(struct msmsdcc_host *host)
uint32_t msmsdcc_fifo_addr(struct msmsdcc_host *host)
{
- if (host->pdev_id == 1)
+ switch (host->pdev_id) {
+ case 1:
return MSM_SDC1_PHYS + MMCIFIFO;
- else if (host->pdev_id == 2)
+ case 2:
return MSM_SDC2_PHYS + MMCIFIFO;
- else if (host->pdev_id == 3)
+ case 3:
return MSM_SDC3_PHYS + MMCIFIFO;
- else if (host->pdev_id == 4)
+ case 4:
return MSM_SDC4_PHYS + MMCIFIFO;
- else
- BUG();
+ }
+ BUG();
return 0;
}
@@ -156,8 +154,8 @@ msmsdcc_dma_complete_func(struct msm_dmov_cmd *cmd,
struct scatterlist *sg = host->dma.sg;
int i;
- for (i = 0; i < host->dma.num_ents; i++, sg++)
- flush_dcache_page(sg_page(sg));
+ for (i = 0; i < host->dma.num_ents; i++)
+ flush_dcache_page(sg_page(sg++));
}
host->dma.sg = NULL;
@@ -222,15 +220,20 @@ static int msmsdcc_config_dma(struct msmsdcc_host *host, struct mmc_data *data)
nc = host->dma.nc;
- if (host->pdev_id == 1)
+ switch (host->pdev_id) {
+ case 1:
crci = MSMSDCC_CRCI_SDC1;
- else if (host->pdev_id == 2)
+ break;
+ case 2:
crci = MSMSDCC_CRCI_SDC2;
- else if (host->pdev_id == 3)
+ break;
+ case 3:
crci = MSMSDCC_CRCI_SDC3;
- else if (host->pdev_id == 4)
+ break;
+ case 4:
crci = MSMSDCC_CRCI_SDC4;
- else {
+ break;
+ default:
host->dma.sg = NULL;
host->dma.num_ents = 0;
return -ENOENT;
@@ -244,7 +247,7 @@ static int msmsdcc_config_dma(struct msmsdcc_host *host, struct mmc_data *data)
host->curr.user_pages = 0;
n = dma_map_sg(mmc_dev(host->mmc), host->dma.sg,
- host->dma.num_ents, host->dma.dir);
+ host->dma.num_ents, host->dma.dir);
if (n != host->dma.num_ents) {
pr_err("%s: Unable to map in all sg elements\n",
@@ -318,7 +321,7 @@ msmsdcc_start_data(struct msmsdcc_host *host, struct mmc_data *data)
memset(&host->pio, 0, sizeof(host->pio));
clks = (unsigned long long)data->timeout_ns * host->clk_rate;
- do_div(clks, 1000000000UL);
+ do_div(clks, NSEC_PER_SEC);
timeout = data->timeout_clks + (unsigned int)clks;
writel(timeout, base + MMCIDATATIMER);
@@ -371,9 +374,9 @@ msmsdcc_start_command(struct msmsdcc_host *host, struct mmc_command *cmd, u32 c)
c |= MCI_CPSM_RESPONSE;
}
- if ((((cmd->opcode == 17) || (cmd->opcode == 18)) ||
- ((cmd->opcode == 24) || (cmd->opcode == 25))) ||
- (cmd->opcode == 53))
+ if (cmd->opcode == 17 || cmd->opcode == 18 ||
+ cmd->opcode == 24 || cmd->opcode == 25 ||
+ cmd->opcode == 53)
c |= MCI_CSPM_DATCMD;
if (cmd == cmd->mrq->stop)