diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-02-08 15:49:14 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-02-09 12:40:11 +0100 |
commit | 0f9892cce8792b2d44b07ba8431c2876290e1ac1 (patch) | |
tree | d4efdfdf3a4a10849e0abcbdedbe78b5c421f4af /drivers/mci/atmel_mci.c | |
parent | 74b83f91198c8dd81ba3afac2b83f10723bd39b5 (diff) | |
download | barebox-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/atmel_mci.c')
-rw-r--r-- | drivers/mci/atmel_mci.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/mci/atmel_mci.c b/drivers/mci/atmel_mci.c index 3c37747ff9..e0272b937c 100644 --- a/drivers/mci/atmel_mci.c +++ b/drivers/mci/atmel_mci.c @@ -352,29 +352,31 @@ static int mci_reset(struct mci_host *mci, struct device_d *mci_dev) /** change host interface settings */ static void mci_set_ios(struct mci_host *mci, struct device_d *mci_dev, - unsigned bus_width, unsigned clock) + struct mci_ios *ios) { struct atmel_mci_host *host = to_mci_host(mci); dev_dbg(host->hw_dev, "atmel_mci_set_ios: bus_width=%d clk=%d\n", - bus_width, clock); + ios->bus_width, ios->clock); - switch (bus_width) { - case 4: + switch (ios->bus_width) { + case MMC_BUS_WIDTH_4: atmel_mci_writel(host, AT91_MCI_SDCR, AT91_MCI_SDCBUS_4BIT); break; - case 8: + case MMC_BUS_WIDTH_8: atmel_mci_writel(host, AT91_MCI_SDCR, AT91_MCI_SDCBUS_8BIT); break; - default: + case MMC_BUS_WIDTH_1: atmel_mci_writel(host, AT91_MCI_SDCR, AT91_MCI_SDCBUS_1BIT); break; + default: + return; } atmel_mci_writel(host, AT91_MCI_SDCR, atmel_mci_readl(host, AT91_MCI_SDCR) | host->slot_b); - if (clock) { - atmel_set_clk_rate(host, clock); + if (ios->clock) { + atmel_set_clk_rate(host, ios->clock); atmel_mci_writel(host, AT91_MCI_CR, AT91_MCI_MCIEN ); } else { |