1 --- kernel-power-2.6.28.orig/drivers/mmc/card/block.c
2 +++ kernel-power-2.6.28/drivers/mmc/card/block.c
4 struct mmc_blk_data *md;
7 - devidx = find_first_zero_bit(dev_use, MMC_NUM_MINORS);
8 + devidx = find_next_zero_bit(dev_use, MMC_NUM_MINORS, card->host->mmcblk_devidx);
9 if (devidx >= MMC_NUM_MINORS)
10 return ERR_PTR(-ENOSPC);
11 __set_bit(devidx, dev_use);
12 --- kernel-power-2.6.28.orig/drivers/mmc/host/omap_hsmmc.c
13 +++ kernel-power-2.6.28/drivers/mmc/host/omap_hsmmc.c
15 omap_hsmmc_protect_card(host);
19 if (mmc_slot(host).name != NULL) {
20 + if (mmc_slot(host).name[0]=='e') mmc->mmcblk_devidx=1; /* 'e'xternal slot should start at mmcblk1 */
21 ret = device_create_file(&mmc->class_dev, &dev_attr_slot_name);
24 --- kernel-power-2.6.28.orig/include/linux/mmc/host.h
25 +++ kernel-power-2.6.28/include/linux/mmc/host.h
29 struct dentry *debugfs_root;
31 + unsigned int mmcblk_devidx; /* preferred mmc block device index (mmcblkX) */
32 unsigned long private[0] ____cacheline_aligned;