aboutsummaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authormokopatches <mokopatches@openmoko.org>2008-11-19 17:03:13 +0000
committerAndy Green <agreen@pads.home.warmcat.com>2008-11-19 17:03:13 +0000
commit0a4a9b785a24a7c87a2c69c2cf7afa1b38248f30 (patch)
tree3d87fe116071ebf3ae919512dd471d4df64a1d52 /drivers/mmc
parentc63474bdc3d45e06d0b0f8a4dc8cace828b780d2 (diff)
s3c_mci.patch
This is a MMC/SD driver for the Samsung S3C24xx SD/MMC controller, originally developed years ago by Thomas Kleffel <tk@maintech.de>. Due to time restraints, he had no time to further maintain the driver and follow the mainline Linux changes in the SD/MMC stack. With his authorization, I have taken over the task of making it compliant to the current mainline SD/MMC API and take care of the mainline kernel merge. After a potential kernel inclusion, we would co-maintain the driver. Acked-by: Thomas Kleffel <tk@maintech.de> Signed-off-by: Harald Welte <laforge@gnumonks.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/s3cmci.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c
index fcc98a4cce3..6dc6e3926ff 100644
--- a/drivers/mmc/host/s3cmci.c
+++ b/drivers/mmc/host/s3cmci.c
@@ -2,6 +2,7 @@
* linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver
*
* Copyright (C) 2004-2006 maintech GmbH, Thomas Kleffel <tk@maintech.de>
+ * Copyright (C) 2007 Harald Welte <laforge@gnumonks.org>
*
* Current driver maintained by Ben Dooks and Simtec Electronics
* Copyright (C) 2008 Simtec Electronics <ben-linux@fluff.org>
@@ -27,6 +28,15 @@
#include <plat/mci.h>
+#include <asm/dma.h>
+#include <asm/dma-mapping.h>
+
+#include <asm/io.h>
+#include <asm/arch/regs-sdi.h>
+#include <asm/arch/regs-gpio.h>
+#include <asm/arch/mci.h>
+#include <asm/arch/dma.h>
+
#include "s3cmci.h"
#define DRIVER_NAME "s3c-mci"
@@ -373,7 +383,6 @@ static void pio_tasklet(unsigned long data)
{
struct s3cmci_host *host = (struct s3cmci_host *) data;
-
disable_irq(host->irq);
if (host->pio_active == XFER_WRITE)
@@ -614,7 +623,6 @@ irq_out:
spin_unlock_irqrestore(&host->complete_lock, iflags);
return IRQ_HANDLED;
-
}
/*
@@ -1027,6 +1035,7 @@ static void s3cmci_send_request(struct mmc_host *mmc)
dbg(host, dbg_err, "data prepare error %d\n", res);
cmd->error = res;
cmd->data->error = res;
+ cmd->data->error = -EIO;
mmc_request_done(mmc, mrq);
return;
@@ -1567,3 +1576,4 @@ MODULE_AUTHOR("Thomas Kleffel <tk@maintech.de>, Ben Dooks <ben-linux@fluff.org>"
MODULE_ALIAS("platform:s3c2410-sdi");
MODULE_ALIAS("platform:s3c2412-sdi");
MODULE_ALIAS("platform:s3c2440-sdi");
+