summaryrefslogtreecommitdiffstats
path: root/drivers/mci/mxs.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-02-08 15:49:14 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2012-02-09 12:40:11 +0100
commit0f9892cce8792b2d44b07ba8431c2876290e1ac1 (patch)
treed4efdfdf3a4a10849e0abcbdedbe78b5c421f4af /drivers/mci/mxs.c
parent74b83f91198c8dd81ba3afac2b83f10723bd39b5 (diff)
downloadbarebox-0f9892cce8792b2d44b07ba8431c2876290e1ac1.tar.gz
barebox-0f9892cce8792b2d44b07ba8431c2876290e1ac1.tar.xz
mci core: replace discrete ios values with struct ios
As we'll need more arguments to set_ios over time put them in a struct mci_ios like the kernel does. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mci/mxs.c')
-rw-r--r--drivers/mci/mxs.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/mci/mxs.c b/drivers/mci/mxs.c
index a60e70635f..4b944fd3c5 100644
--- a/drivers/mci/mxs.c
+++ b/drivers/mci/mxs.c
@@ -641,26 +641,28 @@ static int mxs_mci_request(struct mci_host *host, struct mci_cmd *cmd,
* Drivers currently realized values are stored in MCI's platformdata
*/
static void mxs_mci_set_ios(struct mci_host *host, struct device_d *mci_dev,
- unsigned bus_width, unsigned clock)
+ struct mci_ios *ios)
{
struct mxs_mci_host *mxs_mci = to_mxs_mci(host);
- switch (bus_width) {
- case 8:
+ switch (ios->bus_width) {
+ case MMC_BUS_WIDTH_8:
mxs_mci->bus_width = 2;
host->bus_width = 8; /* 8 bit is possible */
break;
- case 4:
+ case MMC_BUS_WIDTH_4:
mxs_mci->bus_width = 1;
host->bus_width = 4; /* 4 bit is possible */
break;
- default:
+ case MMC_BUS_WIDTH_1:
mxs_mci->bus_width = 0;
host->bus_width = 1; /* 1 bit is possible */
break;
+ default:
+ return;
}
- mxs_mci->clock = mxs_mci_setup_clock_speed(mxs_mci, clock);
+ mxs_mci->clock = mxs_mci_setup_clock_speed(mxs_mci, ios->clock);
pr_debug("IO settings: bus width=%d, frequency=%u Hz\n", host->bus_width,
mxs_mci->clock);
}