diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-07-10 08:50:59 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-07-15 11:16:19 +0200 |
commit | b2968cc8af06bfa851cf40fd5e4c845634a0caa4 (patch) | |
tree | 522f7c1a6b58f08b8dd4b8816d714676aa36151a /drivers/mci/mci-core.c | |
parent | 0ee203186d1adf98a04484ee9e601ca9714f0497 (diff) | |
download | barebox-b2968cc8af06bfa851cf40fd5e4c845634a0caa4.tar.gz barebox-b2968cc8af06bfa851cf40fd5e4c845634a0caa4.tar.xz |
mci: set partnames of eMMC boot partitions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mci/mci-core.c')
-rw-r--r-- | drivers/mci/mci-core.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c index 67668d53f0..02e6216caf 100644 --- a/drivers/mci/mci-core.c +++ b/drivers/mci/mci-core.c @@ -406,7 +406,7 @@ static int mci_calc_blk_cnt(uint64_t cap, unsigned shift) } static void mci_part_add(struct mci *mci, uint64_t size, - unsigned int part_cfg, char *name, int idx, bool ro, + unsigned int part_cfg, char *name, char *partname, int idx, bool ro, int area_type) { struct mci_part *part = &mci->part[mci->nr_parts]; @@ -414,6 +414,7 @@ static void mci_part_add(struct mci *mci, uint64_t size, part->mci = mci; part->size = size; part->blk.cdev.name = name; + part->blk.cdev.partname = partname; part->blk.blockbits = SECTOR_SHIFT; part->blk.num_blocks = mci_calc_blk_cnt(size, part->blk.blockbits); part->area_type = area_type; @@ -482,13 +483,14 @@ static int mmc_change_freq(struct mci *mci) unsigned int part_size; for (idx = 0; idx < MMC_NUM_BOOT_PARTITION; idx++) { - char *name; + char *name, *partname; part_size = mci->ext_csd[EXT_CSD_BOOT_MULT] << 17; - name = asprintf("%s.boot%d", mci->cdevname, idx); + partname = asprintf("boot%d", idx); + name = asprintf("%s.%s", mci->cdevname, partname); mci_part_add(mci, part_size, EXT_CSD_PART_CONFIG_ACC_BOOT0 + idx, - name, idx, true, + name, partname, idx, true, MMC_BLK_DATA_AREA_BOOT); } @@ -1104,7 +1106,7 @@ static int mci_startup(struct mci *mci) err = mci_set_blocklen(mci, mci->read_bl_len); mci_part_add(mci, mci->capacity, 0, - mci->cdevname, 0, true, + mci->cdevname, NULL, 0, true, MMC_BLK_DATA_AREA_MAIN); return err; |