2008-12-02 15:41:57

by Ben Dooks

[permalink] [raw]
Subject: [patch 3/8] 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]>

Index: linux.git/drivers/mmc/host/sdhci.c
===================================================================
--- linux.git.orig/drivers/mmc/host/sdhci.c 2008-12-01 19:26:25.000000000 +0000
+++ linux.git/drivers/mmc/host/sdhci.c 2008-12-02 14:36:47.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)
@@ -1615,11 +1618,12 @@ int sdhci_add_host(struct sdhci_host *ho
if (host->max_clk == 0) {
if (host->ops->get_max_clock)
host->max_clk = host->ops->get_max_clock(host);
- else
+ else {
printk(KERN_ERR
"%s: Hardware doesn't specify base clock "
"frequency.\n", mmc_hostname(mmc));
- return -ENODEV;
+ return -ENODEV;
+ }
}

host->timeout_clk =
@@ -1627,11 +1631,12 @@ int sdhci_add_host(struct sdhci_host *ho
if (host->timeout_clk == 0) {
if (host->ops->get_timeout_clock)
host->timeout_clk = host->ops->get_timeout_clock(host);
- else
+ else {
printk(KERN_ERR
"%s: Hardware doesn't specify timeout clock "
"frequency.\n", mmc_hostname(mmc));
- return -ENODEV;
+ return -ENODEV;
+ }
}
if (caps & SDHCI_TIMEOUT_CLK_UNIT)
host->timeout_clk *= 1000;
Index: linux.git/drivers/mmc/host/sdhci.h
===================================================================
--- linux.git.orig/drivers/mmc/host/sdhci.h 2008-12-01 19:17:55.000000000 +0000
+++ linux.git/drivers/mmc/host/sdhci.h 2008-12-02 14:36:39.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-12-21 13:22:44

by Pierre Ossman

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

On Tue, 02 Dec 2008 15:40:21 +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]>
>

NAK. As I explained earlier, this is a too broad hook and you haven't
given a proper reason for examining the card structure (which is all
that the set_ios callback does).

--
-- Pierre Ossman

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.


Attachments:
signature.asc (197.00 B)