aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2008-08-12 04:24:50 -0400
committerPierre Ossman <drzeus@drzeus.cx>2008-08-17 14:00:22 -0400
commit87dd98037d2309efbbd5e769efb23d845c37dac7 (patch)
tree25dd992c1f889c3eb276336dfbbf048f4a75d890 /drivers/mmc
parent5d304400a9a867a7ce545f3ae6d95d92b62570f7 (diff)
s3cmci: attach get_cd host ops
Attach the routine to get_cd to allow the MMC core to find out whether there is a card present or not without the tedious process of trying to send commands to the card or not. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/s3cmci.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c
index 6afa4c048547..ae16d845d746 100644
--- a/drivers/mmc/host/s3cmci.c
+++ b/drivers/mmc/host/s3cmci.c
@@ -1004,8 +1004,9 @@ static void s3cmci_send_request(struct mmc_host *mmc)
1004 enable_irq(host->irq); 1004 enable_irq(host->irq);
1005} 1005}
1006 1006
1007static int s3cmci_card_present(struct s3cmci_host *host) 1007static int s3cmci_card_present(struct mmc_host *mmc)
1008{ 1008{
1009 struct s3cmci_host *host = mmc_priv(mmc);
1009 struct s3c24xx_mci_pdata *pdata = host->pdata; 1010 struct s3c24xx_mci_pdata *pdata = host->pdata;
1010 int ret; 1011 int ret;
1011 1012
@@ -1024,7 +1025,7 @@ static void s3cmci_request(struct mmc_host *mmc, struct mmc_request *mrq)
1024 host->cmd_is_stop = 0; 1025 host->cmd_is_stop = 0;
1025 host->mrq = mrq; 1026 host->mrq = mrq;
1026 1027
1027 if (s3cmci_card_present(host) == 0) { 1028 if (s3cmci_card_present(mmc) == 0) {
1028 dbg(host, dbg_err, "%s: no medium present\n", __func__); 1029 dbg(host, dbg_err, "%s: no medium present\n", __func__);
1029 host->mrq->cmd->error = -ENOMEDIUM; 1030 host->mrq->cmd->error = -ENOMEDIUM;
1030 mmc_request_done(mmc, mrq); 1031 mmc_request_done(mmc, mrq);
@@ -1139,6 +1140,7 @@ static struct mmc_host_ops s3cmci_ops = {
1139 .request = s3cmci_request, 1140 .request = s3cmci_request,
1140 .set_ios = s3cmci_set_ios, 1141 .set_ios = s3cmci_set_ios,
1141 .get_ro = s3cmci_get_ro, 1142 .get_ro = s3cmci_get_ro,
1143 .get_cd = s3cmci_card_present,
1142}; 1144};
1143 1145
1144static struct s3c24xx_mci_pdata s3cmci_def_pdata = { 1146static struct s3c24xx_mci_pdata s3cmci_def_pdata = {