diff options
Diffstat (limited to 'drivers/mmc/host/s3cmci.c')
| -rw-r--r-- | drivers/mmc/host/s3cmci.c | 17 | 
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c index 7c994e1ae276..ae16d845d746 100644 --- a/drivers/mmc/host/s3cmci.c +++ b/drivers/mmc/host/s3cmci.c  | |||
| @@ -595,8 +595,9 @@ static irqreturn_t s3cmci_irq_cd(int irq, void *dev_id) | |||
| 595 | return IRQ_HANDLED; | 595 | return IRQ_HANDLED; | 
| 596 | } | 596 | } | 
| 597 | 597 | ||
| 598 | void s3cmci_dma_done_callback(struct s3c2410_dma_chan *dma_ch, void *buf_id, | 598 | static void s3cmci_dma_done_callback(struct s3c2410_dma_chan *dma_ch, | 
| 599 | int size, enum s3c2410_dma_buffresult result) | 599 | void *buf_id, int size, | 
| 600 | enum s3c2410_dma_buffresult result) | ||
| 600 | { | 601 | { | 
| 601 | struct s3cmci_host *host = buf_id; | 602 | struct s3cmci_host *host = buf_id; | 
| 602 | unsigned long iflags; | 603 | unsigned long iflags; | 
| @@ -740,8 +741,8 @@ request_done: | |||
| 740 | mmc_request_done(host->mmc, mrq); | 741 | mmc_request_done(host->mmc, mrq); | 
| 741 | } | 742 | } | 
| 742 | 743 | ||
| 743 | 744 | static void s3cmci_dma_setup(struct s3cmci_host *host, | |
| 744 | void s3cmci_dma_setup(struct s3cmci_host *host, enum s3c2410_dmasrc source) | 745 | enum s3c2410_dmasrc source) | 
| 745 | { | 746 | { | 
| 746 | static enum s3c2410_dmasrc last_source = -1; | 747 | static enum s3c2410_dmasrc last_source = -1; | 
| 747 | static int setup_ok; | 748 | static int setup_ok; | 
| @@ -1003,8 +1004,9 @@ static void s3cmci_send_request(struct mmc_host *mmc) | |||
| 1003 | enable_irq(host->irq); | 1004 | enable_irq(host->irq); | 
| 1004 | } | 1005 | } | 
| 1005 | 1006 | ||
| 1006 | static int s3cmci_card_present(struct s3cmci_host *host) | 1007 | static int s3cmci_card_present(struct mmc_host *mmc) | 
| 1007 | { | 1008 | { | 
| 1009 | struct s3cmci_host *host = mmc_priv(mmc); | ||
| 1008 | struct s3c24xx_mci_pdata *pdata = host->pdata; | 1010 | struct s3c24xx_mci_pdata *pdata = host->pdata; | 
| 1009 | int ret; | 1011 | int ret; | 
| 1010 | 1012 | ||
| @@ -1023,7 +1025,7 @@ static void s3cmci_request(struct mmc_host *mmc, struct mmc_request *mrq) | |||
| 1023 | host->cmd_is_stop = 0; | 1025 | host->cmd_is_stop = 0; | 
| 1024 | host->mrq = mrq; | 1026 | host->mrq = mrq; | 
| 1025 | 1027 | ||
| 1026 | if (s3cmci_card_present(host) == 0) { | 1028 | if (s3cmci_card_present(mmc) == 0) { | 
| 1027 | dbg(host, dbg_err, "%s: no medium present\n", __func__); | 1029 | dbg(host, dbg_err, "%s: no medium present\n", __func__); | 
| 1028 | host->mrq->cmd->error = -ENOMEDIUM; | 1030 | host->mrq->cmd->error = -ENOMEDIUM; | 
| 1029 | mmc_request_done(mmc, mrq); | 1031 | mmc_request_done(mmc, mrq); | 
| @@ -1138,6 +1140,7 @@ static struct mmc_host_ops s3cmci_ops = { | |||
| 1138 | .request = s3cmci_request, | 1140 | .request = s3cmci_request, | 
| 1139 | .set_ios = s3cmci_set_ios, | 1141 | .set_ios = s3cmci_set_ios, | 
| 1140 | .get_ro = s3cmci_get_ro, | 1142 | .get_ro = s3cmci_get_ro, | 
| 1143 | .get_cd = s3cmci_card_present, | ||
| 1141 | }; | 1144 | }; | 
| 1142 | 1145 | ||
| 1143 | static struct s3c24xx_mci_pdata s3cmci_def_pdata = { | 1146 | static struct s3c24xx_mci_pdata s3cmci_def_pdata = { | 
| @@ -1206,7 +1209,7 @@ static int __devinit s3cmci_probe(struct platform_device *pdev, int is2440) | |||
| 1206 | } | 1209 | } | 
| 1207 | 1210 | ||
| 1208 | host->base = ioremap(host->mem->start, RESSIZE(host->mem)); | 1211 | host->base = ioremap(host->mem->start, RESSIZE(host->mem)); | 
| 1209 | if (host->base == 0) { | 1212 | if (!host->base) { | 
| 1210 | dev_err(&pdev->dev, "failed to ioremap() io memory region.\n"); | 1213 | dev_err(&pdev->dev, "failed to ioremap() io memory region.\n"); | 
| 1211 | ret = -EINVAL; | 1214 | ret = -EINVAL; | 
| 1212 | goto probe_free_mem_region; | 1215 | goto probe_free_mem_region; | 
