diff options
author | mokopatches <mokopatches@openmoko.org> | 2008-11-19 17:03:13 +0000 |
---|---|---|
committer | Andy Green <agreen@pads.home.warmcat.com> | 2008-11-19 17:03:13 +0000 |
commit | 0a4a9b785a24a7c87a2c69c2cf7afa1b38248f30 (patch) | |
tree | 3d87fe116071ebf3ae919512dd471d4df64a1d52 /drivers/mmc/host | |
parent | c63474bdc3d45e06d0b0f8a4dc8cace828b780d2 (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/host')
-rw-r--r-- | drivers/mmc/host/s3cmci.c | 14 |
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"); + |