Re: [PATCH 1/2] mmc: block: mmcblkN: use slot index instead of dynamic name index

2012-08-08 Thread Dirk Behme

Hi Chris,

On 06.08.2012 17:31, Chris Ball wrote:

Hi,

On Mon, Aug 06 2012, Dirk Behme wrote:

On embedded devices, often there is a combination of removable mmc
devices (e.g. MMC/SD cards) and hard wired ones (e.g. eMMC).
Depending on the hardware configuration, the 'mmcblkN' node might
change if the removable device is available or not at boot time.

E.g. if the removable device is attached at boot time, it might
become mmxblk0. And the hard wired one mmcblk1. But if the removable
device isn't there at boot time, the hard wired one will become
mmcblk0. This makes it somehow difficult to hard code the root device
to the non-removable device and boot fast.

This change does simply associate 'N' of 'mmcblkN' with the slot index
instead of the dynamic name index. The slot index is always the same,
ensuring that the non-removable mmc device is associated always
with the same mmcblkN. Independent of the availability of the removable
one.


I like this change in principle,


Thanks :)


but doesn't it break boot for everyone
currently using e.g. root=/dev/mmcblk0p1 on slot index 2?  That doesn't
sound like an acceptable regression.


I'm not really an expert of the code in block.c. Could you imagine a 
change which has the same result we'd like to get with the proposed 
patch but doesn't have the regression you mention?


Many thanks and best regards

Dirk
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] mmc: block: mmcblkN: use slot index instead of dynamic name index

2012-08-06 Thread Dirk Behme
On embedded devices, often there is a combination of removable mmc
devices (e.g. MMC/SD cards) and hard wired ones (e.g. eMMC).
Depending on the hardware configuration, the 'mmcblkN' node might
change if the removable device is available or not at boot time.

E.g. if the removable device is attached at boot time, it might
become mmxblk0. And the hard wired one mmcblk1. But if the removable
device isn't there at boot time, the hard wired one will become
mmcblk0. This makes it somehow difficult to hard code the root device
to the non-removable device and boot fast.

This change does simply associate 'N' of 'mmcblkN' with the slot index
instead of the dynamic name index. The slot index is always the same,
ensuring that the non-removable mmc device is associated always
with the same mmcblkN. Independent of the availability of the removable
one.

This issue has a long history. One prominent one is e.g. from the
Maemo based Nokia N810 device:

https://bugs.maemo.org/show_bug.cgi?id=2747

Signed-off-by: Dirk Behme dirk.be...@de.bosch.com
CC: Jassi Brar jaswinder.si...@linaro.org
CC: Chris Ball c...@laptop.org
---
 drivers/mmc/card/block.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index f1c84de..a01d306 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -1517,7 +1517,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct 
mmc_card *card,
 */
 
snprintf(md-disk-disk_name, sizeof(md-disk-disk_name),
-mmcblk%d%s, md-name_idx, subname ? subname : );
+mmcblk%d%s, card-host-index, subname ? subname : );
 
if (mmc_card_mmc(card))
blk_queue_logical_block_size(md-queue.queue,
-- 
1.7.0.4

--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] mmc: block: mmcblkN: use slot index instead of dynamic name index

2012-08-06 Thread Chris Ball
Hi,

On Mon, Aug 06 2012, Dirk Behme wrote:
 On embedded devices, often there is a combination of removable mmc
 devices (e.g. MMC/SD cards) and hard wired ones (e.g. eMMC).
 Depending on the hardware configuration, the 'mmcblkN' node might
 change if the removable device is available or not at boot time.

 E.g. if the removable device is attached at boot time, it might
 become mmxblk0. And the hard wired one mmcblk1. But if the removable
 device isn't there at boot time, the hard wired one will become
 mmcblk0. This makes it somehow difficult to hard code the root device
 to the non-removable device and boot fast.

 This change does simply associate 'N' of 'mmcblkN' with the slot index
 instead of the dynamic name index. The slot index is always the same,
 ensuring that the non-removable mmc device is associated always
 with the same mmcblkN. Independent of the availability of the removable
 one.

I like this change in principle, but doesn't it break boot for everyone
currently using e.g. root=/dev/mmcblk0p1 on slot index 2?  That doesn't
sound like an acceptable regression.

Thanks,

- Chris.
-- 
Chris Ball   c...@laptop.org   http://printf.net/
One Laptop Per Child
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] mmc: block: mmcblkN: use slot index instead of dynamic name index

2012-08-06 Thread Jassi Brar
On 6 August 2012 21:01, Chris Ball c...@laptop.org wrote:
 Hi,

 On Mon, Aug 06 2012, Dirk Behme wrote:
 On embedded devices, often there is a combination of removable mmc
 devices (e.g. MMC/SD cards) and hard wired ones (e.g. eMMC).
 Depending on the hardware configuration, the 'mmcblkN' node might
 change if the removable device is available or not at boot time.

 E.g. if the removable device is attached at boot time, it might
 become mmxblk0. And the hard wired one mmcblk1. But if the removable
 device isn't there at boot time, the hard wired one will become
 mmcblk0. This makes it somehow difficult to hard code the root device
 to the non-removable device and boot fast.

 This change does simply associate 'N' of 'mmcblkN' with the slot index
 instead of the dynamic name index. The slot index is always the same,
 ensuring that the non-removable mmc device is associated always
 with the same mmcblkN. Independent of the availability of the removable
 one.

 I like this change in principle, but doesn't it break boot for everyone
 currently using e.g. root=/dev/mmcblk0p1 on slot index 2?  That doesn't
 sound like an acceptable regression.

It shouldn't break boot for any user already doing the right thing.
If the user's platform probes only slot-2, it will still be 'mmcblk0'
If the platform probes slot-1  2, it is fundamentally unsafe to count
upon the card in slot-2 to be enumerated before the one in slot-1.
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html