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

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Thu Nov 7 19:11:57 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>
---

Notes:
    Changes since (implicit) v1, sent with
    Message-Id: 1383821462-29348-1-git-send-email-u.kleine-koenig at pengutronix.de:
    
     - don't check for pd->devname being non-NULL before assigment as suggested
       by Jean-Christophe.

 arch/arm/mach-mxs/include/mach/mci.h | 1 +
 drivers/mci/mxs.c                    | 1 +
 include/mci.h                        | 2 +-
 3 files changed, 3 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..bf928e8 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 07ac273..0f10e8a 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