From patchwork Fri Apr 29 17:32:18 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Anderson X-Patchwork-Id: 8984231 Return-Path: X-Original-To: patchwork-linux-mmc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id C8E51BF29F for ; Fri, 29 Apr 2016 17:33:37 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id EE2A620142 for ; Fri, 29 Apr 2016 17:33:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 19D32201C8 for ; Fri, 29 Apr 2016 17:33:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751954AbcD2Rd1 (ORCPT ); Fri, 29 Apr 2016 13:33:27 -0400 Received: from mail-pf0-f170.google.com ([209.85.192.170]:35836 "EHLO mail-pf0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752439AbcD2Rct (ORCPT ); Fri, 29 Apr 2016 13:32:49 -0400 Received: by mail-pf0-f170.google.com with SMTP id 77so18145766pfv.2 for ; Fri, 29 Apr 2016 10:32:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=fTjCxwVxLu9D19+59ReupVG53JbzqZl0vSgp3WEvjfY=; b=R+gOZ5T8t8IeNReTLZGxcEw+ILBGsUmyY52RKSh963RB3KuU1Q+reiqQL827k2I4+1 USGOCVgdFCYotbAIJ7aS5+iJjKF0mQPRS996jZgGBMHF6N3iSWCF0vlLLVcU9NANdB5S Bc9Y8UcskK+1/OduimrAgHbP4nAz5irjvRmN0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=fTjCxwVxLu9D19+59ReupVG53JbzqZl0vSgp3WEvjfY=; b=IkswJcZ2B8IULNBlBEvysZWTiX50BEuDsyC+mUkZkg1bndWe3tpURPrxyy7Pzyd2Py z+jYz9I4c+3cK1r6JPxwrqBUAoOAfTXPgl5fbMFxqV0+Xa9/BpzN6Wf4v2S+UlZ6++lG 3X0JxBLSaIf8glW+c/+cTZKsJixNTrruVyhJjtxCeDMUxx8WEzGMV4DFsLgjto3LQbN7 uXmGknpvcRm7aO0WlQOm42KuTsw83oz43F5zm07qbohshC6+5k1W9s/sM/8DWV+a2YzV 0AA4pyJLcnsU9a4+QWSORxPZbHi0OkcpTHc3j15xoFEEDTb/pSLDzdi9ilAtXbCuco2+ rqWA== X-Gm-Message-State: AOPr4FUSKkIYKpvso6l2fXGetcVC34nepNQHUPxqcH4cCEVyE4L+F0OUdTjc8e1748NDVQ== X-Received: by 10.98.87.220 with SMTP id i89mr30434541pfj.107.1461951163897; Fri, 29 Apr 2016 10:32:43 -0700 (PDT) Received: from tictac.mtv.corp.google.com ([172.22.65.76]) by smtp.gmail.com with ESMTPSA id 19sm24880623pfu.83.2016.04.29.10.32.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 29 Apr 2016 10:32:43 -0700 (PDT) From: Douglas Anderson To: ulf.hansson@linaro.org, jh80.chung@samsung.com Cc: shawn.lin@rock-chips.com, adrian.hunter@intel.com, stefan@agner.ch, linux-mmc@vger.kernel.org, computersforpeace@gmail.com, dmitry.torokhov@gmail.com, Heiko Stuebner , jszhang@marvell.com, linux-rockchip@lists.infradead.org, devicetree-spec@vger.kernel.org, Douglas Anderson , jonathanh@nvidia.com, grundler@chromium.org, lporzio@micron.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 3/4] mmc: use SD/MMC host ID for block device name ID Date: Fri, 29 Apr 2016 10:32:18 -0700 Message-Id: <1461951139-6109-4-git-send-email-dianders@chromium.org> X-Mailer: git-send-email 2.8.0.rc3.226.g39d4020 In-Reply-To: <1461951139-6109-1-git-send-email-dianders@chromium.org> References: <1461951139-6109-1-git-send-email-dianders@chromium.org> Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Stefan Agner By using the SD/MMC host device ID as a starting point for block device numbering, one can reliably predict the first block device name (at least for the first controller). This is especially useful for SoCs with multiple SD/MMC host controller, where the controller with index 0 is connected to a eMMC device. Usually the first controller gets the first block device name ID, however this is not guaranteed. Also if the first controller is aliased as second controller and visa-versa (using device tree aliases), the block device name ID assignation is not ordered by the SD/MMC host device ID (since mmc_rescan is called in order of the memory mapped pheripherial addresses). Signed-off-by: Stefan Agner Signed-off-by: Douglas Anderson --- Changes in v2: - Rebased atop mmc-next drivers/mmc/card/block.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index 9ce679255775..360700f3e0ea 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c @@ -2197,7 +2197,7 @@ again: return ERR_PTR(-ENOMEM); spin_lock(&mmc_blk_lock); - ret = ida_get_new(&mmc_blk_ida, &devidx); + ret = ida_get_new_above(&mmc_blk_ida, card->host->index, &devidx); spin_unlock(&mmc_blk_lock); if (ret == -EAGAIN)