From patchwork Fri Feb 5 14:38:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1436682 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=pJgmFv17; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DXJ3N1p2Cz9sWY for ; Sat, 6 Feb 2021 01:39:44 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 68BB382A5B; Fri, 5 Feb 2021 15:39:28 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="pJgmFv17"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5579882A7B; Fri, 5 Feb 2021 15:39:22 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on0619.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::619]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 3E4AB82A4F for ; Fri, 5 Feb 2021 15:39:19 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LZws/MkO0ISYxpgZDX3b7gdMtED+cQCpd97ZBuOOQM0klJ8IB2twoZqjVewCGmw0V+88iGUgxJsl1jw8TMIeZcMuI8KlZbnz7eZfvCePIkJwrjhBpD9dRkEp06IPIvkKV5Z559AAGqw6waDABa4XHpNbknzd/97n7+L/R9Jzfn22/cblBY0eO3FH+IwV542hKRnE69gkTemQ30dnAty1MToUzaAU9y4faRJM7CnB6TRAVbSymlxMboLAKltVHl36nZ0iqunwZhTLe16dr8PHiYp8/eqU4uiyzsS0Iq+ZSPYK7+W/fj3XBcfdC4cXiakIVLwH46UWqcFe7/C23ZWIXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IiMRSpzMDw2w2DlLEK+UdNoUBwjxbJTdS8AtIyTScuI=; b=dj8v3bR7EsvVWvg6lG4l3DnM+ZDKkTu7gMyMKGUQtcA6i+R0T+RJLMsem/6N9ggKvSl8UV8IoHSsx6YNrLop0mzv/WXr3pIt0Mi/luFjWP8kuYVeya/mFa/MNJMK2nSFSfVQs6sisATrNUGL/Nc6yumyNSZHg4A2aGl9qqeXCtV8g38dhio2amhgPg7ieNFlvLlbRv7NTKbs47QFbURz1rElCU4AhxP7GmB4lhgk+134YO+0QmZ2KROoeT9xltPrhu3Fo1u8SmfhYfCM7avS2fYV9aHlIDgd2aec/0+rfCW7RBQKp154JdQWIF764bUK72egWpsLXym+gRPAroN6DQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IiMRSpzMDw2w2DlLEK+UdNoUBwjxbJTdS8AtIyTScuI=; b=pJgmFv175BzMgpYmPmOCLzkzaJmbSRNLMRBhTe2D/0tok0zzDcZcyJszloZec46+B+A3nf2NJR6xgVff4NYtb5Njp1amctSRxUf7j1kvsqZE5ujV77FVG9p7/lxO21JwTAeEia+pabdLetLgp7JJpxGLbk2aT9NimuBTiW+r0Bg= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=seco.com; Received: from AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) by AM4PR0302MB2787.eurprd03.prod.outlook.com (2603:10a6:200:8e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.23; Fri, 5 Feb 2021 14:39:18 +0000 Received: from AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526]) by AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526%6]) with mapi id 15.20.3825.019; Fri, 5 Feb 2021 14:39:18 +0000 From: Sean Anderson To: u-boot@lists.denx.de Cc: Simon Glass , Lukasz Majewski , Sean Anderson , Peng Fan Subject: [PATCH v5 01/10] mmc: sandbox: Add support for writing Date: Fri, 5 Feb 2021 09:38:53 -0500 Message-Id: <20210205143902.1819189-2-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210205143902.1819189-1-sean.anderson@seco.com> References: <20210205143902.1819189-1-sean.anderson@seco.com> X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) To AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from plantagenet.inhand.com (50.195.82.171) by BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.15 via Frontend Transport; Fri, 5 Feb 2021 14:39:16 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7371b5ed-eb9f-448e-b8c7-08d8c9e3d162 X-MS-TrafficTypeDiagnostic: AM4PR0302MB2787: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZGUu8ZynR8Kg/+zUUsa8315fhmpzP/+baj968LUN79NO+SLCBQkx7dWXyTr2bzAJKqEyZN7OULI3PpKkrrqoWqm24kzF788DA5wsxphPiGDXUWugpBA4eEMySROsyazS0XPs/Ch6o5ZFSuTsv4Z9EbPzUxxSPI4CqiCIoTTMx8xDhFsHbqx5ZQzqGC0zrMu7PwlPwVxI0xk7uO30lkkDmXclUQ+odLbNpbC7JScmU329XGgGhMYWicmO7iQDZqGaYjiQ5llP/W6/ddkB/U0W6J737HWqDLeB803gb0Zkpwoy4H9N0JyhVHEV7llqGZ3unY1CCY9HV87XGI+sM88UdCLarYdTOedE9iH0ene24o1vU1Aelun3TznCbUgLI38DnWm+h9qnhaFuHeDrLV2oyFc2cvB+kD6s1acH63xBj4YbeeBtfjpFcZ/qZ79gMWz1MX2ij32QlXCFtiuY6P7YRvYikdIUlImhCFYlIS9l5d+fP7stRK7OA1IlM4nuIu5CSm0iNqou1cbKrs3zvLuwgu1QBysKJzTqoNh81Wfew5g+vYsznj+rRO2ik70w1CZU X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR03MB7251.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(39840400004)(136003)(346002)(376002)(366004)(956004)(6666004)(16526019)(6512007)(1076003)(478600001)(316002)(6506007)(26005)(54906003)(66946007)(52116002)(5660300002)(66476007)(86362001)(8936002)(2906002)(186003)(36756003)(8676002)(6486002)(83380400001)(6916009)(2616005)(4326008)(66556008)(44832011)(21314003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: HA8S4zjm6vgSHZcl1U19e2Bc9pM8clAU+tpPf3zEfBPxW0lLOztVY2zwbCqwXiUvR/J+XArd/a3WNr1OxWOSufjb7+0OnSaW7CsJQyvrO1v22MKdEgAlaCYNGecrxuUfcAI4+RCAYSz7sUeICn95hjstcZLl7KxsnmdyRaRNrbrxyWUldIXKZ/B+2lIictYUrbhsFZmceSqaG0dSjr6uf0swwM2bftUO0t0EimlTZYVl365cr+mgNeadHA9GJUxJu7Exf2NY6bdJLS3eQamLZwJiLz5sj2NR92gINzzOZrxO05Zj8lNhpZi5gdAG1t14d6bUjq0WcSVwA7eCTNaFVAbUOp2FYASCY5BGgWw6Qc7a8I5yPB0FhWjaNqs8RW96BTWLMS3cSAFIQ0gJw8GUd99jWPjZTQw7mgB5XPOLNDDmwJy8PulQfvCgf6UF+N0QFaiT0eWDcyz+/mqFpy4+V1Wm8WrFU+tBW9Usv9AEUpt820d4jhHShYIrjuCI5ucg4BpVHwMdtbDiJ6284zMbPpBVTZnWOWmQzmO9bMtpnvUPFMADNNmSOKiFb974lnYPOj6O0zrB/2rd4pGQo6mm9DxHK38Nj/75gPqa7FIR1Fl7sBHoQHk71uiQ2ugAiiCPcPvhq276XgDHBihM5XnfbuvCqUCDwCZ/WPog9dBuz00OyKbaMYQc3zz8m8JKxkw0PUMOHmwSIK1ipWNrjnaWrb2fyAPYkh9UGXJJpzDJB4xb4LoeP1Vzciie2vhdMcyiVxKaz/Dg5p+hwcvXroLpZH6QFpX0EtvcU6H1Ktdd9sgAvtd2efIDQzsT52ut//COvrji/3mgyBhjOWYJ/lcybY0VCZAuPx3X0e484cN6qms385cTlQndL9jhH5SzinnSPNhmYgrHmKNf1w9+4rG86NgNyLudbqiLTBmknXALi9pvombupLuLhMOgP2sBIzgMxlDYn26DxHW1hxA2LOEb9yLLf7WhEpe+MrsVu5gibzFTWR73GB9PZYU3yMAkzwmXG1FP1sLoix4WSbNinNZjNxGeA4kJFns6Xln3Ak0qMlmJAbeV0y/3Q/ckRJZU+t9sst6WEOVW8ATVHmb6V2tIAojqyMrRrSFYk2rpjH/lsLlbkk/TTFDxJ2yo+TSlSbEA/1ls0mu17bjMivm5rr850bK1vHsJrzmNPDw3R+mPKjoUAASJQ2M3u/5HHRZKrSnDRb+EDtxCGdj/Q3bcZDorEVSQ3xGK/fLyLVsakgs+agvIC9V79J+90AKDHfdUnhOKHKY3fN24OTWWwQWCWqJYcj86aawUG/AfapALpMzSlJVMibhfF1tOiYLaI5lhu1ql X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7371b5ed-eb9f-448e-b8c7-08d8c9e3d162 X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7251.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 14:39:18.1627 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oYJ7zEDxUHneTNLlOb0uIO63vmlPgKSgvIGj84x9U2PIkDOGJCVeyos+VVDX5qqR+vCmGL2ncIEAtxO1sDjSuQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0302MB2787 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean This adds support writing to the sandbox mmc backed by an in-memory buffer. The unit test has been updated to test reading, writing, and erasing. I'm not sure what MMCs erase to; I picked 0, but if it's 0xFF then that can be easily changed. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- (no changes since v4) Changes in v4: - xxx_auto_alloc_size -> xxx_auto drivers/mmc/sandbox_mmc.c | 43 +++++++++++++++++++++++++++++++++------ test/dm/mmc.c | 19 ++++++++++++----- 2 files changed, 51 insertions(+), 11 deletions(-) diff --git a/drivers/mmc/sandbox_mmc.c b/drivers/mmc/sandbox_mmc.c index 8a2391d651..18ba020aac 100644 --- a/drivers/mmc/sandbox_mmc.c +++ b/drivers/mmc/sandbox_mmc.c @@ -17,6 +17,17 @@ struct sandbox_mmc_plat { struct mmc mmc; }; +#define MMC_CSIZE 0 +#define MMC_CMULT 8 /* 8 because the card is high-capacity */ +#define MMC_BL_LEN_SHIFT 10 +#define MMC_BL_LEN BIT(MMC_BL_LEN_SHIFT) +#define MMC_CAPACITY (((MMC_CSIZE + 1) << (MMC_CMULT + 2)) \ + * MMC_BL_LEN) /* 1 MiB */ + +struct sandbox_mmc_priv { + u8 buf[MMC_CAPACITY]; +}; + /** * sandbox_mmc_send_cmd() - Emulate SD commands * @@ -26,6 +37,10 @@ struct sandbox_mmc_plat { static int sandbox_mmc_send_cmd(struct udevice *dev, struct mmc_cmd *cmd, struct mmc_data *data) { + struct sandbox_mmc_priv *priv = dev_get_priv(dev); + struct mmc *mmc = mmc_get_mmc_dev(dev); + static ulong erase_start, erase_end; + switch (cmd->cmdidx) { case MMC_CMD_ALL_SEND_CID: memset(cmd->response, '\0', sizeof(cmd->response)); @@ -44,8 +59,9 @@ static int sandbox_mmc_send_cmd(struct udevice *dev, struct mmc_cmd *cmd, break; case MMC_CMD_SEND_CSD: cmd->response[0] = 0; - cmd->response[1] = 10 << 16; /* 1 << block_len */ - cmd->response[2] = 0; + cmd->response[1] = (MMC_BL_LEN_SHIFT << 16) | + ((MMC_CSIZE >> 16) & 0x3f); + cmd->response[2] = (MMC_CSIZE & 0xffff) << 16; cmd->response[3] = 0; break; case SD_CMD_SWITCH_FUNC: { @@ -59,13 +75,27 @@ static int sandbox_mmc_send_cmd(struct udevice *dev, struct mmc_cmd *cmd, break; } case MMC_CMD_READ_SINGLE_BLOCK: - memset(data->dest, '\0', data->blocksize); - break; case MMC_CMD_READ_MULTIPLE_BLOCK: - strcpy(data->dest, "this is a test"); + memcpy(data->dest, &priv->buf[cmd->cmdarg * data->blocksize], + data->blocks * data->blocksize); + break; + case MMC_CMD_WRITE_SINGLE_BLOCK: + case MMC_CMD_WRITE_MULTIPLE_BLOCK: + memcpy(&priv->buf[cmd->cmdarg * data->blocksize], data->src, + data->blocks * data->blocksize); break; case MMC_CMD_STOP_TRANSMISSION: break; + case SD_CMD_ERASE_WR_BLK_START: + erase_start = cmd->cmdarg; + break; + case SD_CMD_ERASE_WR_BLK_END: + erase_end = cmd->cmdarg; + break; + case MMC_CMD_ERASE: + memset(&priv->buf[erase_start * mmc->write_bl_len], '\0', + (erase_end - erase_start + 1) * mmc->write_bl_len); + break; case SD_CMD_APP_SEND_OP_COND: cmd->response[0] = OCR_BUSY | OCR_HCS; cmd->response[1] = 0; @@ -148,5 +178,6 @@ U_BOOT_DRIVER(mmc_sandbox) = { .bind = sandbox_mmc_bind, .unbind = sandbox_mmc_unbind, .probe = sandbox_mmc_probe, - .plat_auto = sizeof(struct sandbox_mmc_plat), + .priv_auto = sizeof(struct sandbox_mmc_priv), + .plat_auto = sizeof(struct sandbox_mmc_plat), }; diff --git a/test/dm/mmc.c b/test/dm/mmc.c index 4e5136c850..f744452ff2 100644 --- a/test/dm/mmc.c +++ b/test/dm/mmc.c @@ -29,16 +29,25 @@ static int dm_test_mmc_blk(struct unit_test_state *uts) { struct udevice *dev; struct blk_desc *dev_desc; - char cmp[1024]; + int i; + char write[1024], read[1024]; ut_assertok(uclass_get_device(UCLASS_MMC, 0, &dev)); ut_assertok(blk_get_device_by_str("mmc", "0", &dev_desc)); - /* Read a few blocks and look for the string we expect */ + /* Write a few blocks and verify that we get the same data back */ ut_asserteq(512, dev_desc->blksz); - memset(cmp, '\0', sizeof(cmp)); - ut_asserteq(2, blk_dread(dev_desc, 0, 2, cmp)); - ut_assertok(strcmp(cmp, "this is a test")); + for (i = 0; i < sizeof(write); i++) + write[i] = i; + ut_asserteq(2, blk_dwrite(dev_desc, 0, 2, write)); + ut_asserteq(2, blk_dread(dev_desc, 0, 2, read)); + ut_asserteq_mem(write, read, sizeof(write)); + + /* Now erase them */ + memset(write, '\0', sizeof(write)); + ut_asserteq(2, blk_derase(dev_desc, 0, 2)); + ut_asserteq(2, blk_dread(dev_desc, 0, 2, read)); + ut_asserteq_mem(write, read, sizeof(write)); return 0; } From patchwork Fri Feb 5 14:38:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1436683 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=FZVU9ANM; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DXJ3b6F8nz9sRR for ; Sat, 6 Feb 2021 01:39:55 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 3BEA082AA2; Fri, 5 Feb 2021 15:39:31 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="FZVU9ANM"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 03C0582A5B; Fri, 5 Feb 2021 15:39:24 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on062e.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::62e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 58C0782A5B for ; Fri, 5 Feb 2021 15:39:20 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mkXw9v0KKgeRwuaDnAvwCNAHgqn6wtalLkmfJre7O9kSL1PK2/VsyqyZBsMbUWO9DxlC9kVHQjYABWqswoNvb//vIb01UGRR252OCVnwQSBeU5vieuZKcK0kkHZN4/BvZXySNn7oZ3gPz44q2XZzLaLKCxlUXyxCPvirAGIEQvz6Rw7cvftHuZYLmT8yACzLtZ0vlKVxxJA4u2JHrMtXMieKpCJG8NFbx264Ivn0LkMYfKzybDqFhS1i46GJ6pRKGJGomCEGAYbqq1Dv5/aE0FdPTfX2omBzqzdmkw+fS22x5nNaCxh2Ge6NTh0POjrXrH/YsfWqifhV4euRnOssRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3VMuEUqYhCHkc4MtcgfNGrCPX6hikPPbYdh5mTNftLI=; b=A1lIL/IKR/9kv16AGSEI/jjK3w5koxuvZxsv4c2wNzk2f9izdIM4veKCBLIUtl12BQcHR7Wti06+Com5ID8hhvI6VH+KCt3gpF/aucYlwW5qDsDCNzpVoAgz/iy/M96xxACCF2sxMFPWURCROks4CkKOIkHsVUN+f4mi8DtWzeXsodRcf8MuALlcA1ym5fRii1jtZBhGlpJttrKlz7jpSRLq3cnhhL+MNiosf2m4iyo63yMHbXM6HMzE6eb43lkc56F3JV1LOkqQUbBo375AXrgHVrOSwS9ZOIYLygjkmrw7jANFKJNACKVHXYvnlfTacbH0fPA8WxlLgsRZgpB+lQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3VMuEUqYhCHkc4MtcgfNGrCPX6hikPPbYdh5mTNftLI=; b=FZVU9ANMZ0UQw/iFyjcIJIBpgRVjiNfrBk1c8BQZnAYgVmwkEJpgNC4/cAkbMKbS+qWrGuAV6oB0BbLQZAVHEkvSwvo1KfeeCXbYmpLHD8M2GeytaSL4XtWjkjGcqjPN4BCgUtlqbcuLaOl2dgBoGpB1ysV//yYbOoEfkU0O+E0= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=seco.com; Received: from AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) by AM4PR0302MB2787.eurprd03.prod.outlook.com (2603:10a6:200:8e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.23; Fri, 5 Feb 2021 14:39:19 +0000 Received: from AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526]) by AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526%6]) with mapi id 15.20.3825.019; Fri, 5 Feb 2021 14:39:19 +0000 From: Sean Anderson To: u-boot@lists.denx.de Cc: Simon Glass , Lukasz Majewski , Sean Anderson , Mario Six Subject: [PATCH v5 02/10] test: dm: Add test for fastboot mmc partition naming Date: Fri, 5 Feb 2021 09:38:54 -0500 Message-Id: <20210205143902.1819189-3-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210205143902.1819189-1-sean.anderson@seco.com> References: <20210205143902.1819189-1-sean.anderson@seco.com> X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) To AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from plantagenet.inhand.com (50.195.82.171) by BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.15 via Frontend Transport; Fri, 5 Feb 2021 14:39:18 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5d089ddd-38a4-44a3-e338-08d8c9e3d211 X-MS-TrafficTypeDiagnostic: AM4PR0302MB2787: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:457; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rO2E7+a01E8bWDcAbScU+UgDeI/sMG29+Aqq6dxXvdVGoUUXCs51V5IlAUPn8rEIoQ8oCVWpkx/9MXmEyGr1bbfTseWvb8w5Qy6feD2Le6OUkvV2L/8I73QI5GtUA4nW+8Ha3tXiF6J4XCUdxPQkYyfInzURUyt/xndbYYnzxYFymWy18FlCCnrzBW21hYD5YLrTGf6tG613jJeU0EnMYLtfKIf5FeHjykWumVvB0dRgzwCoZmX3vkn/1durYSfO7LCEID6cwJWKb8gShVYcBR+0EkBplv/uVqOl1kPcSoAMVutVOioWnYmedkGACLQROIc9aoSEtf79dLt2BO+KMUA4TjZwRHeQqMUrzX9g5wsQBt9myTTz9TL8a16a8Xkz7avkLDmbwj8YW0vaTh8Thmy1ay2gT9I590nNfpCV0yTB1QeV2LgFEUuiZzUH+x361bB+4nziS9yJf/w8yqjW8Kc41tdsHH8PjxhpgJhpyHb9e9+eZlTvCgwu6lcjSjdnp2gk0sxrwgucynGd5CNkIg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR03MB7251.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(39840400004)(136003)(346002)(376002)(366004)(956004)(6666004)(16526019)(6512007)(1076003)(478600001)(316002)(6506007)(26005)(54906003)(66946007)(52116002)(5660300002)(66476007)(86362001)(8936002)(2906002)(186003)(36756003)(8676002)(6486002)(83380400001)(6916009)(2616005)(4326008)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: OStqbrBtpGfJRBL1hZx0P+NBRrcrwf3urGF1x+HTny1GGP/x/g68xAKMlNBl4tIK7XZBBDz+oWG7nHyvhjxfuGfKAcoCqmbJmh65Nf86C4KRKw4dCRkLaC8Y10mU9PJP38m6Chp5YdvrPSfcEvFQFcZtxpivQp3PYrazwxDj2SsEhUWKLLEPNeMjwA53sKCCX1ct4s7YR6ArZ/K58N1CJ0Rt62Cg8r0dNtFpQrVtbEKTesdeGHr/QI/YkZFsPu1eaNvW5Ygj12Yw5WR1awOZo7BmuZJdDq+UZNaHTnAP+5FJpVt7W9Ehw+tF2h9Hk1TEgguNclYlI+s8Kri7UXSgSwxT4DIC0dXluNiJYMJW6E6xE1pS1G9DpvNRfR6YVZuQtDqmp3wZFfVxo4jPfxmGXBmG0Unilkzvdnh2oItgdcdJLENoXSaynXJAe1JId3AIA96YMMjAkcuIwZFmCr7EOqf/iUxPgHdrlUdQE/aItSO+Ceem1Z4A5Hu2HB1IylxvDaLi9ZsUzjhtpk/e8EWCrBmENy6Jq7ZD7K9SCyg93ZRs/6Wqf+5cGAyKY71OAEHrxBs6tWzl8Y4VMoyChbxs6NULRhw62bL8ttpna1LrqbPxQWfN1NzNEHxPtEwqaByyo914YddeFBGLbFmKpRJsO0qXUiMtHkk2zf39uYHSC0Z3qxS0oeJtLACiyRp1nDWCXW3yR/oH1oDh/CcaWb+OT5N1U2QKvsFH3LIDnMESVOXE9XrdKUNB/Eyew3fAidgeUinYNVsjprPUNqqRZtl6/zDn20GnYoKF73qzIavmCn8v4CJffBOhmTQel4x43sSZHTcBNSe5K+4N3J0LwRt33fp/awidtOSaFX9DP6BFIPlPCjzVRcjwVaxPw+UuwLKAF57zGRTeTWU9c/YRqZmkHxkQQLyfETY3Y4/Ch9T3VT/uVL/SF0tKaEsnQak8yDsuY7vehwHBeJr6+O5Qp3nW2uD+Djnev3NH8Eu0WEtZh+6ULdNaDi6VmFNQ5jMfwuBnn6sNlRGIdb8T1CR6+JmWTjRGdb1+kKhq1Iw9nd2gaRUOu/9t0c82nS2FddAhKJZnP1PUEcQlMwKRx1MoDcsUnSwDhRNyTidxt0PsWi/iY076869Ic5lkwR1LOxeHLyW1fmJEIp2PXkT3Lf9kEqkNvNX/A70PVlsG5OYGw3yPSQ9M9fFUY/6Djz4BhL+1hSuMlOUs2bi8qfesTZJ/fv5kM5uQGYdW65Wa+neKvY0/HRWbC8kzGqNAzsFr28+qbbKT3ZH/7x9jTp90puB841cNF9ioPFUrP6eDp7ghF2v/uFXr6MX471FQ+s0w2GSK6WpC X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5d089ddd-38a4-44a3-e338-08d8c9e3d211 X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7251.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 14:39:19.3256 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Ci5Lk9QFfY3g++HDn/HuZgxKZCJ5qRdhNNfYjthcUkTluoYZQsZmWQuxqKutSbrnZhj5dv0NDHveMLlTPGfY2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0302MB2787 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean This test verifies the mapping between fastboot partitions and partitions as understood by U-Boot. It also tests the creation of GPT partitions, though that is not the primary goal. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- Changes in v5: - Don't build fastboot test unless we have both FASTBOOT_FLASH *and* EFI_PARTITION. This fixes some sandbox builds where only EFI_PARTITION was configured. configs/sandbox64_defconfig | 2 ++ configs/sandbox_defconfig | 2 ++ test/dm/Makefile | 3 ++ test/dm/fastboot.c | 64 +++++++++++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 test/dm/fastboot.c diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig index 4e67819559..9fe07f0c38 100644 --- a/configs/sandbox64_defconfig +++ b/configs/sandbox64_defconfig @@ -110,6 +110,8 @@ CONFIG_DM_DEMO=y CONFIG_DM_DEMO_SIMPLE=y CONFIG_DM_DEMO_SHAPE=y CONFIG_DFU_SF=y +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=0 CONFIG_GPIO_HOG=y CONFIG_DM_GPIO_LOOKUP_LABEL=y CONFIG_PM8916_GPIO=y diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index 0c7674efc9..269288783f 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -135,6 +135,8 @@ CONFIG_DFU_SF=y CONFIG_DMA=y CONFIG_DMA_CHANNELS=y CONFIG_SANDBOX_DMA=y +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=0 CONFIG_GPIO_HOG=y CONFIG_DM_GPIO_LOOKUP_LABEL=y CONFIG_PM8916_GPIO=y diff --git a/test/dm/Makefile b/test/dm/Makefile index 46e076ed09..82e10c6963 100644 --- a/test/dm/Makefile +++ b/test/dm/Makefile @@ -91,5 +91,8 @@ obj-$(CONFIG_SCMI_FIRMWARE) += scmi.o ifneq ($(CONFIG_PINMUX),) obj-$(CONFIG_PINCONF) += pinmux.o endif +ifneq ($(CONFIG_EFI_PARTITION),) +obj-$(CONFIG_FASTBOOT_FLASH_MMC) += fastboot.o +endif endif endif # !SPL diff --git a/test/dm/fastboot.c b/test/dm/fastboot.c new file mode 100644 index 0000000000..8f905d8fa8 --- /dev/null +++ b/test/dm/fastboot.c @@ -0,0 +1,64 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2015 Google, Inc + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define FB_ALIAS_PREFIX "fastboot_partition_alias_" + +static int dm_test_fastboot_mmc_part(struct unit_test_state *uts) +{ + char response[FASTBOOT_RESPONSE_LEN] = {0}; + char str_disk_guid[UUID_STR_LEN + 1]; + struct blk_desc *mmc_dev_desc, *fb_dev_desc; + struct disk_partition part_info; + struct disk_partition parts[2] = { + { + .start = 48, /* GPT data takes up the first 34 blocks or so */ + .size = 1, + .name = "test1", + }, + { + .start = 49, + .size = 1, + .name = "test2", + }, + }; + + ut_assertok(blk_get_device_by_str("mmc", + __stringify(CONFIG_FASTBOOT_FLASH_MMC_DEV), + &mmc_dev_desc)); + if (CONFIG_IS_ENABLED(RANDOM_UUID)) { + gen_rand_uuid_str(parts[0].uuid, UUID_STR_FORMAT_STD); + gen_rand_uuid_str(parts[1].uuid, UUID_STR_FORMAT_STD); + gen_rand_uuid_str(str_disk_guid, UUID_STR_FORMAT_STD); + } + ut_assertok(gpt_restore(mmc_dev_desc, str_disk_guid, parts, + ARRAY_SIZE(parts))); + + /* "Classic" partition labels */ + ut_asserteq(1, fastboot_mmc_get_part_info("test1", &fb_dev_desc, + &part_info, response)); + ut_asserteq(2, fastboot_mmc_get_part_info("test2", &fb_dev_desc, + &part_info, response)); + + /* Test aliases */ + ut_assertnull(env_get(FB_ALIAS_PREFIX "test3")); + ut_assertok(env_set(FB_ALIAS_PREFIX "test3", "test1")); + ut_asserteq(1, fastboot_mmc_get_part_info("test3", &fb_dev_desc, + &part_info, response)); + ut_assertok(env_set(FB_ALIAS_PREFIX "test3", NULL)); + + return 0; +} +DM_TEST(dm_test_fastboot_mmc_part, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT); From patchwork Fri Feb 5 14:38:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1436684 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=gT5cjU0v; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DXJ3r3PjXz9sRR for ; Sat, 6 Feb 2021 01:40:07 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EF2A882AA9; Fri, 5 Feb 2021 15:39:33 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="gT5cjU0v"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 1BC4482A89; Fri, 5 Feb 2021 15:39:26 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on0609.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::609]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id D993482A73 for ; Fri, 5 Feb 2021 15:39:21 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gpx5hPs+0G4OPcNOThafy6VH0UMUQXHa0lvpkHvTWBaOcFQT78IUVR9Smep4GMGXiajJVtDYfxmrFbf8A3SMz+sb2GumXME+bhf4QwrEOqTqqlEPiCB2oIiKgYsSz4CyqV+HuLyxuVn8mzJawv9WN8gX7VtEJZ4Vq4/Q6FXuYhhVW/zOg1ydqNwOx80dwFDaN+FKjcLZ+Rtaq/UUm7USTaX0+k+MwDqzdSfCUHQJtrXNtiHiqHTg1vPuzxoTYoqKaAK7L4UCfQLnFybaeBdj6+H4/fvrSxzxn2qgJtHlIJL1k/8NTPf6BlLOuU9nI7tlaiJ5rNX8hRYn+nnfkROOAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=de7eLX1QFSDlOeHJdFikJ+rGlysz1vv+vMTVyPlsmgk=; b=EQtEiJ8KiYgKnamsN6Vcz5BdS8ag7H1WYKlF+j2DGxe/0FiR81aI7a1iEYk/4iA4husv3Kv5P5fu4AJAAxEGQ+MG/F34+XuxWSIudHumDl8Zdkqnl728bsy/q7GG9/UlqnbuCpd0RsALvQGbwBL8qXk/jKiNawO51oGJFM7GmW/fvAFpdvV6fx5QMAelRdPRGs64mqhfbFPJ3BH8uNWaLzf2I6uDrc7mY8Um2dDx/hMZUDtPnmUHTOQMsYkCozXJht5xSbugI8XnzadACKOM1CJqmnYJSj099cmUL0WczVIDeBfx97MxUHITDzp1CcLcUP/JDRZOT+dcBJS2mYOyLQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=de7eLX1QFSDlOeHJdFikJ+rGlysz1vv+vMTVyPlsmgk=; b=gT5cjU0vmqzGnusLcn6pKQ5eRmDlvlxN76P3/sdRX5NEzYfXz7GO0KyWipJ0A8Y6pLOrvJTad4Ycczle6RUmLbbi6TMNPAcPvoyFNutyVx/lMYQslO0cdNWVzrwNEpx8sNbfOTuXVXbEEhzpSe88ptcdCfOnGK8cLkZsnszamcg= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=seco.com; Received: from AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) by AM4PR0302MB2787.eurprd03.prod.outlook.com (2603:10a6:200:8e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.23; Fri, 5 Feb 2021 14:39:20 +0000 Received: from AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526]) by AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526%6]) with mapi id 15.20.3825.019; Fri, 5 Feb 2021 14:39:20 +0000 From: Sean Anderson To: u-boot@lists.denx.de Cc: Simon Glass , Lukasz Majewski , Sean Anderson , Anastasiia Lukianenko , Andrii Anisov , Heinrich Schuchardt , Oleksandr Andrushchenko Subject: [PATCH v5 03/10] part: Give several functions more useful return values Date: Fri, 5 Feb 2021 09:38:55 -0500 Message-Id: <20210205143902.1819189-4-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210205143902.1819189-1-sean.anderson@seco.com> References: <20210205143902.1819189-1-sean.anderson@seco.com> X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) To AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from plantagenet.inhand.com (50.195.82.171) by BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.15 via Frontend Transport; Fri, 5 Feb 2021 14:39:19 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b3a1e990-8da6-4c74-9a58-08d8c9e3d2e4 X-MS-TrafficTypeDiagnostic: AM4PR0302MB2787: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:883; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QX5S2hbREAccxLB+aZDBKIXv7DD8tCF8GF6nGxVYUIJDSIwwqNbkLy8NKL+gaUTAALX7jW2SYNC+BrQhgWFessQxGYwLMbl549sw9Jzg/3BVobLhVFa9beaU6+z+CDkFq5jeJk68zuYXLExgifP7PPqURMGrZKW9FRumpya1rKzgQmi6SnW6ofgIFutUwjDGSLG78w87GewX2zwghwnBdUgdoJX7Al3voYpCVL4OPQRqR3BT5Ju77OVxnxS6zDWPiF0sbldDC61Bj6gn7kDTilrf+f/FrRbbuVzdswK+Tbhe4uay07TBInSlUm7casq7GL0cPoGpSfdFsuYt/Z3rpnMFs3FAz00oisZkU43xqTCbELrCWNoMRSSLPwRY1aUDIgnxqxawoPDq8NutMNn2mhY4NCt7gdWIpk0SM18ZSbg1EBL6/5wcx6v2Pb3OiQ5ZQiyJ4S5nTCR3y193pWbBEP2hE8Bw8cCWBFiLbzzDZwvhhiG+FNxzV9jKBbpjeGkNIRsWhdOgCVo+nRFFt6/uZw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR03MB7251.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(39840400004)(136003)(346002)(376002)(366004)(956004)(6666004)(16526019)(6512007)(1076003)(478600001)(316002)(6506007)(26005)(54906003)(66946007)(52116002)(5660300002)(66476007)(86362001)(8936002)(2906002)(186003)(36756003)(8676002)(6486002)(83380400001)(6916009)(2616005)(4326008)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: FfqTJoFOCnGpUTFvlfDY1fd2Zqfl53nps9dKYGQXijj49hGfXTXbqPAkpQEDa1HwrCljvaAePWSDj28nbY5eAQbxz+yMyjSiBHOZIpFr3CRC8L73fR7KZrVQ5pxsQ5wG53HemwsRDFrJtXIHAVtRBW/PScGqk9nYgA5pz6ZYiMXfHFhQy14qsgocUXhw3vEYO6NvEtf4pehqBYozDfbp5XVWpaOXqqIBGi4zwEMyOfs4f3hWn4VDHxoEtglD6nHXNTJP/C15t4EsJ0Fq7rUyhXfCyb26LWisxA3faWH65Su4jrh3mE9WBnYBNed8oCYid2PBmCPYLw+5efCImR1RK0ERu10+va7mlke+7iYK9ku3R+uXw5erazZbVvMNVJrDxZzJawvfy32opguHFoHn0Uey2o5Idh+9KsoAPLbDQMLvakDbV9S9NvU39pD5bHfVVDAposg6O3/JV0qYeEPVvwCfxHj16asGNokzbXeeD3gdvuzIgWXOYeaI4gAhICP5oHlyhKTR5UI+T2arATlnBPLaeejfReh0ZjtbJziLtcZ42wNxGca4LYc6RGOsgxTqF+NNPhRr8iLORVG2O9ao0xPfRcz4vNlPYV0+oHVIQ3PJZeGTHuPpo964Sov1uVvNnqTp7eFbsqsRNFt3eC9TZhN20UFuUfySpPD8TTXUOha01+JsLoI52cGHvGkDk3nDrRFU1/bvdjr8r7TTG8ahxGN+SHweIvCw/GkYAI2FRk5Nb47wE0Yqf4cXTOycU70h6Av6OEuugcG7t4NUxktki/Tzx3zEOAPMuuhxk+74MWZyK/zVwwjR+umJ2FSXq58NE125UsfEJQlyvXTumjIzHLoT3zMVJ6dQUrMiKcmaHA3/zQC+5TOgTWkjOxbr7AXIQMTCOSW3LQTAUdQfe5jjZL5mXBIEhB/otavcZeH5GZMFcPe5eT3wjzmFjJkmcxrBT8ZdwX2KczxaEo02Gk8X3YwBvTrLqg3VgiJF4EMFkn157xStynbi1m9C1wjjhIkEhfmYktuj9WfjxEvp73kgcGbho71UfejKAcGaXPI4Eb7muNW5t2TDtALq0dxNbNZwEV9OA7x9TqMw8BeBU22onz8PAnKQquVjVfDfNo067d0/FqcTVD70awLq0tJ6MUQhCNK04wg5tCz9DxFyu6puXwAXUEN8uZtIzqob9arqlxL74glnZ2HpOuo76AUPWvEdIzxzcv67b5ZP1zSryflrjuNksiYz7Duo/GyZVMuGwm6t5ei56GaG727ep/tk/nGGVDfcBRUNTPNp8eHQMAFSC5fqRqgLV/I7g05nBSmBfCXdZ1qp/exMZfE2+v0AePkc X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3a1e990-8da6-4c74-9a58-08d8c9e3d2e4 X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7251.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 14:39:20.6906 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: jvYNdHdR1ejEQqWQpyDChdPxNqzRtWvm4Cjpl/kR32n4IEfcXVMpnMGWqU5HDoUgIZT9mGJl8f3zoFmwBVkT7A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0302MB2787 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean Several functions in disk/part.c just return -1 on error. This makes them return different errnos for different failures. This helps callers differentiate between failures, even if they cannot read stdout. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- (no changes since v1) disk/part.c | 50 ++++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/disk/part.c b/disk/part.c index b69fd345f3..5e354e256f 100644 --- a/disk/part.c +++ b/disk/part.c @@ -354,7 +354,7 @@ int part_get_info(struct blk_desc *dev_desc, int part, } #endif /* CONFIG_HAVE_BLOCK_DEVICE */ - return -1; + return -ENOENT; } int part_get_info_whole_disk(struct blk_desc *dev_desc, @@ -416,7 +416,7 @@ int blk_get_device_by_str(const char *ifname, const char *dev_hwpart_str, *dev_desc = get_dev_hwpart(ifname, dev, hwpart); if (!(*dev_desc) || ((*dev_desc)->type == DEV_TYPE_UNKNOWN)) { debug("** Bad device %s %s **\n", ifname, dev_hwpart_str); - dev = -ENOENT; + dev = -ENODEV; goto cleanup; } @@ -440,7 +440,7 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str, struct blk_desc **dev_desc, struct disk_partition *info, int allow_whole_dev) { - int ret = -1; + int ret; const char *part_str; char *dup_str = NULL; const char *dev_str; @@ -482,7 +482,7 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str, if (0 == strcmp(ifname, "ubi")) { if (!ubifs_is_mounted()) { printf("UBIFS not mounted, use ubifsmount to mount volume first!\n"); - return -1; + return -EINVAL; } *dev_desc = NULL; @@ -504,6 +504,7 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str, /* If still no dev_part_str, it's an error */ if (!dev_part_str) { printf("** No device specified **\n"); + ret = -ENODEV; goto cleanup; } @@ -520,8 +521,10 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str, /* Look up the device */ dev = blk_get_device_by_str(ifname, dev_str, dev_desc); - if (dev < 0) + if (dev < 0) { + ret = dev; goto cleanup; + } /* Convert partition ID string to number */ if (!part_str || !*part_str) { @@ -538,6 +541,7 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str, if (*ep || (part == 0 && !allow_whole_dev)) { printf("** Bad partition specification %s %s **\n", ifname, dev_part_str); + ret = -ENOENT; goto cleanup; } } @@ -551,6 +555,7 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str, if (!(*dev_desc)->lba) { printf("** Bad device size - %s %s **\n", ifname, dev_str); + ret = -EINVAL; goto cleanup; } @@ -562,6 +567,7 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str, if ((part > 0) || (!allow_whole_dev)) { printf("** No partition table - %s %s **\n", ifname, dev_str); + ret = -EPROTONOSUPPORT; goto cleanup; } @@ -630,7 +636,6 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str, *info = tmpinfo; } else { printf("** No valid partitions found **\n"); - ret = -1; goto cleanup; } } @@ -638,7 +643,7 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str, printf("** Invalid partition type \"%.32s\"" " (expect \"" BOOT_PART_TYPE "\")\n", info->type); - ret = -1; + ret = -EINVAL; goto cleanup; } @@ -674,7 +679,7 @@ int part_get_info_by_name_type(struct blk_desc *dev_desc, const char *name, } } - return -1; + return -ENOENT; } int part_get_info_by_name(struct blk_desc *dev_desc, const char *name, @@ -704,7 +709,7 @@ static int part_get_info_by_dev_and_name(const char *dev_iface, { char *ep; const char *part_str; - int dev_num; + int dev_num, ret; part_str = strchr(dev_part_str, '#'); if (!part_str || part_str == dev_part_str) @@ -720,13 +725,12 @@ static int part_get_info_by_dev_and_name(const char *dev_iface, *dev_desc = blk_get_dev(dev_iface, dev_num); if (!*dev_desc) { printf("Could not find %s %d\n", dev_iface, dev_num); - return -EINVAL; + return -ENODEV; } - if (part_get_info_by_name(*dev_desc, part_str, part_info) < 0) { + ret = part_get_info_by_name(*dev_desc, part_str, part_info); + if (ret < 0) printf("Could not find \"%s\" partition\n", part_str); - return -EINVAL; - } - return 0; + return ret; } int part_get_info_by_dev_and_name_or_num(const char *dev_iface, @@ -734,21 +738,23 @@ int part_get_info_by_dev_and_name_or_num(const char *dev_iface, struct blk_desc **dev_desc, struct disk_partition *part_info) { + int ret; + /* Split the part_name if passed as "$dev_num#part_name". */ - if (!part_get_info_by_dev_and_name(dev_iface, dev_part_str, - dev_desc, part_info)) - return 0; + ret = part_get_info_by_dev_and_name(dev_iface, dev_part_str, + dev_desc, part_info); + if (ret >= 0) + return ret; /* * Couldn't lookup by name, try looking up the partition description * directly. */ - if (blk_get_device_part_str(dev_iface, dev_part_str, - dev_desc, part_info, 1) < 0) { + ret = blk_get_device_part_str(dev_iface, dev_part_str, + dev_desc, part_info, 1); + if (ret < 0) printf("Couldn't find partition %s %s\n", dev_iface, dev_part_str); - return -EINVAL; - } - return 0; + return ret; } void part_set_generic_name(const struct blk_desc *dev_desc, From patchwork Fri Feb 5 14:38:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1436685 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=a8kd2Y68; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DXJ4409Rvz9sRR for ; Sat, 6 Feb 2021 01:40:19 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6396882361; Fri, 5 Feb 2021 15:39:42 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="a8kd2Y68"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9C14382A8B; Fri, 5 Feb 2021 15:39:27 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on0611.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::611]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 9B0C382A33 for ; Fri, 5 Feb 2021 15:39:23 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NRHsV2n0MihqOg+xKuDabn/RcvDCQrWvGHUGcOVcDU/dZDtgh/JqD5b2yqfTtlhtuvPvTG8hgj2CyDnN8/m4NfuGYXmGsj2pdMGceAjLbFBsgkWGH9hTrHyb/+TfLMKqG9NCP8GosIfgLSmF6pyyqxv1oK+s8GqFLZQSoXQ+jEWTrXfT2drZPv24LfXf4oeeUN3dL3I3glTKz9l3eJhP4zlheS2VVexjL0SD5tTEajdfV1lfhU4v7FVRMTISooZDhISOTIrT5PcWp/D6i/NN7NpVOrY6oLyqeHyO3RnM93LAfKbBL1pf3vCrscZHwOdtW496MclfhF+mIGcQ01peOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=muGC6gAqiQsQJshXL7zwRvn9xGeU5becvE3hvXzaGok=; b=B9AcQpNhsabSTIM1o2dKOsc2jD8DdRvLO1WnvHgx7Ao5VJ6j7/gUZOtDaRB89LybddEaVkfG2oZoxqpSD931EqakUxkxo3ygfT2fYhdEi4NzYK+6KXISUoCMs8jWiMaF+ti5vJ+K0OUWHBtEblgTnCcx7vqV+AA38EEZWDQQr02NYIHuwOmW1FRqMnEwJIdRPT0NZuCAbU1J2o79py97N9Mk4urYFps5VAAqlWYgFu+R4BZx0BlAm4XxM3Ra6L9wNmI1BDZdh5dukBBuIiab2fLeq3L6TSn9Nv+AD8UTDb9YeIqkv/Rbu1vyCjmHFeMwJLC7KcMqL2HObB3uMQvhYQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=muGC6gAqiQsQJshXL7zwRvn9xGeU5becvE3hvXzaGok=; b=a8kd2Y689N6J+dngq4RaO0F3qKVgnEM/tEDc1Mpo5s6hIttrNd2LoyqzZq8K9yfSiZe6ZusSjegAKhLl+G5eqwqsGbfH34WdwBveaCMJjrhmfZCgzHMaHvvevq0V+ZeIcypk/PO0gpaE86pO7uaoxJOGVBbYVYKWuYexFwZKXC4= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=seco.com; Received: from AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) by AM4PR0302MB2787.eurprd03.prod.outlook.com (2603:10a6:200:8e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.23; Fri, 5 Feb 2021 14:39:22 +0000 Received: from AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526]) by AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526%6]) with mapi id 15.20.3825.019; Fri, 5 Feb 2021 14:39:22 +0000 From: Sean Anderson To: u-boot@lists.denx.de Cc: Simon Glass , Lukasz Majewski , Sean Anderson , Anastasiia Lukianenko , Andrii Anisov , Corneliu Doban , Heinrich Schuchardt , Igor Opaniuk , Marek Szyprowski , Oleksandr Andrushchenko , Sam Protsenko Subject: [PATCH v5 04/10] part: Support getting whole disk from part_get_info_by_dev_and_name_or_num Date: Fri, 5 Feb 2021 09:38:56 -0500 Message-Id: <20210205143902.1819189-5-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210205143902.1819189-1-sean.anderson@seco.com> References: <20210205143902.1819189-1-sean.anderson@seco.com> X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) To AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from plantagenet.inhand.com (50.195.82.171) by BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.15 via Frontend Transport; Fri, 5 Feb 2021 14:39:21 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0b812f8b-ccdf-456a-1643-08d8c9e3d3f4 X-MS-TrafficTypeDiagnostic: AM4PR0302MB2787: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:820; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EOR1mobmxh6tBL+TtdmoOTLYADoaD4Fh2ac9HI3sshgnAvdtG/+H379vdujcwV6Lr4qz4hrAJiMJEH/ax7oKTAEDl/QjxD6Y5RK0/z3O4B1m4x0n6eEl5tR8sn0opqBTb1BSNFjGbkNIijQNPyXEhPbxhnXWLBLm6fS+3NgnD+i2ATeoNXIwOaILW3+3dBbZbmW9Wfpnpmv4yK4GhozAAboQABcVUJ9+4lE7JLUmZXZPpHn6lOmwHcYE7v4LEBAU9ixIrMW8YcVLtIdCsRsiLXM5OG5pmuWVvHUiQzvTxxaLGIShZS+GhZOxXxtHkB55zZGjlByvDjNuwTrDOn9aNZ52Mzh7BGUdWzyl/QV06765VBzCQtf82TnxpJNtsH0zxX/+1jv+49QAv2/T4inZ2hdnCyzFKXvfcFe8JOMFr1ko+S7pijh0HuL5EC1DILFcyEKKLEUuZQX+NZSn5pSOI2cDw8A7TTSNczO0zBk9tZX+38uyGw1dpiB4ab0Q65y2M1iNcOSnyCp1MlcdI/Q9Fg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR03MB7251.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(39840400004)(136003)(346002)(376002)(366004)(956004)(6666004)(16526019)(6512007)(1076003)(7416002)(478600001)(316002)(6506007)(26005)(54906003)(66946007)(52116002)(5660300002)(66476007)(86362001)(8936002)(2906002)(186003)(36756003)(8676002)(6486002)(83380400001)(6916009)(2616005)(4326008)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: OjjWKOeM3+I7TG00Y3ljQe9IdXtfODwjKXfc6sJgLp/tUh2HuckxOKWeykj2z77zI6dDk1/7gC6/50uYkQcbo5wt6CQRXaud0y3maQqZbdzfbcd9LW+CfwOVhOB0EZOq8ov+KbUKi1/rc0SERw78Cm+mTAZoW0Lp4heRH63ztUAIYeASSuHWEcaCFttt9lYDEkcZeVSVGe4T5lDtb2YomDD8hz2UQymB0Jt4dThs75Nb9gZ/T4Ej2IbHAaJOAo/TS3zF2Ek4ELOGtO9omTIVCskEFJkDCheti36HiEF/08mXJHQSx/2c8oPo4ZlNNvhomJrltB6iGkj0oYsYCbUspD0qCIPrXFIl27P84uW1a5fA3gDOtVicFu5P+ldFxBMaiwva2H6w5OJiXZyHnEylTcHi9/7PyFTTQczwTCv8M5Mf6YEPgArbQoXFNv5mqVz1AzcF33qvinLNSvgcvt92SfiLFX7wa/M2M9pnKwh6DrD7J2jHcybCFOpuvGZpNeXPqsQluoIYDDE6pVpvoYpiHNkwlMA3PrYoqLaW6vA2BNfjyfpu+lYSZFZ46cCooJqUfCLGEhHLbkSE3wnnwM15aNPifh63wmsEDDMXEkA8L6hrpyEYqfWXddVxdDDBwBPAXuIu1Grsh/z2amFZCrhwVHkZY91JAzf2C8ynJ2gn/xKV4jbK+AAThkaA6Dq39JmMEuJIl0tpXjVCd9qBsB7a21/JCTE6VbUaoqwUaf/CxSvYs7GbxehsrpIxCdz6p2digMI6lpZdUKgPeGIgdO8V8vVfVB1aGMM8vo7AnB9gQdcfKb9tL/qgYaK04M7ZNnABYXvLpVmHUAZXtSQZof5lhHfivOJ0WfMtzIBgTNfR3ZlAA1qNu4yOm89XQ3/dkzYIqPgFgwE21GW1/xWIJvlRuGJs4YfsY0oSgjb0jEUJDr0loPCFqNofzIpztqzKGvmF3BmtAx1bJoDoVWwgl45BS6vJjpKIBdXpj/9T4rLjBayUw1wu/F0MKeVy5MNq8cyqzlB6wanov62UugaxHq3vwkVzPymbXJIMTE5Iv93G03eWMl8Badz3/wKTni4kwH7/oDhyImLq6xhKBW4OxyfOaBD+nwCwZFlXDMxJymAHW+/IcwBlqn+U+iu4KejSF+mxeZp37b9LLdqGgVfs4GZ+jYoZ1tFGEKJ8DUETyLl40gZHYfQDrUrUslXHUD9ct8f5Bqoy/WY00WPGHa8HGtATy4sxpXsOFVG8YG6Z1/onHZiqcMbpvA5CFE2EQ98s7GIp6WXlmcK4vE/1PKlkd5sxbOL42qBCfu58yeEmyme0/ETLALS3t+EWcQHthE9Dbswi X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b812f8b-ccdf-456a-1643-08d8c9e3d3f4 X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7251.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 14:39:22.4778 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4h1oZic3KlubdzLEO6+gKXuUc0SCmQn3RCVkxo6tKFrCauCF4ZFyi3SKE1qnNXaWmj7nT/K3RCAPlojWbFXPJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0302MB2787 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean This adds an option to part_get_info_by_dev_and_name_or_num to allow callers to specify whether whole-disk partitions are fine. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- (no changes since v1) cmd/ab_select.c | 3 ++- disk/part.c | 5 +++-- include/part.h | 6 +++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/cmd/ab_select.c b/cmd/ab_select.c index 6298fcfb60..3e46663d6e 100644 --- a/cmd/ab_select.c +++ b/cmd/ab_select.c @@ -22,7 +22,8 @@ static int do_ab_select(struct cmd_tbl *cmdtp, int flag, int argc, /* Lookup the "misc" partition from argv[2] and argv[3] */ if (part_get_info_by_dev_and_name_or_num(argv[2], argv[3], - &dev_desc, &part_info) < 0) { + &dev_desc, &part_info, + false) < 0) { return CMD_RET_FAILURE; } diff --git a/disk/part.c b/disk/part.c index 5e354e256f..39c6b00a59 100644 --- a/disk/part.c +++ b/disk/part.c @@ -736,7 +736,8 @@ static int part_get_info_by_dev_and_name(const char *dev_iface, int part_get_info_by_dev_and_name_or_num(const char *dev_iface, const char *dev_part_str, struct blk_desc **dev_desc, - struct disk_partition *part_info) + struct disk_partition *part_info, + int allow_whole_dev) { int ret; @@ -750,7 +751,7 @@ int part_get_info_by_dev_and_name_or_num(const char *dev_iface, * directly. */ ret = blk_get_device_part_str(dev_iface, dev_part_str, - dev_desc, part_info, 1); + dev_desc, part_info, allow_whole_dev); if (ret < 0) printf("Couldn't find partition %s %s\n", dev_iface, dev_part_str); diff --git a/include/part.h b/include/part.h index 815515aa80..7f78271a98 100644 --- a/include/part.h +++ b/include/part.h @@ -227,12 +227,16 @@ int part_get_info_by_name(struct blk_desc *dev_desc, * @param[in] dev_part_str Input partition description, like "0#misc" or "0:1" * @param[out] dev_desc Place to store the device description pointer * @param[out] part_info Place to store the partition information + * @param[in] allow_whole_dev true to allow the user to select partition 0 + * (which means the whole device), false to require a valid + * partition number >= 1 * @return 0 on success, or a negative on error */ int part_get_info_by_dev_and_name_or_num(const char *dev_iface, const char *dev_part_str, struct blk_desc **dev_desc, - struct disk_partition *part_info); + struct disk_partition *part_info, + int allow_whole_dev); /** * part_set_generic_name() - create generic partition like hda1 or sdb2 From patchwork Fri Feb 5 14:38:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1436686 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=BW+BY5yU; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DXJ4H2FlHz9sRR for ; Sat, 6 Feb 2021 01:40:31 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0F02782ABB; Fri, 5 Feb 2021 15:39:47 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="BW+BY5yU"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6AAEE82A97; Fri, 5 Feb 2021 15:39:28 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on062c.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::62c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id CB9CD82A86 for ; Fri, 5 Feb 2021 15:39:24 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WgTnYQVVvJU4DxA4MnnjaI0UOVe+V+PBUOlYayCnL/jYnlU09fw4wLlhTSt6qCgrqsyau+GGGw2Jo1SyuP77Prxfyn8o50Z0mBvnasZ31lmRCR6IQOB9MacQgk8PBz/9+/dl1BouPUZPNX90m31rg4bsOi3EU+Q6k0cKoGuNsig4Uh0htH6mSexoow94m+YWcLt5nry7B56mao4v5pW4oFrp5Ktef4YVIbbzTN0JLMsNCNcEIlDkg+zQ6nLFagZzNfasVUH54rrEPxphhDWLa+1vjDALAGHNB9z6H9bioNy/5v8fm44yzeSmdNTto6K3nawdXJN3AY8ANHZAn+NHZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TdgpPPDxDZxaAmEc3ICmOgfNxaCERgbDHlrL3tRJ1Kk=; b=UhVzbBkqOxaCeONoEY6jwdTKuIlS6F5LRh+ZndupB01Q8JdLqZ6FSszX4MmexqkhcMaAGfzc9Zz3TL4AjOuriaYCfTU0SThAOMjtkrKlUe5Un6sxmWYpBHXpj/pYu8TJrWD4x0LDhslRdSqFPqhSlRoLBaH79vM9k2HjPBF+2eJkXCaQt+ji9jJc+zCb2V2335rondxXnb+j9H3BpA/0CLpkBxfFHe6Kt9LGqIrTGuTsKpir0SzFjkWd6hFXbuIxhG23G9R0zdikYI/Eai20MY73lkI+pLh/Vylz1YnLpeORoaukFXe5VKSajB11bBo3Y/PyIvmXI9fGv5dYrOLXTw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TdgpPPDxDZxaAmEc3ICmOgfNxaCERgbDHlrL3tRJ1Kk=; b=BW+BY5yUYisxYxw9F15VeCFLKdsMu0WyFQxVNM0dPKEOu67UVRGrlfE67ucVgzZcqeJVHcSHfQGJNfdz1TSUMJXnMK96eR1LhqS0TBhBufgChnCGPOuF+HxL5aen+c2YCKzO3b5XRDE4HitJQvPkf6WSicj1Bh30Tz4EglDnmhg= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=seco.com; Received: from AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) by AM4PR0302MB2787.eurprd03.prod.outlook.com (2603:10a6:200:8e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.23; Fri, 5 Feb 2021 14:39:24 +0000 Received: from AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526]) by AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526%6]) with mapi id 15.20.3825.019; Fri, 5 Feb 2021 14:39:24 +0000 From: Sean Anderson To: u-boot@lists.denx.de Cc: Simon Glass , Lukasz Majewski , Sean Anderson , Anastasiia Lukianenko , Andrii Anisov , Heinrich Schuchardt , Oleksandr Andrushchenko Subject: [PATCH v5 05/10] part: Support string block devices in part_get_info_by_dev_and_name Date: Fri, 5 Feb 2021 09:38:57 -0500 Message-Id: <20210205143902.1819189-6-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210205143902.1819189-1-sean.anderson@seco.com> References: <20210205143902.1819189-1-sean.anderson@seco.com> X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) To AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from plantagenet.inhand.com (50.195.82.171) by BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.15 via Frontend Transport; Fri, 5 Feb 2021 14:39:22 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fbb54769-43f8-4019-96b8-08d8c9e3d4d1 X-MS-TrafficTypeDiagnostic: AM4PR0302MB2787: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:519; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: riII9JCOMtX9EKWg/jnIW/qJ2q7VNnJLgDIxiI9eqwgYgtHREkQvUZ6QH0muspilApDEv7FRQ7POOuZTvKXIpBPntn9I/aoZYnkjejTCfw6GvO/9NXiqI6F8f4srBSRTRsZWADq74CLWKMVipIzJKGKys3L8JrwbED2RellroLEXjztEcRCIIeTFDbkahj/rS2WjLuYlcfZkLuzbcNwhx+McJcHyAPG4wHwNnSqqBZh/BbagC442FsmXp5qr71WPz2ZipLoHZUDtZfhm1gXlTzMtSrKEwEi6cYDFt/9aYZvIlWbJSxUBlliG8wqQQAeBkE+VbE96OAjXPBYpGNMiO8IspFof3tWHQk5IxF/NtdPB+jPIDkec/eg1+WbnGeax6QEetSAyBvoFjAbi2SL2jgFgutfmoyjd1pBaYOGLf2Fl3Hgm6kVAmmS+uU19wkRaGS2PhrkJDMhXOA4sidjSzY34pbLV9iUDwio/vfl7woBw9gFajKYOOXFW3O6j64M1RmKx9LONdXq9gRP0RWfSKw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR03MB7251.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(39840400004)(136003)(346002)(376002)(366004)(956004)(6666004)(16526019)(6512007)(1076003)(478600001)(316002)(6506007)(26005)(54906003)(66946007)(52116002)(5660300002)(66476007)(86362001)(8936002)(2906002)(186003)(36756003)(8676002)(6486002)(83380400001)(6916009)(2616005)(4326008)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: Cwmk/AjVcx3Bd6uAYyIg29xkdGLpRSXo+68rNEllTlJa6aH+Ba82QIt7TYNKm21MxRYBNNh/S48LrnJykDm2PEum9jdGeik4g2nFDX73WKcidFGd7dTeL2AhEKo9cfspqkdq0rq7hwZxIm9C1DM/rohSdS9Y1q5ldREBilGei41hujLgmcccRkVIVi7dSo9FQocc5zeXSFgecj5xV31bb0SJ9apzqoobYFPbUY6d0zoJkpsB/uyuUHJ9gzFEbf3MYrT/SWbDT2HXa4E7MGYlXnPu19JrA702xW601Ey/nBbEvY25+vUeHxDBPFO29So8Fn1DM6fmLltOAHdmSl9PdWoBnYfKwYOtrEO+WMxZ2jq/s0FBxCeK2F/CC5d420rC2riB6DUjqN0nVxsLd3oMYU+SrYUzkzC/P+3YVDvJKRmqz1JsZb9nwIYi7dRY3eFiWAvEDf1M6tGicgwRRZIH1syGrJknPxAX6sJhzZSM2yUBHrztSUzZwq18W1BjOU5A48P8Em5jY94jMc9mz2IdjoQKmTHeCcZkx8VAD5zS0xYBFJYCy2kr03V6AadxXMdpF1vzA1cd4MWsQyvx3G6ONTAFuRh/ylVKv4IIUlnfsVNz/t9odW6IlLFzekHDaE5VOBiGp6IY6KCnIso0j6e4AsBAfAEdnPyLD9zmF25w67EX6FtowhnnRXUFhQ7myukUQoZyNozeShbiQARlv8hsuvsTKqyo8HxBCVpaVPkVL4MqBFSefbjvOHA5EWQduigwhUwXaqIvMNvW7ZxWZ1Xv61DFuV6dQBSi89cOFyRXRhj/DXoUI7xtvcOdpvk6C2Y5MCxEXiDaavnr8LZsYp3dOlrwOP1I+KZphhxUODHWMVfWZAjucWjbjvsGLU5M5YC9Cqv2xKJC3SqkyLNlxqVZ+nwEHUOgzgYuP21kCx5g6TOXNiMmC5VD+WFfhyD1PQluvornI+Vkt3YfRDi4fgEbV1Q4QH1IRCiKVycUq+h8DkyDcCYxgn16RF+1GIT+19FFJmTtPSmiiBEcKslhmIbawo1zEslsakuIl4rwnFPSYU/3GchDHUVUKb7Gtml6o2q7TcWmYu4t1T9EJYGgrivTfj/p2ZLEUUXzHjSZKWulByePNDzH8amxiTk9t/LV5N+sgW1OgfpdmnkG4KgiaYGTzA8jLRPA2rrt4jKUV5Ybf/KHGAOa8cyxFj6uyNViZSSTxUpIXz1STYi2IVQZk8vSxBOcYdpT/jvwZA5lXgosRN+q5NQWVVf0WJYkLAjThXUAL0/6SrI5oFtpm5AoKFmVkf1MqC+4MpOoNxiEQYujhWvuRPOH3RFVjkogtoGZG0GA X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: fbb54769-43f8-4019-96b8-08d8c9e3d4d1 X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7251.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 14:39:23.9394 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mlwSupj2LYXDrbxJbtNEEzxCMBhYQv7cofFXLjWF3EMAneBW49qRq0/6fjQzMOzDq8GX8ebBpOhzPZYShkWOIQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0302MB2787 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean This adds support for things like "#partname" and "0.1#partname". The block device parsing is done like in blk_get_device_part_str. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- (no changes since v2) Changes in v2: - Update Documentation disk/part.c | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/disk/part.c b/disk/part.c index 39c6b00a59..aaeafbb0b2 100644 --- a/disk/part.c +++ b/disk/part.c @@ -692,12 +692,13 @@ int part_get_info_by_name(struct blk_desc *dev_desc, const char *name, * Get partition info from device number and partition name. * * Parse a device number and partition name string in the form of - * "device_num#partition_name", for example "0#misc". If the partition - * is found, sets dev_desc and part_info accordingly with the information - * of the partition with the given partition_name. + * "devicenum.hwpartnum#partition_name", for example "0.1#misc". devicenum and + * hwpartnum are both optional, defaulting to 0. If the partition is found, + * sets dev_desc and part_info accordingly with the information of the + * partition with the given partition_name. * * @param[in] dev_iface Device interface - * @param[in] dev_part_str Input string argument, like "0#misc" + * @param[in] dev_part_str Input string argument, like "0.1#misc" * @param[out] dev_desc Place to store the device description pointer * @param[out] part_info Place to store the partition information * @return 0 on success, or a negative on error @@ -707,29 +708,31 @@ static int part_get_info_by_dev_and_name(const char *dev_iface, struct blk_desc **dev_desc, struct disk_partition *part_info) { - char *ep; - const char *part_str; - int dev_num, ret; + char *dup_str = NULL; + const char *dev_str, *part_str; + int ret; + /* Separate device and partition name specification */ part_str = strchr(dev_part_str, '#'); - if (!part_str || part_str == dev_part_str) - return -EINVAL; - - dev_num = simple_strtoul(dev_part_str, &ep, 16); - if (ep != part_str) { - /* Not all the first part before the # was parsed. */ + if (part_str) { + dup_str = strdup(dev_part_str); + dup_str[part_str - dev_part_str] = 0; + dev_str = dup_str; + part_str++; + } else { return -EINVAL; } - part_str++; - *dev_desc = blk_get_dev(dev_iface, dev_num); - if (!*dev_desc) { - printf("Could not find %s %d\n", dev_iface, dev_num); - return -ENODEV; - } + ret = blk_get_device_by_str(dev_iface, dev_str, dev_desc); + if (ret) + goto cleanup; + ret = part_get_info_by_name(*dev_desc, part_str, part_info); if (ret < 0) printf("Could not find \"%s\" partition\n", part_str); + +cleanup: + free(dup_str); return ret; } From patchwork Fri Feb 5 14:38:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1436687 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=FCrrk2yD; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DXJ4V2L7Hz9sRR for ; Sat, 6 Feb 2021 01:40:42 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4E4DF82ABE; Fri, 5 Feb 2021 15:39:49 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="FCrrk2yD"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4E6CE82AA9; Fri, 5 Feb 2021 15:39:32 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on062d.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::62d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4737F82A7E for ; Fri, 5 Feb 2021 15:39:26 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H/pqNEqTaFge7MtlWdzi8iPWJMOWxvpO6A+1p+bxptIj+klUnm2il6fl1IB5DdGKOyodCfU8f4C6eHSu4XgsHbLQhkY1BZy9J+KW7dlbhsm1Ox/Vyjbe6z2i+r+gmnGVZOimXBSFrphh4HPBx+WPKPc+8aOPlPIKWS6fMDX33OBQxqcyCRP266NqJoB8bEVZHoheiP8iJW+tTrm35KAJcVLFfLKMqYnQcs6qoMvz7rvH4wkbF/UYIDAZdzw3LXQk6e+bsdfLf7STgkPvwgxusvjFlpZBPU1j1ujO5E/IhnT8f1fAkpktec3TMhSj/s60UIybrPg7/Elji0Joox2jpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=owPc5CRA3pKM13F8RA2Lfde6GjMGzTPaCvjIY6vTtyk=; b=mK6FaT6zTkL9UMUAwAVlhj5hiErTw//wtF3pfk9A3T60OXjXGjzEJMPny8Na7L5bILsfJncrPMs60fpVIOlJBRLDViWn9XOgOc0/GgimJIWGjmT5s9/CUpPX4UqMTJ1Eq2S0Ak9B9zuCp/lJQg14gx91vj2nGzws1EVGLQJRw3NiQfMq9wG55bp+YjPYr0iflpEZZRdm1OnotwKEZcfmzZYhVoHgJ7lBDlqlUBVYSdcm/Bv3C8nspoEfHOmcCL3flkphvsUz/q4A6fB7MS7qn5F20MZr7/a15RttRlivrzuNxYQe8oko/idMuqK697/9JbDJjUWD416I5B9/NlDXVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=owPc5CRA3pKM13F8RA2Lfde6GjMGzTPaCvjIY6vTtyk=; b=FCrrk2yDFEJdhCCNawPlGoRvNA9TrPGQxIXMDhlGKjjJ2/EPSddyr01nSy8VcnoQjx+6+p6UMAxFq1lYJFHZJWUjRKtn8Nyy0sv3esX12Qo8j/7f2aT5IhyRqb4/oT2ulI0+5ukTBJVoHG3n5u+WO1hPaGNhl0nRFRYIyn9WGbs= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=seco.com; Received: from AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) by AM4PR0302MB2787.eurprd03.prod.outlook.com (2603:10a6:200:8e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.23; Fri, 5 Feb 2021 14:39:25 +0000 Received: from AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526]) by AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526%6]) with mapi id 15.20.3825.019; Fri, 5 Feb 2021 14:39:25 +0000 From: Sean Anderson To: u-boot@lists.denx.de Cc: Simon Glass , Lukasz Majewski , Sean Anderson , Filip Brozovic , Marek Szyprowski , Patrick Delaunay , Roman Stratiienko Subject: [PATCH v5 06/10] fastboot: Remove mmcpart argument from raw_part_get_info_by_name Date: Fri, 5 Feb 2021 09:38:58 -0500 Message-Id: <20210205143902.1819189-7-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210205143902.1819189-1-sean.anderson@seco.com> References: <20210205143902.1819189-1-sean.anderson@seco.com> X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) To AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from plantagenet.inhand.com (50.195.82.171) by BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.15 via Frontend Transport; Fri, 5 Feb 2021 14:39:24 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cd17fc2c-2c14-4765-b5b0-08d8c9e3d5a8 X-MS-TrafficTypeDiagnostic: AM4PR0302MB2787: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:176; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6hRHyDGJzeeEO9JVMtrgJd9HelPjluNoZlFhPvXLHVrnS4HoGgpHF5CE7dt2IBxHdjyHpO5nIocpuf5rg4+TgsjqyGj9I7xCHGFjOoVTK/QgXXcOOKCJ5TxQ4BiQ4cJgOpmkejozhl+TwEaanYDYzjzsvfZJittsQISNsSRSyezQnnH63HpYLx+osD2iUkWWBBrDQ36jc8exBH+SqzOnyEb2nPJ1ejzVSRageiOKkl1o7bRxK5NPrF4xwcjdBxdwTHb+NHuRPKEBrdsSQi6ky/4aJK9gRDueo5qEXNIAyoNerQsldJ1UpfLQBgVqUPmkpW6el6NucvtzRbLpS42/SPQgIjlsBblo/G87lsQ3C9oc5DYgBhqMwogmHatZ5ejc8TsaljsiliIo0lBFfpJExUEB6v+dno0gzUUOMJUPdRKAaGzyImlzUndOVaEFmeKpJurS6y8vj8pvTDdO0oA4bmaCPCwfYf2IkHDPwwdnBGDvR3Xku9kY4kx/PHLFZ/Hf/isexV9dJ/P/i4imvJXbFg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR03MB7251.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(39840400004)(136003)(346002)(376002)(366004)(956004)(6666004)(16526019)(6512007)(1076003)(478600001)(316002)(6506007)(26005)(54906003)(66946007)(52116002)(5660300002)(66476007)(86362001)(8936002)(2906002)(186003)(36756003)(8676002)(6486002)(83380400001)(6916009)(2616005)(4326008)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 5tmmnJtUJb5JbkNLKiDgvRDOGP621ifyY3HWAulB6EVmgTKZTgYbdTRhhHC2K7WZBk5pj5MhW/ckLC0/bTN0kI9eaLLR4VWXIU7OBMPfI/sLYClshc+6gbJbipOQtDlobjYJhwPof0kqcimiTQKE8186F7T9BbVN9mWdBWFTYH/Rv4CuZnTDHL3PDu7g8OHP7Ye3AnhyUdoTNywiqf9NpVSD0XG/vFsBKV+e5MueQ7Hb/mBKH6Ub/2jut9c5NrsFNLqgtFkdXEZK332vY7+sYBrE7wwwXSj3xKr7NUNqZzYoQJZozgN6xbkt/DUnIgrtuVRh7WUibbUzTdL10GmBbMqpzX23HtihEiX30Cdeqqe81BogyuDl/h98Ux9Z5iZnXsGLJNLqG3bQTGhkyDm7vKEqgEtb9nur7uN11vxh8L3M2HL0Sod6megZAzlph4dge9ed/z5V/TMZnVZPpsA+BZmzlgpYrxhbdRTXeZ6igOmVSTplnuaVza8JSKquQPXGuyBekEZv6kTuG8sAiS70Nt+vwIAriUFNg8qY00VtKjow+7V5gWSHkGuX0wM/v+aokR/1TmDd5smUSoJ9R8GosBrmWRqKs7i3J2EthQlVhT9eS2DbFAMfS9U0hm7YPCjUQ5+mp99kh85hkue45PpqdwYprPtJ1Bsmj0niOWLdl2OYjnt2Y2wy0oIuEklPz++Px33EIheZMhIuadkd8/qfE3J5G57sed4707LAkwGBu94w5xGtFBCRn9eYKlptiA6N8QQDBIn6rO1JUuYqcXls7lkHsCNjxwYINU3SZyMLSzFO+YFsSDqYbrscPnUYe1towh34DopIsMh92VTaWHNueoWnMK7BmZwog882AZvuexqBtEo/SSiKwo7wDOLqsWd3F0rgdDp/L2+qD25PpF1MOC5+cJWCyM+AOd5ekivrRset5uQP6O6WdX4a3mZE2Tr3Dl+qngRN9KO8gkEJivUZw2Nz+lk129YjuR03jDvo2L6Ph099fJUNxRCI3x0P84lM0YRaT0mmiZP9RCnsAl5mWAlWgg7wDOhan7FmlS3ihNek41tlk5x0Veoe7EJN5OQjJ3dqGzkX8VbndaD6ricWojIoBBuAaQuk4AXwmTtFHmZr6D4SFsRgW1ZwRrknfC+wao0hmR8QekWRkIXccaI4m2vZZE3XhCCEvjTngkVoZ+fVUWAIuZ9Gm/NZh0UbBsVItFXv7nxT6htkxoCXgZMj7odnCcu672n+cG34TN/wpbCAUqqpGcq7bfHgIVgXVu7iNelBeLUdM1yStoXE8eGtzel0RTIwtzoKupOwyZC2WaGlIrtO57Oyhb34KTDlHum5 X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd17fc2c-2c14-4765-b5b0-08d8c9e3d5a8 X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7251.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 14:39:25.3333 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0Ku6GyH37W9L7AQwgatrlHZJ39DUJj0xDCm03yQhcODZFlYQdYMDpoMKtCf716ZF6Tci/aHcnFjidqczv4QdHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0302MB2787 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean The only thing mmcpart was used for was to pass to blk_dselect_hwpart. This calls blk_dselect_hwpart directly from raw_part_get_info_by_name. The error handling is dropped, but it is reintroduced in the next commit (albeit less specificly). Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- (no changes since v1) drivers/fastboot/fb_mmc.c | 41 +++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/drivers/fastboot/fb_mmc.c b/drivers/fastboot/fb_mmc.c index 50532acb84..75347bb99b 100644 --- a/drivers/fastboot/fb_mmc.c +++ b/drivers/fastboot/fb_mmc.c @@ -51,7 +51,8 @@ static int part_get_info_by_name_or_alias(struct blk_desc *dev_desc, } static int raw_part_get_info_by_name(struct blk_desc *dev_desc, - const char *name, struct disk_partition *info, int *mmcpart) + const char *name, + struct disk_partition *info) { /* strlen("fastboot_raw_partition_") + PART_NAME_LEN + 1 */ char env_desc_name[23 + PART_NAME_LEN + 1]; @@ -85,8 +86,13 @@ static int raw_part_get_info_by_name(struct blk_desc *dev_desc, strncpy((char *)info->name, name, PART_NAME_LEN); if (raw_part_desc) { - if (strcmp(strsep(&raw_part_desc, " "), "mmcpart") == 0) - *mmcpart = simple_strtoul(raw_part_desc, NULL, 0); + if (strcmp(strsep(&raw_part_desc, " "), "mmcpart") == 0) { + ulong mmcpart = simple_strtoul(raw_part_desc, NULL, 0); + int ret = blk_dselect_hwpart(dev_desc, mmcpart); + + if (ret) + return ret; + } } return 0; @@ -425,7 +431,6 @@ int fastboot_mmc_get_part_info(const char *part_name, struct disk_partition *part_info, char *response) { int r = 0; - int mmcpart; *dev_desc = blk_get_dev("mmc", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (!*dev_desc) { @@ -437,7 +442,7 @@ int fastboot_mmc_get_part_info(const char *part_name, return -ENOENT; } - if (raw_part_get_info_by_name(*dev_desc, part_name, part_info, &mmcpart) < 0) { + if (raw_part_get_info_by_name(*dev_desc, part_name, part_info) < 0) { r = part_get_info_by_name_or_alias(*dev_desc, part_name, part_info); if (r < 0) { fastboot_fail("partition not found", response); @@ -461,7 +466,6 @@ void fastboot_mmc_flash_write(const char *cmd, void *download_buffer, { struct blk_desc *dev_desc; struct disk_partition info; - int mmcpart = 0; dev_desc = blk_get_dev("mmc", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (!dev_desc || dev_desc->type == DEV_TYPE_UNKNOWN) { @@ -541,16 +545,12 @@ void fastboot_mmc_flash_write(const char *cmd, void *download_buffer, } #endif - if (raw_part_get_info_by_name(dev_desc, cmd, &info, &mmcpart) == 0) { - if (blk_dselect_hwpart(dev_desc, mmcpart)) { - pr_err("Failed to select hwpart\n"); - fastboot_fail("Failed to select hwpart", response); + if (raw_part_get_info_by_name(dev_desc, cmd, &info) != 0) { + if (part_get_info_by_name_or_alias(dev_desc, cmd, &info) < 0) { + pr_err("cannot find partition: '%s'\n", cmd); + fastboot_fail("cannot find partition", response); return; } - } else if (part_get_info_by_name_or_alias(dev_desc, cmd, &info) < 0) { - pr_err("cannot find partition: '%s'\n", cmd); - fastboot_fail("cannot find partition", response); - return; } if (is_sparse_image(download_buffer)) { @@ -593,7 +593,6 @@ void fastboot_mmc_erase(const char *cmd, char *response) struct disk_partition info; lbaint_t blks, blks_start, blks_size, grp_size; struct mmc *mmc = find_mmc_device(CONFIG_FASTBOOT_FLASH_MMC_DEV); - int mmcpart = 0; if (mmc == NULL) { pr_err("invalid mmc device\n"); @@ -632,16 +631,12 @@ void fastboot_mmc_erase(const char *cmd, char *response) } #endif - if (raw_part_get_info_by_name(dev_desc, cmd, &info, &mmcpart) == 0) { - if (blk_dselect_hwpart(dev_desc, mmcpart)) { - pr_err("Failed to select hwpart\n"); - fastboot_fail("Failed to select hwpart", response); + if (raw_part_get_info_by_name(dev_desc, cmd, &info) != 0) { + if (part_get_info_by_name_or_alias(dev_desc, cmd, &info) < 0) { + pr_err("cannot find partition: '%s'\n", cmd); + fastboot_fail("cannot find partition", response); return; } - } else if (part_get_info_by_name_or_alias(dev_desc, cmd, &info) < 0) { - pr_err("cannot find partition: '%s'\n", cmd); - fastboot_fail("cannot find partition", response); - return; } /* Align blocks to erase group size to avoid erasing other partitions */ From patchwork Fri Feb 5 14:38:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1436688 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=wPm9H3ka; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DXJ4k02rYz9sRR for ; Sat, 6 Feb 2021 01:40:53 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0216282AB7; Fri, 5 Feb 2021 15:39:52 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="wPm9H3ka"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D115D82AA5; Fri, 5 Feb 2021 15:39:32 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on061f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::61f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 8F5C282A89 for ; Fri, 5 Feb 2021 15:39:27 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cdh9Jr7/aufuZkL7YmuzZzrceNLIC08LS5ZkBHwBMwfj3+DuToMFfOGy1/DPWSo44yoY1bdgFj4GK9uhBQcxog74lNqtAKM/vGje4A3Fq8ZUrzhMiM1jsmD6dJMGtEI5YdrGTYA70Qx6GEjAeH65T7+4h+XpQpleEwDln7ajdf4msLm15IHEEO9uECk/L2GlADDlsayPsxnG71oKObzvitOYAtalszi+IQRgmgu8AzF3GNgY7sSy7ZGSje4I+ZnN8NtlUk5UURbHKcsK7hrQv/2S1q718In4LfBn8aP4Xr2odow35gRR0vLJnpdMqA2biPNQV2twgB5khOivJhBExw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SHp9CX/Cj9DapOD1mO+QNwksc4LfaW3Xt930nFz6iSg=; b=ClNgp9v5NIj8d5Oedip5Bc8xbbxFqJlUG3pKLMaVdKvnB0Vi2w6zf8q5bSRhAZApGwP0fssR3XpBW15IHaX2EIvBXAx0s0gVH4dkNSqNT0cLVKFBezzZmCs2xs+9XoBltuWP6pcKVD1WW0gyywf/BCT5h1/InLEqkASt8O/qO0ZFKl55qgkIstQibMnXg8FukOURuX490+CJ5EOvsBVyWiH8dVDd3Gtr6yH9P0LnZY/9X1M6NJMqN54Brw1A933N1QUNx6pi9ZsQuOS7rZCV3kYAinmoBt74j9gDln/LQpLaXVT6I/hqGPdFQRy0C0nT+9KIhah1gmb5yXv2Dkn+uQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SHp9CX/Cj9DapOD1mO+QNwksc4LfaW3Xt930nFz6iSg=; b=wPm9H3ka1ytdaDeiIFhOQnkoMl8WI/x+Yl1xgwqlsrD2hBP1fEhDXzxC9Sk/kAwBvsiAS08gVFI7fbJ55SMBlAf389kjA8ZksPexDTdqv5IE/lN93+4UIAJU2sM0ZootIX5xieVMmZl49Ndc2jUmzl/kgvt7pfo92WvvL5eavTQ= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=seco.com; Received: from AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) by AM4PR0302MB2787.eurprd03.prod.outlook.com (2603:10a6:200:8e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.23; Fri, 5 Feb 2021 14:39:26 +0000 Received: from AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526]) by AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526%6]) with mapi id 15.20.3825.019; Fri, 5 Feb 2021 14:39:26 +0000 From: Sean Anderson To: u-boot@lists.denx.de Cc: Simon Glass , Lukasz Majewski , Sean Anderson , Filip Brozovic , Marek Szyprowski , Patrick Delaunay Subject: [PATCH v5 07/10] fastboot: Move part_get_info_by_name_or_alias after raw_part_get_info_by_name Date: Fri, 5 Feb 2021 09:38:59 -0500 Message-Id: <20210205143902.1819189-8-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210205143902.1819189-1-sean.anderson@seco.com> References: <20210205143902.1819189-1-sean.anderson@seco.com> X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) To AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from plantagenet.inhand.com (50.195.82.171) by BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.15 via Frontend Transport; Fri, 5 Feb 2021 14:39:25 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a9677802-a8b6-435e-1e9c-08d8c9e3d66f X-MS-TrafficTypeDiagnostic: AM4PR0302MB2787: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:346; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: orQYH2/QUgAWmOgrHK5Qw+Y26BiMCdgU5Ipz6IxCv1iCrkyMM6/9o7DhPJgyiCqcEiJGCtidrG1NrcaXEQo1OXnSt3uY4bP2tdaAgMuQhlV9FTH2WkWQ9WH0FXgNqf3zwdLJWO3uxVc2bncwbB/Or/g4DPjtccgOu0mk41WL5nQoR7JyJs5U2XQ1vUnIFyGhZ0Tm05spbheJ8xfO3268uILK+gaYRpFCKKGhUHSM4x+GnO7QHqiD/dYWjWh5Ub5kH/mGrAqCvV9vT+T8Oc4walUs3v9cg8WC3j1cVZSh5jSYdpj8UOZvWixEFd85mj/InrDvlpkSr9fzH8Kest/DY5URjre8CZWvLFCijvtHXZc5O1wX2niglqe+u6QZSwchkrEYzAqqzdhHos0xH6QdWw2sMpcWgB1R/9xbIxs+8FviijQiUPMbrr5n0XWZuZW8Wrsqy6RjuphuVmmO2RRnt8QiQdhNfgBvKU/Gks/4O3qunJiJNDfTMPyxbG8HmmWmvJgQ818mlvNZwa/fCBFVaw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR03MB7251.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(39840400004)(136003)(346002)(376002)(366004)(956004)(6666004)(16526019)(6512007)(1076003)(478600001)(316002)(6506007)(26005)(54906003)(66946007)(52116002)(5660300002)(66476007)(86362001)(8936002)(2906002)(186003)(36756003)(8676002)(6486002)(83380400001)(6916009)(2616005)(4326008)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: JZIZAvZqwE7dR3H6Vsuuj68quyjrMS1PWVeSStlkxfJwn9yElRF/y396mmmncm9QmIpswrTCRUoT+sp7ifU9uKLwY8Ugez2lwX8V2oGvYdL+I803VhuuRwS1tzxh7Asiz10T2KZhwanntu0vBb3vJb/iFbx6b+sV3U9aj6U/vkkYfHBd7HxcOo6rvbOWqFKvU/2bNI1OOX/kMAeB8SFfFoqbLx19GTGZefAC36wqZo3EGVpVZjK0qsHgrUWmx9XrN9mKCZAwtp+rgrjMyTPEXzGqU7deF8mMULizm6xoyVtR04qCGMKiQuET/m5MFANcbdGU2B74BJ2EYqZZnoLeVcME/H8MFLaTQ/1KkqKL9xnGAxvpBTxkPhN+l6LEE7E9oUfEelGGT4iRiD7qRJYY5CtyQXZtZldn4TqMEbvgFh4U4uiTEX10d5LPNmcqQx5dlap6QRsK0ArTn6qQeLRWXJQWMyspW/X0jOU1ymS+fp5Vaorm1LV+Z2acG7fToRJCagop4Dx7NQpvHXJZLQfHfm/4PYFN7wrbPxkkFMJgPuec/nylGTKPLhfrjVsHd2zDBNzpOp20yseU/6jdZbEMivsg9f7MwmWdmTCIDmYtZGvRxt2lPfyldFUS/gUDdkRlCVrv9E7TD2OenPLK0HMUi+6h4JU0MqeCt2yg6xyTQZYbeCyrVJWBtgBoJQ+adi3O/KmASCri8A4YZ5qf7AoUwEFoZRNv5JNzblgxWON3HeESW2TnW973QigxMKbev87Yfu6gzxRojt1HES6cE8ioKN7r6OPM6NcWcou6NaOOVfhiJqqTA/XlHdl4Sl5LnPmXMEsBsH2wtWqD69dY+xeq66tYLrQNam1xBLp9/2pjHSel4Kt0oP2KBhIig9wNgt3IaLJZ+b36c9P2tc0wqh1qdTDXvApbQ+I6xUg5RBnhYpeVxZKgXEbq5QidyHr3oH1/wRAG+hOMS55GZmPlxBicICpAn4kR8VyLl+GWCdOCY5/UyJ8/Wu3R6MeCukNJfpxWEPmqPsgLcvXp93UusJg1YtyGuAwuAC89optnBmLwOykSyhzfw6D55U6+NrySnsV3+y4qoVq9qLpCuMbaYjwwYUbfZFgNMgphQ5G6hL1E7frPBNfGwrudXnhtVWzHuFvbNyj6Wy1LeNRxCjyGHZzp+AgyaGsG9lW5dzy2+va5i9teSPidbFCbV/xqvgl//8UnKLLTTGJb0XVgxfe7jMgTPLuny8sgI6jxU/QxTsKMe6x21MnUYzSFfiZa/0PF6FbSd25YDqkeA7sxt323fIJRCkJsYRpuqs+Tb3Rsza2H7UqPz82IW326U/ewU3EBicsF X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9677802-a8b6-435e-1e9c-08d8c9e3d66f X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7251.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 14:39:26.6346 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AjiMhXrITK8t4d1Gg2dHtW3nUBxeKbvexazlod9WiCiKsDu6tkIPxEICPHN9lLy/5H56BqR/WcdBjL0RE8ntWg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0302MB2787 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean This makes the next commit more readable by doing the move now. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- (no changes since v1) drivers/fastboot/fb_mmc.c | 44 +++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/drivers/fastboot/fb_mmc.c b/drivers/fastboot/fb_mmc.c index 75347bb99b..71eeb02c8f 100644 --- a/drivers/fastboot/fb_mmc.c +++ b/drivers/fastboot/fb_mmc.c @@ -28,28 +28,6 @@ struct fb_mmc_sparse { struct blk_desc *dev_desc; }; -static int part_get_info_by_name_or_alias(struct blk_desc *dev_desc, - const char *name, struct disk_partition *info) -{ - int ret; - - ret = part_get_info_by_name(dev_desc, name, info); - if (ret < 0) { - /* strlen("fastboot_partition_alias_") + PART_NAME_LEN + 1 */ - char env_alias_name[25 + PART_NAME_LEN + 1]; - char *aliased_part_name; - - /* check for alias */ - strcpy(env_alias_name, "fastboot_partition_alias_"); - strncat(env_alias_name, name, PART_NAME_LEN); - aliased_part_name = env_get(env_alias_name); - if (aliased_part_name != NULL) - ret = part_get_info_by_name(dev_desc, - aliased_part_name, info); - } - return ret; -} - static int raw_part_get_info_by_name(struct blk_desc *dev_desc, const char *name, struct disk_partition *info) @@ -98,6 +76,28 @@ static int raw_part_get_info_by_name(struct blk_desc *dev_desc, return 0; } +static int part_get_info_by_name_or_alias(struct blk_desc *dev_desc, + const char *name, struct disk_partition *info) +{ + int ret; + + ret = part_get_info_by_name(dev_desc, name, info); + if (ret < 0) { + /* strlen("fastboot_partition_alias_") + PART_NAME_LEN + 1 */ + char env_alias_name[25 + PART_NAME_LEN + 1]; + char *aliased_part_name; + + /* check for alias */ + strcpy(env_alias_name, "fastboot_partition_alias_"); + strncat(env_alias_name, name, PART_NAME_LEN); + aliased_part_name = env_get(env_alias_name); + if (aliased_part_name != NULL) + ret = part_get_info_by_name(dev_desc, + aliased_part_name, info); + } + return ret; +} + /** * fb_mmc_blk_write() - Write/erase MMC in chunks of FASTBOOT_MAX_BLK_WRITE * From patchwork Fri Feb 5 14:39:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1436689 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=Rt/lAaXi; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DXJ4w3nJwz9sRR for ; Sat, 6 Feb 2021 01:41:04 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2E0A682ACA; Fri, 5 Feb 2021 15:39:56 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="Rt/lAaXi"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D50BD82AB7; Fri, 5 Feb 2021 15:39:36 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on0605.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::605]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4AFFB82A9A for ; Fri, 5 Feb 2021 15:39:29 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VAsGO9d3SNJ3+1xvNGw0i7WFXep5FdZ6ly5bzZYT2/MvcDGU5Gbyu8Ab8wDJhpZwf7FbCgojhc7ep/uhDDx2ulxdyWss1kV231AmBsVlnTjMTqoVKV6b7bYOr9iQkPXggCsfHNsZVaDSD0g27EEgUQ9CZqbEHI0LumNkwEFx8uV8jKHz3V7pPgOrc8tfxQc6QcI2iaedmdbbKYSC3qTdYsQ7WAYVQTxMYRGGUVQ10i6lC/4SwYMXfSwbBFFJ1OKAQuWl1lTWPaYIurbYn0PhNL68zF04eqcujYomuvfuPEsh1Lliap2bteoP87/BkGHQTjZ0vrjlfM6mBQY7F1lsNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WNlXK8HHJ6Beb6nuqjdbL4gdGVycbIgn/o8X0BBdxXA=; b=GA3DTEnOLFvLf0q6rhbKwX55paP0YYX1U7XZm/RFx+H0PGeIPfZGMBV4uIO9u6UjXrdiTQ2rcpVTIlKwxKa6vcESCj8w+TN46ZWUQsVom4okz+6v2d7zRI8+6mv/5ECLaAxUolFUa+xQr1Ocbf0pygJ8fGmibL17je3H8EMZYEQ0TkncPVqdOny9ovF7a0I0OuL2+M+L0DsxfaxPbJK2ewmjwMCC1UvzB/iIOkA1paKqxOwoaA7SoKT/PrixrhairpdWMgxhIBJ4+jCGwyPpd42qF13o1fpZ9A2sbqJVjrI/AwAG/uVRWODR6tIAZXOGERi3bAocYqvUeyvFAHt4MA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WNlXK8HHJ6Beb6nuqjdbL4gdGVycbIgn/o8X0BBdxXA=; b=Rt/lAaXifW9clNLgAbSO/hKTAThRxasYrrfR5uEyEFdCs6EZzKRVK7mSvHQRc2bV4tt48GKp1PY4WDOkwLH16kM7QizgXOlG68wtdQ+NvIT7xymXG+VcLZu7Gr7Bg1xLOv92k15I00DFuzmNjch+ZgFmzcqScP5s7zi9G0vlFS4= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=seco.com; Received: from AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) by AM4PR0302MB2787.eurprd03.prod.outlook.com (2603:10a6:200:8e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.23; Fri, 5 Feb 2021 14:39:28 +0000 Received: from AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526]) by AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526%6]) with mapi id 15.20.3825.019; Fri, 5 Feb 2021 14:39:28 +0000 From: Sean Anderson To: u-boot@lists.denx.de Cc: Simon Glass , Lukasz Majewski , Sean Anderson , Filip Brozovic , Marek Szyprowski , Patrick Delaunay , Roman Stratiienko Subject: [PATCH v5 08/10] fastboot: Allow u-boot-style partitions Date: Fri, 5 Feb 2021 09:39:00 -0500 Message-Id: <20210205143902.1819189-9-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210205143902.1819189-1-sean.anderson@seco.com> References: <20210205143902.1819189-1-sean.anderson@seco.com> X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) To AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from plantagenet.inhand.com (50.195.82.171) by BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.15 via Frontend Transport; Fri, 5 Feb 2021 14:39:26 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 18f76b52-078f-48d5-f9ac-08d8c9e3d748 X-MS-TrafficTypeDiagnostic: AM4PR0302MB2787: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3044; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eFuuLRsduYtLxBf9BJdnaU+BjsXVO01yLQHHZFPP2/AX7A6YzAIn41NjKJr/1t6hDqujKZaPHxHMPyAL7NnGS4Esg3bM5EeUrZu9d8VJ1Rrh6EKZdExqYKGsg4UGtNQw1nGMmjFdjh/fABMJnoAn/BAi9Vk/+YdtQbi5jEiMQ7/PjSUCRBORTA8HOlWaV70WyERo6ZerfUNfiNW/6iG1QC4Pe6ooYp7J1jNDonH1sLcEKNpVrkr5KNk4FWC0mxUm0/bmvG/RMVSdSgK6BVJ2K5BYCqPJYxG12EZwL+fgRLMa1V6Xl7h/btfC+a1Bo02bTVBIK8gsm1eKqW7X2lcnw13HRLU/3PPPKbaOyaGN3PKsctAJocWEc+rWJekoyk+Qt5W4RqH42gwY5YOT/7QNkcsHzBfeCu2ABuQPrjGMiGE/CSWriWK5WDn3OvRlH8PC1YCD7oEQW2xJT9iSHsBJoY1mwrwP/JLKGgDfKIAugt8glh6bs01fu8FtbeHQL9o3EGNif9OdlWOIgTxL3aFETw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR03MB7251.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(39840400004)(136003)(346002)(376002)(366004)(956004)(6666004)(16526019)(6512007)(1076003)(478600001)(316002)(6506007)(26005)(54906003)(66946007)(52116002)(5660300002)(66476007)(86362001)(8936002)(2906002)(186003)(36756003)(8676002)(30864003)(6486002)(83380400001)(6916009)(2616005)(4326008)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: X3aXaIAnr5qEWYvuibc8YR0bjh8r1os55JN7S7B0Sf+sxmDE9ZZifN3CqJ9wpK2rECXgAh63MWAyK3Zj3oaAoofGf5IWrZUX0LytJVLhKrKUCgUEuxrwMOYCz0g5nJEjDvfLm4M4X2788RHseZPnQeF45waQW39QqiHR3eim63DvYDVk6ew9jK9ku7t/Wlv9LGoCoIDP0cw4YZeq99/k9pgyoAS/IlvuB36vpkvHkTDNjYH3kO6TdvqViZj8RSCW20E4XFbhdJ6aAicSU7QMRxSdH491zEPNNZ4zuZLe0W2z6kbLXDyMSrRUk8Q0GqptIhmzNUbEbtnf3wMWiy0ilLeDhmap6r0jZHEvwSq7dUK5YRLXN79FyLslwio308eF43hRXeN0kWXu9eOMAaQdtl5ENMF0IPcW4YfHID8G16Pfb1Z+C5vpw0zLr91Y+7pFVOdMOxSk21rhsFqU3clpCZ8BX5SyZxuCoijPyTUqD7wANEiJPwi70/kXULh1srMTt+HyEA7dhufRoK4uKGFQUmKlFtRM2kG/mTPN3vPmjNARIHZDqOjoNs2enF+tY0Nl2it4FXvYF67ThTUuF+fAzJRXO3cOoPzXoJjHSsjlfEt/BruSFh5CnbOWBB+wc/a3X6XaqKBVX4XBefyMtJshlZ6WYWruQM4jv+xRlTIBSiu5uau/0GYQlPWOlE4NcjTYGqbU4wgRs0CoOhWhUJtCGOkCc+hwAQFmwWxhKh0K5FXiqDpLbp4FmWbDCOGvAz36pTxCM3GtQ2wfZtH+f82jl1NEzJdJulSy/Hm4aUuEdQ1FNi2etK+Y/H41E0eES1HNwlepr4qaatNqeBgBLYGbeHI+JZqUo03R/Fb+UMQHbrSMsWy7V3Fc93h86fYzZMYALbljq90k95DdFF8bklTAT9jbKa9qKGDB8XeaysX0eZvSH63u0SEARtCS2P/D1j95rn6vKjq/3XGjw6eZVGqnMKztXn7jraYXFS2kcTzmb0MTarAPiLAvS/5A+5Khg9Vmx0phE3KYD5YqpWK7k/F2DfLDT+Z+71gm+xiPs5acJU2Zg6qcGszwjxpQ82CVRsoFWOrP5RRdRYZ19yE8PNofESzhUWeMGXnNZFGFKO5bdhAl5ghEOvVb+Eh1ZFrmzNpdslRVLZkubZFSIa8KiInFy1IkDOC0Yddu3epWLn4h8hrn1+OtEBHy173wz4hjoWL5zOcJ04cktpTHw2eXcNT7UtQzO0kdrMzyqBS4X4OKzvuuSYBNHbzNfVLuBqqDWZjIp33v87s2wHhuYvbcTovte++RjJLEwUPV9I8LAMvBJbZZoQYFgw1zNf6NXXyf9vFM X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 18f76b52-078f-48d5-f9ac-08d8c9e3d748 X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7251.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 14:39:28.0892 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: G1Q6oUGIkX4ko3pgLkkXmKFpGVE+QgJ82k389udKCeclh6I/oMVwelT8X8blMeINd9gma79Uo7UEGyGv0+7IEQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0302MB2787 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean This adds support for partitions of the form "dev.hwpart:part" and "dev#partname". This allows one to flash to eMMC boot partitions without having to use CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT. It also allows one to flash to an entire device without needing CONFIG_FASTBOOT_MMC_USER_NAME. Lastly, one can also flash MMC devices other than CONFIG_FASTBOOT_FLASH_MMC_DEV. Because devices can be specified explicitly, CONFIG_FASTBOOT_FLASH_MMC_DEV is used only when necessary for existing functionality. For those cases, fastboot_mmc_get_dev has been added as a helper function. This allows There should be no conflicts with the existing system, but just in case, I have ordered detection of these names after all existing names. The fastboot_mmc_part test has been updated for these new names. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- (no changes since v4) Changes in v4: - Fix missing closing brace drivers/fastboot/fb_mmc.c | 157 ++++++++++++++++++++++++-------------- test/dm/fastboot.c | 37 ++++++++- 2 files changed, 132 insertions(+), 62 deletions(-) diff --git a/drivers/fastboot/fb_mmc.c b/drivers/fastboot/fb_mmc.c index 71eeb02c8f..8e74e50e91 100644 --- a/drivers/fastboot/fb_mmc.c +++ b/drivers/fastboot/fb_mmc.c @@ -76,12 +76,37 @@ static int raw_part_get_info_by_name(struct blk_desc *dev_desc, return 0; } -static int part_get_info_by_name_or_alias(struct blk_desc *dev_desc, - const char *name, struct disk_partition *info) +static int do_get_part_info(struct blk_desc **dev_desc, const char *name, + struct disk_partition *info) { int ret; - ret = part_get_info_by_name(dev_desc, name, info); + /* First try partition names on the default device */ + *dev_desc = blk_get_dev("mmc", CONFIG_FASTBOOT_FLASH_MMC_DEV); + if (*dev_desc) { + ret = part_get_info_by_name(*dev_desc, name, info); + if (ret >= 0) + return ret; + + /* Then try raw partitions */ + ret = raw_part_get_info_by_name(*dev_desc, name, info); + if (ret >= 0) + return ret; + } + + /* Then try dev.hwpart:part */ + ret = part_get_info_by_dev_and_name_or_num("mmc", name, dev_desc, + info, true); + return ret; +} + +static int part_get_info_by_name_or_alias(struct blk_desc **dev_desc, + const char *name, + struct disk_partition *info) +{ + int ret; + + ret = do_get_part_info(dev_desc, name, info); if (ret < 0) { /* strlen("fastboot_partition_alias_") + PART_NAME_LEN + 1 */ char env_alias_name[25 + PART_NAME_LEN + 1]; @@ -92,8 +117,8 @@ static int part_get_info_by_name_or_alias(struct blk_desc *dev_desc, strncat(env_alias_name, name, PART_NAME_LEN); aliased_part_name = env_get(env_alias_name); if (aliased_part_name != NULL) - ret = part_get_info_by_name(dev_desc, - aliased_part_name, info); + ret = do_get_part_info(dev_desc, aliased_part_name, + info); } return ret; } @@ -430,27 +455,49 @@ int fastboot_mmc_get_part_info(const char *part_name, struct blk_desc **dev_desc, struct disk_partition *part_info, char *response) { - int r = 0; + int ret; - *dev_desc = blk_get_dev("mmc", CONFIG_FASTBOOT_FLASH_MMC_DEV); - if (!*dev_desc) { - fastboot_fail("block device not found", response); - return -ENOENT; - } if (!part_name || !strcmp(part_name, "")) { fastboot_fail("partition not given", response); return -ENOENT; } - if (raw_part_get_info_by_name(*dev_desc, part_name, part_info) < 0) { - r = part_get_info_by_name_or_alias(*dev_desc, part_name, part_info); - if (r < 0) { - fastboot_fail("partition not found", response); - return r; + ret = part_get_info_by_name_or_alias(dev_desc, part_name, part_info); + if (ret < 0) { + switch (ret) { + case -ENOSYS: + case -EINVAL: + fastboot_fail("invalid partition or device", response); + break; + case -ENODEV: + fastboot_fail("no such device", response); + break; + case -ENOENT: + fastboot_fail("no such partition", response); + break; + case -EPROTONOSUPPORT: + fastboot_fail("unknown partition table type", response); + break; + default: + fastboot_fail("unanticipated error", response); + break; } } - return r; + return ret; +} + +static struct blk_desc *fastboot_mmc_get_dev(char *response) +{ + struct blk_desc *ret = blk_get_dev("mmc", + CONFIG_FASTBOOT_FLASH_MMC_DEV); + + if (!ret || ret->type == DEV_TYPE_UNKNOWN) { + pr_err("invalid mmc device\n"); + fastboot_fail("invalid mmc device", response); + return NULL; + } + return ret; } /** @@ -467,22 +514,19 @@ void fastboot_mmc_flash_write(const char *cmd, void *download_buffer, struct blk_desc *dev_desc; struct disk_partition info; - dev_desc = blk_get_dev("mmc", CONFIG_FASTBOOT_FLASH_MMC_DEV); - if (!dev_desc || dev_desc->type == DEV_TYPE_UNKNOWN) { - pr_err("invalid mmc device\n"); - fastboot_fail("invalid mmc device", response); - return; - } - #ifdef CONFIG_FASTBOOT_MMC_BOOT_SUPPORT if (strcmp(cmd, CONFIG_FASTBOOT_MMC_BOOT1_NAME) == 0) { - fb_mmc_boot_ops(dev_desc, download_buffer, 1, - download_bytes, response); + dev_desc = fastboot_mmc_get_dev(response); + if (dev_desc) + fb_mmc_boot_ops(dev_desc, download_buffer, 1, + download_bytes, response); return; } if (strcmp(cmd, CONFIG_FASTBOOT_MMC_BOOT2_NAME) == 0) { - fb_mmc_boot_ops(dev_desc, download_buffer, 2, - download_bytes, response); + dev_desc = fastboot_mmc_get_dev(response); + if (dev_desc) + fb_mmc_boot_ops(dev_desc, download_buffer, 1, + download_bytes, response); return; } #endif @@ -494,6 +538,10 @@ void fastboot_mmc_flash_write(const char *cmd, void *download_buffer, if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0 || strcmp(cmd, CONFIG_FASTBOOT_MMC_USER_NAME) == 0) { #endif + dev_desc = fastboot_mmc_get_dev(response); + if (!dev_desc) + return; + printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { @@ -517,6 +565,10 @@ void fastboot_mmc_flash_write(const char *cmd, void *download_buffer, #if CONFIG_IS_ENABLED(DOS_PARTITION) if (strcmp(cmd, CONFIG_FASTBOOT_MBR_NAME) == 0) { + dev_desc = fastboot_mmc_get_dev(response); + if (!dev_desc) + return; + printf("%s: updating MBR\n", __func__); if (is_valid_dos_buf(download_buffer)) { printf("%s: invalid MBR - refusing to write to flash\n", @@ -539,19 +591,16 @@ void fastboot_mmc_flash_write(const char *cmd, void *download_buffer, #ifdef CONFIG_ANDROID_BOOT_IMAGE if (strncasecmp(cmd, "zimage", 6) == 0) { - fb_mmc_update_zimage(dev_desc, download_buffer, - download_bytes, response); + dev_desc = fastboot_mmc_get_dev(response); + if (dev_desc) + fb_mmc_update_zimage(dev_desc, download_buffer, + download_bytes, response); return; } #endif - if (raw_part_get_info_by_name(dev_desc, cmd, &info) != 0) { - if (part_get_info_by_name_or_alias(dev_desc, cmd, &info) < 0) { - pr_err("cannot find partition: '%s'\n", cmd); - fastboot_fail("cannot find partition", response); - return; - } - } + if (fastboot_mmc_get_part_info(cmd, &dev_desc, &info, response) < 0) + return; if (is_sparse_image(download_buffer)) { struct fb_mmc_sparse sparse_priv; @@ -594,28 +643,19 @@ void fastboot_mmc_erase(const char *cmd, char *response) lbaint_t blks, blks_start, blks_size, grp_size; struct mmc *mmc = find_mmc_device(CONFIG_FASTBOOT_FLASH_MMC_DEV); - if (mmc == NULL) { - pr_err("invalid mmc device\n"); - fastboot_fail("invalid mmc device", response); - return; - } - - dev_desc = blk_get_dev("mmc", CONFIG_FASTBOOT_FLASH_MMC_DEV); - if (!dev_desc || dev_desc->type == DEV_TYPE_UNKNOWN) { - pr_err("invalid mmc device\n"); - fastboot_fail("invalid mmc device", response); - return; - } - #ifdef CONFIG_FASTBOOT_MMC_BOOT_SUPPORT if (strcmp(cmd, CONFIG_FASTBOOT_MMC_BOOT1_NAME) == 0) { /* erase EMMC boot1 */ - fb_mmc_boot_ops(dev_desc, NULL, 1, 0, response); + dev_desc = fastboot_mmc_get_dev(response); + if (dev_desc) + fb_mmc_boot_ops(dev_desc, NULL, 1, 0, response); return; } if (strcmp(cmd, CONFIG_FASTBOOT_MMC_BOOT2_NAME) == 0) { /* erase EMMC boot2 */ - fb_mmc_boot_ops(dev_desc, NULL, 2, 0, response); + dev_desc = fastboot_mmc_get_dev(response); + if (dev_desc) + fb_mmc_boot_ops(dev_desc, NULL, 1, 0, response); return; } #endif @@ -623,6 +663,10 @@ void fastboot_mmc_erase(const char *cmd, char *response) #ifdef CONFIG_FASTBOOT_MMC_USER_SUPPORT if (strcmp(cmd, CONFIG_FASTBOOT_MMC_USER_NAME) == 0) { /* erase EMMC userdata */ + dev_desc = fastboot_mmc_get_dev(response); + if (!dev_desc) + return; + if (fb_mmc_erase_mmc_hwpart(dev_desc)) fastboot_fail("Failed to erase EMMC_USER", response); else @@ -631,13 +675,8 @@ void fastboot_mmc_erase(const char *cmd, char *response) } #endif - if (raw_part_get_info_by_name(dev_desc, cmd, &info) != 0) { - if (part_get_info_by_name_or_alias(dev_desc, cmd, &info) < 0) { - pr_err("cannot find partition: '%s'\n", cmd); - fastboot_fail("cannot find partition", response); - return; - } - } + if (fastboot_mmc_get_part_info(cmd, &dev_desc, &info, response) < 0) + return; /* Align blocks to erase group size to avoid erasing other partitions */ grp_size = mmc->erase_grp_size; diff --git a/test/dm/fastboot.c b/test/dm/fastboot.c index 8f905d8fa8..e7f8c362b8 100644 --- a/test/dm/fastboot.c +++ b/test/dm/fastboot.c @@ -35,9 +35,12 @@ static int dm_test_fastboot_mmc_part(struct unit_test_state *uts) }, }; - ut_assertok(blk_get_device_by_str("mmc", - __stringify(CONFIG_FASTBOOT_FLASH_MMC_DEV), - &mmc_dev_desc)); + /* + * There are a lot of literal 0s I don't want to have to construct from + * MMC_DEV. + */ + ut_asserteq(0, CONFIG_FASTBOOT_FLASH_MMC_DEV); + ut_assertok(blk_get_device_by_str("mmc", "0", &mmc_dev_desc)); if (CONFIG_IS_ENABLED(RANDOM_UUID)) { gen_rand_uuid_str(parts[0].uuid, UUID_STR_FORMAT_STD); gen_rand_uuid_str(parts[1].uuid, UUID_STR_FORMAT_STD); @@ -59,6 +62,34 @@ static int dm_test_fastboot_mmc_part(struct unit_test_state *uts) &part_info, response)); ut_assertok(env_set(FB_ALIAS_PREFIX "test3", NULL)); + /* "New" partition labels */ + ut_asserteq(1, fastboot_mmc_get_part_info("#test1", &fb_dev_desc, + &part_info, response)); + ut_asserteq(1, fastboot_mmc_get_part_info("0#test1", &fb_dev_desc, + &part_info, response)); + ut_asserteq(1, fastboot_mmc_get_part_info("0.0#test1", &fb_dev_desc, + &part_info, response)); + ut_asserteq(1, fastboot_mmc_get_part_info("0:1", &fb_dev_desc, + &part_info, response)); + ut_asserteq(1, fastboot_mmc_get_part_info("0.0:1", &fb_dev_desc, + &part_info, response)); + ut_asserteq(1, fastboot_mmc_get_part_info("0", &fb_dev_desc, + &part_info, response)); + ut_asserteq(1, fastboot_mmc_get_part_info("0.0", &fb_dev_desc, + &part_info, response)); + ut_asserteq(0, fastboot_mmc_get_part_info("0:0", &fb_dev_desc, + &part_info, response)); + ut_asserteq(0, fastboot_mmc_get_part_info("0.0:0", &fb_dev_desc, + &part_info, response)); + ut_asserteq(0, fastboot_mmc_get_part_info("1", &fb_dev_desc, + &part_info, response)); + ut_asserteq(0, fastboot_mmc_get_part_info("1.0", &fb_dev_desc, + &part_info, response)); + ut_asserteq(1, fastboot_mmc_get_part_info(":1", &fb_dev_desc, + &part_info, response)); + ut_asserteq(0, fastboot_mmc_get_part_info(":0", &fb_dev_desc, + &part_info, response)); + return 0; } DM_TEST(dm_test_fastboot_mmc_part, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT); From patchwork Fri Feb 5 14:39:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1436690 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=rVB4FhPy; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DXJ586mjRz9sRR for ; Sat, 6 Feb 2021 01:41:16 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B715982AD8; Fri, 5 Feb 2021 15:39:58 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="rVB4FhPy"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id EC11C82A9A; Fri, 5 Feb 2021 15:39:36 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS,WEIRD_QUOTING autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on062c.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::62c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1663682A97 for ; Fri, 5 Feb 2021 15:39:30 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F2OryfZNUmDtuLDPFgV2A6b5iGbG2E4y3Ns4n67LNo9o4IuNBeit2r6b2cYViUfWR6usi+2jSLd+0bYAKvquoppDlyNwzbnxgF5M08npPCUB9LZtrrDMc9WkxamnP6ZCwhWxCZhUJYv2rPCbULKRb5n6fIIZd0KYTJW9yd4BIB3byW/NLhHiI1GmRPbkp738aOz90LT801bAeBLpApWG1CJShlQJ/xBKjFMhP6FA6OMQRDDksvH3/RzXk6N18SkGZWsvCwWvSgwVOgVwirFK0B79V/veGlyWyXKAjY+4GYAbZA3N251eOB8dz60saOAlmYXWEHkp7aaaGm3i2c4sMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tr0HoGvQDu263qfQIrFdlvcrgyhUni00Bu8J1xs0wM0=; b=fTix/hsrg/0XArH0EWusgIRG6NgdXk873uFWlWeHC3MYXSaLR1Ylq0LbagQG8Rka2ldBrv3RWX1F21DL4j07Clx4cnlMrGxZN4Jo1mAZTvTozXQ9i1nSMlQr9xzNPaqOHZdbwML6m7J4KSHYsLL8Lqs5JvHFwuKfpykvdqj81EuWRM/q7npr24oGkmcRD0OWzK3FjfhA4DajE2mGvATq0nzFlwmskkryPf47L2LX2ssqnuPw2wE2dCwFXQgCvMk9XYfg4ZEuaa8dR0guT+P9PeJGd7eRkXmEuxtCJMZq+BOAD1ETNnsj2pcGnhl8VSero92TBKQPGPQU+UqKtKr75Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tr0HoGvQDu263qfQIrFdlvcrgyhUni00Bu8J1xs0wM0=; b=rVB4FhPyiljHxwkCRPmRKoXkBUfWZ/H7sPdAQdwFFZYqJSBdE4Az7ifJwQWp1MYfnWceZrRjUzQtBnwVrr7SZaoTcUDl6VQeKWrxMB9djWBLFXPvv0KP3Lhy0kHZLhiv9F9UwwZJgjQGjpWgfeGkJBCpL2xQzzP48J9LDvpiYLo= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=seco.com; Received: from AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) by AM4PR0302MB2787.eurprd03.prod.outlook.com (2603:10a6:200:8e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.23; Fri, 5 Feb 2021 14:39:29 +0000 Received: from AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526]) by AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526%6]) with mapi id 15.20.3825.019; Fri, 5 Feb 2021 14:39:29 +0000 From: Sean Anderson To: u-boot@lists.denx.de Cc: Simon Glass , Lukasz Majewski , Sean Anderson , Heinrich Schuchardt , Sean Anderson Subject: [PATCH v5 09/10] doc: Rename k210 partitions anchor Date: Fri, 5 Feb 2021 09:39:01 -0500 Message-Id: <20210205143902.1819189-10-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210205143902.1819189-1-sean.anderson@seco.com> References: <20210205143902.1819189-1-sean.anderson@seco.com> X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) To AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from plantagenet.inhand.com (50.195.82.171) by BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.15 via Frontend Transport; Fri, 5 Feb 2021 14:39:28 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3e416881-a1ba-4085-d6dd-08d8c9e3d803 X-MS-TrafficTypeDiagnostic: AM4PR0302MB2787: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Si7GSl3vMdqx5WCPXCMUrtcanwrqlOkgJ1BvCPgbLqXNVwLQqa53et2ygYkLFTvwafwX3ESVUSkAuXtvsHNmHCbcNcPlJd+kO5ayy4ECNWP5/seBueRYCPJMNUfMjwfJFXAl2EqQs+x8q8NHIoVBgz+zRo0y06SbhWvBhKspUZo5tj1Soo5iHeykbrypdpDJTaS/O1K8qxVUGICkqzSublmDiXm5Aex6NggPtQ1znFPS7POYDi+32ohB1L74eAgXC41KA2XZ8WNkbs/jzCCsHU76lMLLQqi4ir4+2jUQM0ZUNrIHkMwk8/qthl/Csb4gNliUwr/bfcen+86KTR7ERsXupxgBQfsLbYcXjcz2uSbGBGJ7iRkQah0Qz2731Uk/iYke4VgrN8ZGr9Q1lYbRVGoEzs9UffLfOlCsw8FyeMv5dlcjTkmxAkGB9c24szY/8wC3dVPtx3dAuJOTu8hQVLkdhUmS3WXKpqGJS1EDT3ja8+F5T7gQYy8Wc0stOgNOc/XHUwRyItaurbXc+1khMA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR03MB7251.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(39840400004)(136003)(346002)(376002)(366004)(956004)(6666004)(16526019)(6512007)(1076003)(478600001)(316002)(6506007)(26005)(54906003)(66946007)(52116002)(5660300002)(66476007)(86362001)(8936002)(2906002)(186003)(36756003)(8676002)(6486002)(83380400001)(6916009)(2616005)(4326008)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 1A2xwGxUY8UZjDzqJZtQacZxHaN8xByyEDkJspV8xxYBjvBRxj159aNh7qA2iULK/YF9hD+tKwUQ46wyOWq8cmmpDfZKHBXgXYwyYiWnlgzwVQutrHysPdkUwYeLMRdZYIly/a57f+z8c/XUUiXyc+BKvJRJ75FOawn7LL4vDdn0J8HfUjRFGHR/3EAmBFclb+CtUtLB8EpMGvty3nxKh6TYH0gOX8NY5Gvv7pPkI81bgYK28sdiEJ0velR7ycDMX3EzO2AG59KER5856GAiW/GswHTM87WhmwjQZlg670tBX2T93XqjQUt/vJEsyYLfunJ0/dCJXlzNHUz6vZheHLx9x+DcsL0JEMxX7pwBzfW4bc8+Frn/IgvvLFW3qsb+oA9DpPpe9Kwrp+XNrjJIgO/3La4KmzGHl/TCrD5r3Im9Gkd4ENvbFD3g6IrGY1ZrapUH8V80nocvIJTBCcftMCrvzsDn8K5RmMHEjmL+3EaZGCdkvu60P/UUDEC8YEKoAnw+pNe01GqwZiR9ZNKzoM9y3DsgdlDmZizEQ6uBkH21hsiTEndStbZ1t002X4dF9gGVChL5nVKJARHglveuYWmxQ08cQum7483x37SayMtYgLM1PVtS6+Yd3GLuj7Chsm8STonkDKXR52gqRIfhmurke1ndXWANHLu5CxCJNgAogW39XGyrePL5KfxKLIIRVLX5gm4gtFNBegfEzFH0TNGdu0+0MTdxpAS7+BHvvXx+daJ7m1QiQSqiSbyQKlbpSOxp8FWn+JZbudCsNV1M5f233mmg9Fcu7Q1O9BbsUPp36ZKD24zAqrDJp7nrWAtzCpUJGiXmN16bf8gU46+0k/IYIcVcAOuSRnMA4OGecSgkrttw0ArRnUYRV9RLt93uQWQLi1jeP4MW+2b/9Ra/w4Gd98tuI/iJt+fpLASdBibdaltgGtjxSAu9A6G9j1TP2AQyKwNOBIrJsv8LquWDiJX0isE6+dQgzmQjBVpzTfrcfaD62yK0FKcRi5Ge/ilLjPXbVPy4NILGznphoD1aYU+it4NgR7LEs5hh/2DRQG6PLdBx1jLLDzdp1TBCjOt3wXDl7esHHOYd2R8AoAf+UKH03c5gHmV11uUwuXTIlblyuHb2YzyrNhOvOkgwfhhE3eFXfTqRFHGWr8umtFJ2vB3ChXMDGgk27sZ/v+P3DrJ8fc1e4qWEpbL9zFTHwprV8fHth6R6DtVMi4cYRVIhfcPfNcjADhzgl/CGnB3Cd9Z1iBySEoKvoyng+H2u9Q9djT7Srk6cZMAAyt0Zcf/ctCks+h3mG8hW6ePgsoLn9y5KjVYD/Er2rD8dnLK0VMOr X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3e416881-a1ba-4085-d6dd-08d8c9e3d803 X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7251.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 14:39:29.3905 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LWUM/OXQ2ZVxLqMer49QxiPY6rfLM9Y4UrE0JpETM0UA+XZSWu7d7w7FvaaZv1+e60TZkO0LOebzu8sOra/UjA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0302MB2787 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean This anchor is only for the k210 partition layout, so rename it appropriately. This keeps it from conflicting with the (to be added) anchor for U-Boot partitions in general. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- Changes in v5: - New doc/board/sipeed/maix.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/board/sipeed/maix.rst b/doc/board/sipeed/maix.rst index bf945b3458..ef79297ef0 100644 --- a/doc/board/sipeed/maix.rst +++ b/doc/board/sipeed/maix.rst @@ -258,7 +258,7 @@ SPI Flash """"""""" To load an image off of SPI flash, first set up a partition as described in -:ref:`partitions`. Then, use ``mtd`` to load that partition +:ref:`k210_partitions`. Then, use ``mtd`` to load that partition .. code-block:: none @@ -401,7 +401,7 @@ Sipeed MAIX boards typically provide around 16 MiB of SPI NOR flash. U-Boot is stored in the first 1 MiB or so of this flash. U-Boot's environment is stored at the end of flash. -.. _partitions: +.. _k210_partitions: Partitions """""""""" From patchwork Fri Feb 5 14:39:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1436691 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=qyGtuLtm; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DXJ5M4XP1z9sRR for ; Sat, 6 Feb 2021 01:41:27 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E43B782ADE; Fri, 5 Feb 2021 15:40:00 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="qyGtuLtm"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 05F9882A97; Fri, 5 Feb 2021 15:39:39 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on0608.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::608]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 544DA82A8B for ; Fri, 5 Feb 2021 15:39:32 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C5kWJb52s7jRzhMTsergTGwdxPROTWGkjYvTyb1q9QeIxZWgA5vkPoItN/WkCuFFxtTFvGuYbyeopJQ/bAY8/kfPO1dkZhAct4RYVosWKIs6zQD6nNScmupSBHRbkrulfRYcqK1zkzEvgTqluryuIJcd+u8ECVaQ4sAdS+GpI+BweFaG+pzxy+BQ2J9ndL4flxPuqq4D7B+7XjB+n0tEN6ivjQKNwHeEE6e5TpCd8+EeAArMr452wNa51QsVN74b/UB3O990++0tUnyKQpWQ1m5qF3Jd/r3gjmaxiELAFelg79AxKhw7hxgMgQeJZjkFOHWs+XMzv1e+8odnC9b1aQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AUIxSVKnzz8GAHwGgoI9eyL9oZdvMQA1tPQkaoxuBSM=; b=B81HBeiKiLPKFeVnnwI/Hs8zf4xfLUtMsZfP8sj/momRjeM5x77EGLkc0oD2LDFfEbSiFYJnQMpNLrqTdNulP1df1tdVBWBjMsLFGdUkuomC5qB0uAyJRJ69qAQvY+fTduHw5Y3Vh45gYqb3TNJnXEJ4Yo9IA+BcjxQ6LVjxt+NF9GqAgfpu7lIItZcoATDIK7HNyJJ8yTwhszxJ1ZxP2PdfYT6HNVEJ4hEvavp85Dbi4BAxQOykrUU0H6ZxeJHSqENezb5G+k0as4KMJj7qQhYb4jX9+vTyBb5b3nyfQzTF0g90irNAGa288ESutCqbx/fePZElwFAQQRI7Dl4OOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AUIxSVKnzz8GAHwGgoI9eyL9oZdvMQA1tPQkaoxuBSM=; b=qyGtuLtm+akxw46ctKC33T4Jr4oqPjnlV/e/+oIFaYqKElgtw9qBQYDTwj8ZvXWyK5lbih4Lf9QeJmMnijaWjNRc1S69tc5MtpeHZWtj/MJHZJpjfD4kBDBPHr36crMBEL59lxJ+yw87K0baS+DJwyZcR2qej7EJl9F6AZzZ4po= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=seco.com; Received: from AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) by AM4PR0302MB2787.eurprd03.prod.outlook.com (2603:10a6:200:8e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.23; Fri, 5 Feb 2021 14:39:31 +0000 Received: from AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526]) by AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526%6]) with mapi id 15.20.3825.019; Fri, 5 Feb 2021 14:39:31 +0000 From: Sean Anderson To: u-boot@lists.denx.de Cc: Simon Glass , Lukasz Majewski , Sean Anderson , Filip Brozovic , Heinrich Schuchardt , Marek Szyprowski , =?utf-8?q?Pali_Roh=C3=A1r?= , Patrick Delaunay Subject: [PATCH v5 10/10] doc: Document partition specifications Date: Fri, 5 Feb 2021 09:39:02 -0500 Message-Id: <20210205143902.1819189-11-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210205143902.1819189-1-sean.anderson@seco.com> References: <20210205143902.1819189-1-sean.anderson@seco.com> X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) To AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from plantagenet.inhand.com (50.195.82.171) by BL1PR13CA0001.namprd13.prod.outlook.com (2603:10b6:208:256::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.15 via Frontend Transport; Fri, 5 Feb 2021 14:39:29 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b1caa887-2d0a-4bc3-4b5a-08d8c9e3d8fd X-MS-TrafficTypeDiagnostic: AM4PR0302MB2787: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3ra9pheJQzpbzGMsNkcQSFdtwE0k0Tb5H21h529u5HndJ/D5KNjlc1Jd5xRj3H4uYewYLz/PSG6erGXpiy0GapM7qLiWYSiZ6zeyA0SkHBpcjiHHQvMtHn/h5YJK8iMS89XD4aUg3n73g6ww1JA9m3LjrLqeLnGytmh/EJsuKak+REwZdicQPAZg5xdH1pcca+iBkXh14xt15PmY4YXv1U30CI8ktgix3zQeOzw3SQh0OYnJhkzVaFcJ6DlbhbQ3rwsR7NU84dM7d9pCNa3z/bfbFUQqfnK6BD66LP7xwUkVid8ZiZPaYqKTMBFZ1vAbKNmRDJNdP659sC7Ne1isEZxRC5LKP2VmA2Jv8upENOvM/KrBDirwAwOHrIprKz4BINLaDH+xrJY61zk7r7L5rX6+YCI3fIeRbBeXu72XauS8WISIWuGK0Ws/1bmTxjLnBqZ9+Ja1d2OXGumFs8zFiEfBVAK9H+PujVNNOM5HhZz1r6WAI42poQEO9z9xZuV5TxfjEYrLCJBJEtMpixlKCw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR03MB7251.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(39840400004)(136003)(346002)(376002)(366004)(956004)(6666004)(16526019)(6512007)(1076003)(478600001)(316002)(6506007)(26005)(54906003)(66946007)(52116002)(5660300002)(66476007)(86362001)(8936002)(2906002)(186003)(36756003)(8676002)(6486002)(83380400001)(6916009)(2616005)(4326008)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: j5EQN5GNdDql4R7VoROEg9XDHpLBx4aln+ZGdch98Yh4fk8FwanbBwd4XQG99FEMB8nIbZVMBbZ6HM4GKCYSqZOr6xJmJ/rlMBRQbnD8GmVyM7Ae2gRZ5K7lDdKX+KyFROQj3Ua99ghnrWFA3b5NBzNMeL80cbL/ewNTL3N6NlHHhyf1dRqO3l3q+lNq1gmzhfZoy7v4KWe/fDF3ijm2xNUq83lBU1Eb8gY7DUWxmr0K/AZ9lFnkU02hJs/wXGv2ZJk19vTXn+7iAPSTpGOxWZwhfcEIQoQZoEC13HNoDGc6AXP9lXsI5YlEZL4+wA1EHvlw5c1m4CXGT7Gb6sjYnzwbNcpSif402YfmUJ9jED1cL6Y98RHpux8Tw/lW21UH9fHe3+jit2tbZ1gcdUbMubcosqEPYMfH3Tm/DSeo5gIGpWZzz9Ydav9n9N12iZvHvsvX3z+yj84LXzF2mXWFi2xczN2h6yi8s44LNr7KiMEBG5DIS/7WHBHHFsb8T42zvmA+Qs6+tQMd7n49Clrt1pnJHLQsEk0bVi1Wxk5UjkD7uaOI+DfLSRgNBIT0s8SzwHrFm3b2uS3sl+Td4Fx3Mt3j3fy5E56KaLphiNIxuIiwl8gEF+yItU7CMzlbo4gq8vmUUjPROtql+IStUIQJM+LGJJuWQWbPLCqTiBbY9jyNEoD/cUAyh/+ZoGtChTBo5yRU1JcOboBp4RAXV6Kg9W9Sj+6jDl0CvyGHRXSK9J3EttgKXZz2ud4FAhe4LCoiEzLaGv2l9XtkOaZEQ5bDQo6tPWGn2tfV7XPRDT+A9p7tnMMh3c1B+U8Op/ePxlwPxsH1gP/x11mp3yyTJjZ9o2UOynMWq1ct8MWqYJBr8W9LfC++oByLP0yF3rh2Q//2RemH3JDwKs/oxnI2CraBcqZbvDGZFCLnsSrfsy70P4p9QLHFWpLJe3AFtiw0Zkcj40OF/7hstpwny6iHdO51Bw0c1mV/871eQjK+QVM/RbdpnxRBClpOLJ3GvEAFf8NG2DV5eHGIQmha3bcvUlicbmGxuhcoXzrfjgQQWaF925xfYdtWmDQunnYmsB7UjgZdHFxTfN/nksL/8Y0A9ZM1rTo4W490kUxqrog07IXGNWky1gSpEc5Cp1vZJCcye8dOV9lgt+nNG+bBFYENoX7SuOQIb3xFSJ7aLIByJ/jQ6vM8a7imgTinqXsYeZSgN2kfxQavImq5pqdwFSP4/2WjdwZ3dHDXqq/eqUXD49uA/lHSS2f0sZcyrynayN6I91KR/80176ClZeb5MeUgwvbhS90MXDEfVCcYqP/ByHF/soIhHKoY4YfbHkUnP0dWnTLE X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: b1caa887-2d0a-4bc3-4b5a-08d8c9e3d8fd X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7251.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 14:39:30.9905 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: VWP7ef1aiG7UxrlKUGmGYBFvmvFaCiz28/Ki+GzpHB0z4wp0cOrQRfF5mUKelwPtFAjCD9/R6KzuJiSXqMPF5g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0302MB2787 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean This documents the way U-Boot understands partitions specifications. This also updates the fastboot documentation for the changes in the previous commit. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- Changes in v5: - Fix incorrect heading name Changes in v4: - Expand documentation, making it more man-page-like Changes in v2: - Move partition documentation under doc/usage doc/android/fastboot.rst | 4 ++ doc/usage/index.rst | 1 + doc/usage/partitions.rst | 80 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 doc/usage/partitions.rst diff --git a/doc/android/fastboot.rst b/doc/android/fastboot.rst index 16b11399b3..ce513a2a0f 100644 --- a/doc/android/fastboot.rst +++ b/doc/android/fastboot.rst @@ -154,6 +154,10 @@ The device index starts from ``a`` and refers to the interface (e.g. USB controller, SD/MMC controller) or disk index. The partition index starts from ``1`` and describes the partition number on the particular device. +Alternatively, partition types may be specified using :ref:`U-Boot's partition +syntax `. This allows specifying partitions like ``0.1``, +``0#boot``, or ``:3``. The interface is always ``mmc``. + Writing Partition Table ----------------------- diff --git a/doc/usage/index.rst b/doc/usage/index.rst index 83cfbafd90..d45467caf2 100644 --- a/doc/usage/index.rst +++ b/doc/usage/index.rst @@ -6,6 +6,7 @@ Use U-Boot fdt_overlays netconsole + partitions Shell commands -------------- diff --git a/doc/usage/partitions.rst b/doc/usage/partitions.rst new file mode 100644 index 0000000000..2c1a12b6bf --- /dev/null +++ b/doc/usage/partitions.rst @@ -0,0 +1,80 @@ +.. SPDX-License-Identifier: GPL-2.0+ +.. _partitions: + +Partitions +========== + +Synopsis +-------- + +:: + + [devnum][.hwpartnum][:partnum|#partname] + +Description +----------- + +Many U-Boot commands allow specifying partitions (or whole disks) using a +generic syntax. + +interface + The interface used to access the partition's device, like ``mmc`` or + ``scsi``. For a full list of supported interfaces, consult the + ``if_typename_str`` array in ``drivers/block/blk-uclass.c`` + +devnum + The device number. This defaults to 0. + +hwpartnum + The hardware partition number. All devices have at least one hardware + partition. On most devices, hardware partition 0 specifies the whole + device. On eMMC devices, hardware partition 0 is the user partition, + hardware partitions 1 and 2 are the boot partitions, hardware partition + 3 is the RPMB partition, and further partitions are general-purpose + user-created partitions. The default hardware partition number is 0. + +partnum + The partition number, starting from 1. The partition number 0 specifies + that the whole device is to be used as one "partition." + +partname + The partition name. This is the partition label for GPT partitions. For + MBR partitions, the following syntax is used:: + + + + devtype + A device type like ``mmcsd`` or ``hd``. See the + ``part_set_generic_name`` function in ``disk/part.c`` for a + complete list. + + devletter + The device number as an offset from ``a``. For example, device + number 2 would have a device letter of ``c``. + + partnum + The partition number. This is the same as above. + +If neither ``partname`` nor ``partnum`` is specified and there is a partition +table, then partition 1 is used. If there is no partition table, then the whole +device is used as one "partition." If none of ``devnum``, ``hwpartnum``, +``partnum``, or ``partname`` is specified, or only ``-`` is specified, then +``devnum`` defaults to the value of the ``bootdevice`` environmental variable. + +Examples +-------- + +List the root directory contents on MMC device 2, hardware partition 1, +and partition number 3:: + + ls mmc 2.1:3 / + +Load ``/kernel.itb`` to address ``0x80000000`` from SCSI device 0, hardware partition +0, and the partition labeled ``boot``:: + + load scsi #boot 0x80000000 /kernel.itb + +Print the partition UUID of the SATA device ``$bootdevice``, hardware partition +0, and partition number 0:: + + part uuid sata -