On 6 November 2014 04:35, Ben Hutchings <ben@xxxxxxxxxxxxxxx> wrote: > Currently the driver imposes a limit of 256 total minor numbers, > apparently based on the historic Unix/Linux limit. This is quite > restrictive, particularly if we raise the maximum number of > partitions per card to 256 to match sd. > > In order to make the full minor number space available we would > have to replace the static dev_use and name_use arrays with struct > ida. But we can at least allow use of 256 cards rather than just > 256 minors, with only a small change. > > Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Thanks! Applied for next. Kind regards Uffe > --- > drivers/mmc/card/block.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c > index 1fa4c80..d9783da 100644 > --- a/drivers/mmc/card/block.c > +++ b/drivers/mmc/card/block.c > @@ -78,13 +78,16 @@ static int perdev_minors = CONFIG_MMC_BLOCK_MINORS; > > /* > * We've only got one major, so number of mmcblk devices is > - * limited to 256 / number of minors per device. > + * limited to (1 << 20) / number of minors per device. It is also > + * currently limited by the size of the static bitmaps below. > */ > static int max_devices; > > -/* 256 minors, so at most 256 separate devices */ > -static DECLARE_BITMAP(dev_use, 256); > -static DECLARE_BITMAP(name_use, 256); > +#define MAX_DEVICES 256 > + > +/* TODO: Replace these with struct ida */ > +static DECLARE_BITMAP(dev_use, MAX_DEVICES); > +static DECLARE_BITMAP(name_use, MAX_DEVICES); > > /* > * There is one mmc_blk_data per slot. > @@ -2563,7 +2566,7 @@ static int __init mmc_blk_init(void) > if (perdev_minors != CONFIG_MMC_BLOCK_MINORS) > pr_info("mmcblk: using %d minors per device\n", perdev_minors); > > - max_devices = 256 / perdev_minors; > + max_devices = min(MAX_DEVICES, (1 << MINORBITS) / perdev_minors); > > res = register_blkdev(MMC_BLOCK_MAJOR, "mmc"); > if (res) > > -- > Ben Hutchings > Beware of programmers who carry screwdrivers. - Leonard Brandwein -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html