summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2013-11-08 01:11:57 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-11-11 11:16:22 +0100
commit3bd7f80d8f8902d0ab6e90ec1d7b9745f821ea54 (patch)
tree4e80e29833c3afe22bd2699d23d99a4eff4cfdff
parenta84fbbe6552cb2bb02c39781ec7f31503107907f (diff)
downloadbarebox-3bd7f80d8f8902d0ab6e90ec1d7b9745f821ea54.tar.gz
barebox-3bd7f80d8f8902d0ab6e90ec1d7b9745f821ea54.tar.xz
mci: mxs: support overwriting the device name via platform data
The current implementation of the bootloader specification depends on the hardware name and the name of the device in /dev to match. As the default hardware name is mciX and the device name is diskY the bootloader spec cannot be used as is. This patch implements a way to overwrite the device name similar to what is possible for the imx-esdhc driver. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/mach-mxs/include/mach/mci.h1
-rw-r--r--drivers/mci/mxs.c1
-rw-r--r--include/mci.h2
3 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-mxs/include/mach/mci.h b/arch/arm/mach-mxs/include/mach/mci.h
index 4faab37dab..c47c24cba8 100644
--- a/arch/arm/mach-mxs/include/mach/mci.h
+++ b/arch/arm/mach-mxs/include/mach/mci.h
@@ -15,6 +15,7 @@
#define __MACH_MMC_H
struct mxs_mci_platform_data {
+ const char *devname;
unsigned caps; /**< supported operating modes (MMC_MODE_*) */
unsigned voltages; /**< supported voltage range (MMC_VDD_*) */
unsigned f_min; /**< min operating frequency in Hz (0 -> no limit) */
diff --git a/drivers/mci/mxs.c b/drivers/mci/mxs.c
index 1b935f7ce6..bf928e80ff 100644
--- a/drivers/mci/mxs.c
+++ b/drivers/mci/mxs.c
@@ -570,6 +570,7 @@ static int mxs_mci_probe(struct device_d *hw_dev)
/* feed forward the platform specific values */
host->voltages = pd->voltages;
host->host_caps = pd->caps;
+ host->devname = pd->devname;
mxs_mci->clk = clk_get(hw_dev, NULL);
if (IS_ERR(mxs_mci->clk))
diff --git a/include/mci.h b/include/mci.h
index 07ac2731f7..0f10e8aea9 100644
--- a/include/mci.h
+++ b/include/mci.h
@@ -286,7 +286,7 @@ struct mci;
struct mci_host {
struct device_d *hw_dev; /**< the host MCI hardware device */
struct mci *mci;
- char *devname; /**< the devicename for the card, defaults to disk%d */
+ const char *devname; /**< the devicename for the card, defaults to disk%d */
unsigned voltages;
unsigned host_caps; /**< Host's interface capabilities, refer MMC_VDD_* */
unsigned f_min; /**< host interface lower limit */