aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/card/block.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/card/block.c')
-rw-r--r--drivers/mmc/card/block.c18
1 files changed, 1 insertions, 17 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index 3bdbe50a363f..8a0147dfed27 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -86,7 +86,6 @@ static int max_devices;
86 86
87/* TODO: Replace these with struct ida */ 87/* TODO: Replace these with struct ida */
88static DECLARE_BITMAP(dev_use, MAX_DEVICES); 88static DECLARE_BITMAP(dev_use, MAX_DEVICES);
89static DECLARE_BITMAP(name_use, MAX_DEVICES);
90 89
91/* 90/*
92 * There is one mmc_blk_data per slot. 91 * There is one mmc_blk_data per slot.
@@ -105,7 +104,6 @@ struct mmc_blk_data {
105 unsigned int usage; 104 unsigned int usage;
106 unsigned int read_only; 105 unsigned int read_only;
107 unsigned int part_type; 106 unsigned int part_type;
108 unsigned int name_idx;
109 unsigned int reset_done; 107 unsigned int reset_done;
110#define MMC_BLK_READ BIT(0) 108#define MMC_BLK_READ BIT(0)
111#define MMC_BLK_WRITE BIT(1) 109#define MMC_BLK_WRITE BIT(1)
@@ -2202,19 +2200,6 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
2202 goto out; 2200 goto out;
2203 } 2201 }
2204 2202
2205 /*
2206 * !subname implies we are creating main mmc_blk_data that will be
2207 * associated with mmc_card with dev_set_drvdata. Due to device
2208 * partitions, devidx will not coincide with a per-physical card
2209 * index anymore so we keep track of a name index.
2210 */
2211 if (!subname) {
2212 md->name_idx = find_first_zero_bit(name_use, max_devices);
2213 __set_bit(md->name_idx, name_use);
2214 } else
2215 md->name_idx = ((struct mmc_blk_data *)
2216 dev_to_disk(parent)->private_data)->name_idx;
2217
2218 md->area_type = area_type; 2203 md->area_type = area_type;
2219 2204
2220 /* 2205 /*
@@ -2264,7 +2249,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
2264 */ 2249 */
2265 2250
2266 snprintf(md->disk->disk_name, sizeof(md->disk->disk_name), 2251 snprintf(md->disk->disk_name, sizeof(md->disk->disk_name),
2267 "mmcblk%u%s", md->name_idx, subname ? subname : ""); 2252 "mmcblk%u%s", card->host->index, subname ? subname : "");
2268 2253
2269 if (mmc_card_mmc(card)) 2254 if (mmc_card_mmc(card))
2270 blk_queue_logical_block_size(md->queue.queue, 2255 blk_queue_logical_block_size(md->queue.queue,
@@ -2418,7 +2403,6 @@ static void mmc_blk_remove_parts(struct mmc_card *card,
2418 struct list_head *pos, *q; 2403 struct list_head *pos, *q;
2419 struct mmc_blk_data *part_md; 2404 struct mmc_blk_data *part_md;
2420 2405
2421 __clear_bit(md->name_idx, name_use);
2422 list_for_each_safe(pos, q, &md->part) { 2406 list_for_each_safe(pos, q, &md->part) {
2423 part_md = list_entry(pos, struct mmc_blk_data, part); 2407 part_md = list_entry(pos, struct mmc_blk_data, part);
2424 list_del(pos); 2408 list_del(pos);