[PATCH] mci: mxs: support overwriting the device name via platform data

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Thu Nov 7 05:51:02 EST 2013


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 at pengutronix.de>
---
 arch/arm/mach-mxs/include/mach/mci.h | 1 +
 drivers/mci/mxs.c                    | 3 +++
 include/mci.h                        | 2 +-
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-mxs/include/mach/mci.h b/arch/arm/mach-mxs/include/mach/mci.h
index 4faab37..c47c24c 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 1b935f7..52d0656 100644
--- a/drivers/mci/mxs.c
+++ b/drivers/mci/mxs.c
@@ -571,6 +571,9 @@ static int mxs_mci_probe(struct device_d *hw_dev)
 	host->voltages = pd->voltages;
 	host->host_caps = pd->caps;
 
+	if (pd->devname)
+		host->devname = pd->devname;
+
 	mxs_mci->clk = clk_get(hw_dev, NULL);
 	if (IS_ERR(mxs_mci->clk))
 		return PTR_ERR(mxs_mci->clk);
diff --git a/include/mci.h b/include/mci.h
index 1ca00c7..72729b6 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 */
-- 
1.8.4.rc3




More information about the barebox mailing list