diff options
| author | Adrian Hunter <adrian.hunter@intel.com> | 2011-06-23 06:40:28 -0400 |
|---|---|---|
| committer | Chris Ball <cjb@laptop.org> | 2011-06-25 18:52:57 -0400 |
| commit | d09408ade08a08a710a247fb52aa50101e73ebf7 (patch) | |
| tree | ddae7661d9a0f5f9315bd7f746d79242ccba94bf | |
| parent | 4cf8c6dd2e261da94b87c4deadcc136ab022b6ac (diff) | |
mmc: queue: append partition subname to queue thread name
For example, an eMMC with 2 boot partitions will have 3 threads.
The names change from:
40 ? 00:00:00 mmcqd/0
41 ? 00:00:00 mmcqd/0
42 ? 00:00:00 mmcqd/0
to:
40 ? 00:00:00 mmcqd/0
41 ? 00:00:00 mmcqd/0boot0
42 ? 00:00:00 mmcqd/0boot1
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andrei Warkentin <andreiw@motorola.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
| -rw-r--r-- | drivers/mmc/card/block.c | 2 | ||||
| -rw-r--r-- | drivers/mmc/card/queue.c | 8 | ||||
| -rw-r--r-- | drivers/mmc/card/queue.h | 3 |
3 files changed, 8 insertions, 5 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index 77cd083a51e4..f85e42224559 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c | |||
| @@ -1024,7 +1024,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card, | |||
| 1024 | INIT_LIST_HEAD(&md->part); | 1024 | INIT_LIST_HEAD(&md->part); |
| 1025 | md->usage = 1; | 1025 | md->usage = 1; |
| 1026 | 1026 | ||
| 1027 | ret = mmc_init_queue(&md->queue, card, &md->lock); | 1027 | ret = mmc_init_queue(&md->queue, card, &md->lock, subname); |
| 1028 | if (ret) | 1028 | if (ret) |
| 1029 | goto err_putdisk; | 1029 | goto err_putdisk; |
| 1030 | 1030 | ||
diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c index c07322c2658c..3e2db1cf1cbb 100644 --- a/drivers/mmc/card/queue.c +++ b/drivers/mmc/card/queue.c | |||
| @@ -106,10 +106,12 @@ static void mmc_request(struct request_queue *q) | |||
| 106 | * @mq: mmc queue | 106 | * @mq: mmc queue |
| 107 | * @card: mmc card to attach this queue | 107 | * @card: mmc card to attach this queue |
| 108 | * @lock: queue lock | 108 | * @lock: queue lock |
| 109 | * @subname: partition subname | ||
| 109 | * | 110 | * |
| 110 | * Initialise a MMC card request queue. | 111 | * Initialise a MMC card request queue. |
| 111 | */ | 112 | */ |
| 112 | int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock) | 113 | int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, |
| 114 | spinlock_t *lock, const char *subname) | ||
| 113 | { | 115 | { |
| 114 | struct mmc_host *host = card->host; | 116 | struct mmc_host *host = card->host; |
| 115 | u64 limit = BLK_BOUNCE_HIGH; | 117 | u64 limit = BLK_BOUNCE_HIGH; |
| @@ -209,8 +211,8 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock | |||
| 209 | 211 | ||
| 210 | sema_init(&mq->thread_sem, 1); | 212 | sema_init(&mq->thread_sem, 1); |
| 211 | 213 | ||
| 212 | mq->thread = kthread_run(mmc_queue_thread, mq, "mmcqd/%d", | 214 | mq->thread = kthread_run(mmc_queue_thread, mq, "mmcqd/%d%s", |
| 213 | host->index); | 215 | host->index, subname ? subname : ""); |
| 214 | 216 | ||
| 215 | if (IS_ERR(mq->thread)) { | 217 | if (IS_ERR(mq->thread)) { |
| 216 | ret = PTR_ERR(mq->thread); | 218 | ret = PTR_ERR(mq->thread); |
diff --git a/drivers/mmc/card/queue.h b/drivers/mmc/card/queue.h index 64e66e0d4994..6223ef8dc9cd 100644 --- a/drivers/mmc/card/queue.h +++ b/drivers/mmc/card/queue.h | |||
| @@ -19,7 +19,8 @@ struct mmc_queue { | |||
| 19 | unsigned int bounce_sg_len; | 19 | unsigned int bounce_sg_len; |
| 20 | }; | 20 | }; |
| 21 | 21 | ||
| 22 | extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *); | 22 | extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *, |
| 23 | const char *); | ||
| 23 | extern void mmc_cleanup_queue(struct mmc_queue *); | 24 | extern void mmc_cleanup_queue(struct mmc_queue *); |
| 24 | extern void mmc_queue_suspend(struct mmc_queue *); | 25 | extern void mmc_queue_suspend(struct mmc_queue *); |
| 25 | extern void mmc_queue_resume(struct mmc_queue *); | 26 | extern void mmc_queue_resume(struct mmc_queue *); |
