From patchwork Fri Oct 23 08:52:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roman Kovalivskyi X-Patchwork-Id: 1386601 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; dmarc=pass (p=reject dis=none) header.from=globallogic.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=globallogic.com header.i=@globallogic.com header.a=rsa-sha256 header.s=google header.b=N5o068VD; 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 4CHdKd4SMvz9sT6 for ; Fri, 23 Oct 2020 19:52:53 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 61EAB82495; Fri, 23 Oct 2020 10:52:44 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=globallogic.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=globallogic.com header.i=@globallogic.com header.b="N5o068VD"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 81E2182483; Fri, 23 Oct 2020 10:52:41 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 6469782456 for ; Fri, 23 Oct 2020 10:52:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=globallogic.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=roman.kovalivskyi@globallogic.com Received: by mail-lj1-x235.google.com with SMTP id m20so736066ljj.5 for ; Fri, 23 Oct 2020 01:52:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=globallogic.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=HkvUySe+iCRfdnNXa33nZSOcvUAQrVd3W3lZ4uwNQBE=; b=N5o068VDrzJ5hqxn1hL4gfXDqmAkdKtKfQgQWhcd3YjToeL7FP3ocAMR3dIO2W82Jh CejABT6TK4oFDlBpJ24AFZFRAuPnBNwNT4gGMQuobZjLU9sAEfwOchhjPI94TMmfsB3t c8hQQnZhURw9EnizWT1RsjuUzxRMFW2Pjgm6D8Ucuwg7BmCjle8frXuJN3cPvGDEYYMS utU+4svxvvYuFvTYnrv2De3/9hdjlhv6OjsKdMAo73vOY4BzWm8iaiJifsfHbg653Vr7 O+T7UUv+9rt3Oi0zP5c3qm0TEggsu5PFKVKNuVfn1+EI2cHZKj6fYlvNyj3pO0+nagjO 4qkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=HkvUySe+iCRfdnNXa33nZSOcvUAQrVd3W3lZ4uwNQBE=; b=qZr/8X6MtxUZV/W+eEiEZf4w7WRv4aV2FqYG0ySi/KYhwOyV6A11bAP7dedrOj4kag DBSUKl6r5yWKHAGxlzeWuvI5RoCZuxt53ZJfq5zBjq35gCIWPZoC3osRW7mEwTCY3ZNC zNMOKxOyPST054XZ+lXSlF3es/fMTcn4RNVeAUwfY1qWQmBDkKrwM1hqasMx2K/TIjGN mJlwKruYhfn+i76SdCSbv5BU6nqB2s+G0M96jTi3dIfNm4skRpkEvS++/QEZG6Ljp8YB 4VNanCworJRm4DU6+g1Iyh1HhDmb8CiycRE6kIx6hYbREZXfspP5OB2yyl5PrxTv58uI H8iw== X-Gm-Message-State: AOAM532kmg2Hmlg6QTU12EvlcMVsSG9AIHRJqOmUJKlnlo1XfIB+b/Me kBySoUGPkJYzGoykdnTaNpfZQ2z8v4v62Q== X-Google-Smtp-Source: ABdhPJy5l/KvtymgezSP5r1+UreiNRa9O/WW6niXYqB0hDSyvOaV6EMZwKDbJ7nE0cWcYRBn8qOlJw== X-Received: by 2002:a05:651c:112c:: with SMTP id e12mr493543ljo.42.1603443157551; Fri, 23 Oct 2020 01:52:37 -0700 (PDT) Received: from user-HP-ZBook-14u-G4.synapse.com ([159.224.5.60]) by smtp.googlemail.com with ESMTPSA id f184sm74564lfd.253.2020.10.23.01.52.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Oct 2020 01:52:37 -0700 (PDT) From: Roman Kovalivskyi To: u-boot@lists.denx.de Cc: Roman Stratiienko , Joe Hershberger , Roman Kovalivskyi , Simon Glass , Marek Vasut , Lukasz Majewski , Eugeniu Rosca , Alex Kiernan , Sam Protsenko , Neil Armstrong , Philipp Tomsich , Kever Yang , Paul Kocialkowski , Lokesh Vutla , Jagan Teki , Miquel Raynal , Boris Brezillon , Tom Rini , Igor Opaniuk , Aleksandr Bulyshchenko Subject: [RESEND 1/7] cmd: bcb: Extract '__bcb_load' from 'do_bcb_load' for internal needs Date: Fri, 23 Oct 2020 11:52:19 +0300 Message-Id: <267a7467167c43abb1e72c08df7a0c07cd20b6fa.1603442753.git.roman.kovalivskyi@globallogic.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: 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 From: Eugeniu Rosca Enriching the functionality of U-Boot 'bcb' may assume using the existing sub-commands as building blocks for the next ones. A clean way to achive the above is to expose a number of static routines, each mapped to an existing user command (e.g. load/set/store), with a user/caller-friendly prototype (i.e. do not force the caller to wrap an integer into a string). This first patch makes '__bcb_load' available for internal needs. No functional change, except for a tiny update in error handling. Signed-off-by: Eugeniu Rosca Signed-off-by: Roman Kovalivskyi --- cmd/bcb.c | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/cmd/bcb.c b/cmd/bcb.c index e03218066bf2..2ed8b801a3e2 100644 --- a/cmd/bcb.c +++ b/cmd/bcb.c @@ -110,8 +110,7 @@ static int bcb_field_get(char *name, char **fieldp, int *sizep) return 0; } -static int do_bcb_load(struct cmd_tbl *cmdtp, int flag, int argc, - char *const argv[]) +static int __bcb_load(int devnum, const char *partp) { struct blk_desc *desc; struct disk_partition info; @@ -119,17 +118,19 @@ static int do_bcb_load(struct cmd_tbl *cmdtp, int flag, int argc, char *endp; int part, ret; - ret = blk_get_device_by_str("mmc", argv[1], &desc); - if (ret < 0) + desc = blk_get_devnum_by_type(IF_TYPE_MMC, devnum); + if (!desc) { + ret = -ENODEV; goto err_read_fail; + } - part = simple_strtoul(argv[2], &endp, 0); + part = simple_strtoul(partp, &endp, 0); if (*endp == '\0') { ret = part_get_info(desc, part, &info); if (ret) goto err_read_fail; } else { - part = part_get_info_by_name(desc, argv[2], &info); + part = part_get_info_by_name(desc, partp, &info); if (part < 0) { ret = part; goto err_read_fail; @@ -151,10 +152,10 @@ static int do_bcb_load(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_SUCCESS; err_read_fail: - printf("Error: mmc %s:%s read failed (%d)\n", argv[1], argv[2], ret); + printf("Error: mmc %d:%s read failed (%d)\n", devnum, partp, ret); goto err; err_too_small: - printf("Error: mmc %s:%s too small!", argv[1], argv[2]); + printf("Error: mmc %d:%s too small!", devnum, partp); goto err; err: bcb_dev = -1; @@ -163,6 +164,20 @@ err: return CMD_RET_FAILURE; } +static int do_bcb_load(struct cmd_tbl *cmdtp, int flag, int argc, + char * const argv[]) +{ + char *endp; + int devnum = simple_strtoul(argv[1], &endp, 0); + + if (*endp != '\0') { + printf("Error: Device id '%s' not a number\n", argv[1]); + return CMD_RET_FAILURE; + } + + return __bcb_load(devnum, argv[2]); +} + static int do_bcb_set(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) {