2008-11-03 20:11:53

by Ben Dooks

[permalink] [raw]
Subject: [patch 3/7] SDHCI: Add set_ios hook

Add a set_ios hook which is called when the SDHCI driver
is called to change parameters such as clock or card
width.

Signed-off-by: Ben Dooks <[email protected]>

--- linux.git.orig/drivers/mmc/host/sdhci.c 2008-10-28 08:35:50.000000000 +0000
+++ linux.git/drivers/mmc/host/sdhci.c 2008-10-28 08:35:51.000000000 +0000
@@ -1038,6 +1038,9 @@ static void sdhci_set_ios(struct mmc_hos
sdhci_init(host);
}

+ if (host->ops->set_ios)
+ host->ops->set_ios(host, ios);
+
sdhci_set_clock(host, ios->clock);

if (ios->power_mode == MMC_POWER_OFF)
--- linux.git.orig/drivers/mmc/host/sdhci.h 2008-10-28 08:31:30.000000000 +0000
+++ linux.git/drivers/mmc/host/sdhci.h 2008-10-28 08:35:51.000000000 +0000
@@ -269,6 +269,9 @@ struct sdhci_ops {
int (*enable_dma)(struct sdhci_host *host);
unsigned int (*get_max_clock)(struct sdhci_host *host);
unsigned int (*get_timeout_clock)(struct sdhci_host *host);
+
+ void (*set_ios)(struct sdhci_host *host,
+ struct mmc_ios *ios);
};



--
Ben ([email protected], http://www.fluff.org/)

'a smiley only costs 4 bytes'


2008-11-14 21:32:59

by Pierre Ossman

[permalink] [raw]
Subject: Re: [patch 3/7] SDHCI: Add set_ios hook

On Mon, 03 Nov 2008 20:09:47 +0000
Ben Dooks <[email protected]> wrote:

> Add a set_ios hook which is called when the SDHCI driver
> is called to change parameters such as clock or card
> width.
>
> Signed-off-by: Ben Dooks <[email protected]>
>

Hmm... this is very general and very much undefined. I think we need to
have some kind of formal API here or I might end up breaking S3C
support when I hack away at the driver.

Preferable, I'd like to see a more fine grained set of callbacks.

--
-- Pierre Ossman

Linux kernel, MMC maintainer http://www.kernel.org
rdesktop, core developer http://www.rdesktop.org

WARNING: This correspondence is being monitored by the
Swedish government. Make sure your server uses encryption
for SMTP traffic and consider using PGP for end-to-end
encryption.