[PATCH 2/7] mci: Allow to specify device name
Sascha Hauer
s.hauer at pengutronix.de
Thu Dec 13 16:49:05 EST 2012
When multiple MMC/SD cards are present in the system we often
have to have persistent names to identify them during runtime.
This patch allows to overwrite the devicename which is used.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
drivers/mci/mci-core.c | 10 +++++++---
include/mci.h | 1 +
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c
index e29bd2e..559f8ab 100644
--- a/drivers/mci/mci-core.c
+++ b/drivers/mci/mci-core.c
@@ -1397,9 +1397,13 @@ static int mci_card_probe(struct mci *mci)
mci->blk.dev = mci->mci_dev;
mci->blk.ops = &mci_ops;
- disknum = cdev_find_free_index("disk");
+ if (host->devname) {
+ mci->blk.cdev.name = strdup(host->devname);
+ } else {
+ disknum = cdev_find_free_index("disk");
+ mci->blk.cdev.name = asprintf("disk%d", disknum);
+ }
- mci->blk.cdev.name = asprintf("disk%d", disknum);
mci->blk.blockbits = SECTOR_SHIFT;
mci->blk.num_blocks = mci_calc_blk_cnt(mci->capacity, mci->blk.blockbits);
@@ -1409,7 +1413,7 @@ static int mci_card_probe(struct mci *mci)
goto on_error;
}
- dev_info(mci->mci_dev, "registered disk%d\n", disknum);
+ dev_info(mci->mci_dev, "registered %s\n", mci->blk.cdev.name);
/* create partitions on demand */
rc = parse_partition_table(&mci->blk);
diff --git a/include/mci.h b/include/mci.h
index db78b9c..0041e27 100644
--- a/include/mci.h
+++ b/include/mci.h
@@ -286,6 +286,7 @@ struct mci_ios {
/** host information */
struct mci_host {
struct device_d *hw_dev; /**< the host MCI hardware device */
+ 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.7.10.4
More information about the barebox
mailing list