From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755651Ab0IHQvB (ORCPT ); Wed, 8 Sep 2010 12:51:01 -0400 Received: from smtp-out.google.com ([216.239.44.51]:35693 "EHLO smtp-out.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752773Ab0IHQu7 (ORCPT ); Wed, 8 Sep 2010 12:50:59 -0400 From: Colin Cross To: Olof Johansson Cc: Kay Sievers , Lei Wen , Andrew Morton , linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Mandeep Baines , Colin Cross Subject: [PATCH] mmc_block: Allow more than 8 partitions per card Date: Wed, 8 Sep 2010 09:50:37 -0700 Message-Id: <1283964637-28246-1-git-send-email-ccross@android.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: References: X-System-Of-Record: true Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Set the GENHD_FL_EXT_DEVT flag, which will allocate minor numbers in major 259 for partitions past disk->minors. Also remove the use of disk_devt to determine devidx from md->disk. md->disk->first_minor is always initialized from devidx and can always be used to recover it. Signed-off-by: Colin Cross --- drivers/mmc/card/block.c | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index d545f79..07d8eb0 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c @@ -87,11 +87,7 @@ static void mmc_blk_put(struct mmc_blk_data *md) mutex_lock(&open_lock); md->usage--; if (md->usage == 0) { - int devmaj = MAJOR(disk_devt(md->disk)); - int devidx = MINOR(disk_devt(md->disk)) >> MMC_SHIFT; - - if (!devmaj) - devidx = md->disk->first_minor >> MMC_SHIFT; + int devidx = md->disk->first_minor >> MMC_SHIFT; blk_cleanup_queue(md->queue.queue); @@ -607,6 +603,7 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card) md->disk->private_data = md; md->disk->queue = md->queue.queue; md->disk->driverfs_dev = &card->dev; + md->disk->flags = GENHD_FL_EXT_DEVT; /* * As discussed on lkml, GENHD_FL_REMOVABLE should: -- 1.7.1