From patchwork Sun Apr 28 08:51:27 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Wunderlich X-Patchwork-Id: 1092194 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=public-files.de Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="SqPXO6Ps"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sM5t6rBHz9s7T for ; Sun, 28 Apr 2019 18:53:54 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 9EE4AC21E77; Sun, 28 Apr 2019 08:53:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id BB379C21DA1; Sun, 28 Apr 2019 08:51:55 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id EC557C21E02; Sun, 28 Apr 2019 08:51:52 +0000 (UTC) Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by lists.denx.de (Postfix) with ESMTPS id 114FAC21C27 for ; Sun, 28 Apr 2019 08:51:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1556441511; bh=Iuul5sxp0GVXVAXTpLkLTyb7hesetEK2kSt/yJo8czI=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=SqPXO6PsSnyjL3NWXANz1VIFOOOy79AD4R1EJjlyuAgqVPuH2GJh9ViVmOgIdAZw2 W8RCM/Z81J9tp6tmxR0EgglU5vXm6puwz2osw2AySHd4ADJ7tXTVFj6SHb7k7M3KLV ahHpi3ndTSdp3BVgfWaYRZcJJx9xrCOOiu2HyJRc= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([217.61.149.89]) by mail.gmx.com (mrgmx001 [212.227.17.190]) with ESMTPSA (Nemesis) id 0LkPBT-1go4k81d3z-00cUFT; Sun, 28 Apr 2019 10:51:51 +0200 From: Frank Wunderlich To: u-boot@lists.denx.de, Simon Goldschmidt Date: Sun, 28 Apr 2019 10:51:27 +0200 Message-Id: <20190428085128.8479-4-frank-w@public-files.de> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190428085128.8479-1-frank-w@public-files.de> References: <20190428085128.8479-1-frank-w@public-files.de> X-Provags-ID: V03:K1:09dEc3flBRVOwr3dmUR3IaL55BOZuo7rvPo14sCuTVW9/YmgfAU gNerCyhD/hq2YNPIXdpNNKrb6SccksTohicKSmf5cpPzXklG7qXRuQdPmuCY/asPF/+yjYi 4MLe/n9bgfosgXcIFLt14wAK5hOGsQ++3xdrrS6X1DgIyFFZ1fjdRs/6E3giDTwsKmVd2Ac cn+B+NtxdRZvMgnMmKKeA== X-UI-Out-Filterresults: notjunk:1; V03:K0:ZT1olC9Me+w=:+hatCmkQ5h+WkM6D0oMOgb x0DTMETzrdMfcNR1CVF1KmkeSs54tsTG4KciNVqKTdqOTBI5J87uWp6SfMvbfV/Hn4KANZZa2 WF2gsZy9LuygxFIhwVL337BrmpdGwl7uan3qTbY9JVS52XzN3WdKUTSaqooNrtyebcWsKT7uS DztDZirx0x640ywr+XK/5eIc1Fh4A2QmxR5OrAMA60iTZq8d+t3IVNhdnlCFwJ5lfD2pzaITl yKD2B0m2ZLBClHAqTjnznoV0KMHfrkxbm2BpEd53L6Q9wdIOvYCRlX8fdjA1OdorWGGgWXDD0 jjkty+LQcH5UZSJR40gvpK3rbLLHBNU5oVJyYFTY6sZru+L5sznyBWRHBmgdD4rH+pmk6+4hr wcBZeqohgYjmYwjqfitmSGTx9zhRQVZagJ/wFmaR5CGHlRALNf0GQwi+diN4tua0biOeDQV/6 /xOGsRMd1vzEPnSyhiVRJYJTWdpyL6F01470M8SqRjGspdmCEPlFFJyXb6Go0prkRqw/X/0CG 4qSvvNvEn8ZzEsaXuttdyUKgDJkki1cYqwkeZZDWByfq/iuiXjdsD9ELrKbjkK78teAVyjVpb /2OCelX9ItG2BGm4rXcoSanx2zNTlpPPi87q3wbHhGxpTrqs0tNLuTp+Ll8bLp6Zkk/UaBMus YYcRLU5/U+vCyuThNrL214SBZtXkScGUIV1hXKVdAWqumYRNqCVMgkwV+dyjsLjYLFNhVREW0 blskkonA41liosZu0px9WfkUS3mbYl5HMFDjBoYR1F+6UywspeQVXfc3NUjIevwP9h90wWZOg iFYbSo9CPYpBa0F9fB589XF5CQSnajA0GqW5r0iSQvXIlV17kCgQIJs3DLuSNsDaltDBlHgyi FNd6plQopu76Ve5/TP6G3gCSApU1HXugbFqtLAiYgSUOkxc7Q++N4d86ilkamB Subject: [U-Boot] [PATCH v4 3/4] env: add option to use redundant offset X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" allow env erase on secondary offset using CONFIG_ENV_OFFSET_REDUND Suggested-by: Simon Goldschmidt Signed-off-by: Frank Wunderlich --- cmd/nvedit.c | 2 +- env/env.c | 4 ++-- env/mmc.c | 9 +++++++-- include/environment.h | 4 ++-- 4 files changed, 12 insertions(+), 7 deletions(-) -- 2.17.1 diff --git a/cmd/nvedit.c b/cmd/nvedit.c index 0cbd8e8984..2071bcf443 100644 --- a/cmd/nvedit.c +++ b/cmd/nvedit.c @@ -766,7 +766,7 @@ U_BOOT_CMD( static int do_env_erase(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { - return env_erase() ? 1 : 0; + return env_erase(false) ? 1 : 0; } U_BOOT_CMD( eraseenv, 1, 0, do_env_erase, diff --git a/env/env.c b/env/env.c index d3cbe2f915..bf7f3b9684 100644 --- a/env/env.c +++ b/env/env.c @@ -256,7 +256,7 @@ int env_save(void) return -ENODEV; } -int env_erase(void) +int env_erase(bool use_redund) { struct env_driver *drv; @@ -271,7 +271,7 @@ int env_erase(void) return -ENODEV; printf("Erasing Environment on %s... ", drv->name); - ret = drv->erase(); + ret = drv->erase(use_redund); if (ret) printf("Failed (%d)\n", ret); else diff --git a/env/mmc.c b/env/mmc.c index 9ae9b1a66a..647bc693fa 100644 --- a/env/mmc.c +++ b/env/mmc.c @@ -244,7 +244,7 @@ fini: } #if defined(CONFIG_CMD_ERASEENV) -static int env_mmc_erase(void) +static int env_mmc_erase(bool use_redund) { int dev = mmc_get_env_dev(); struct mmc *mmc = find_mmc_device(dev); @@ -253,7 +253,12 @@ static int env_mmc_erase(void) if (!mmc) return CMD_RET_FAILURE; - blk = CONFIG_ENV_OFFSET / mmc->read_bl_len; +#ifdef CONFIG_ENV_OFFSET_REDUND + if (use_redund) + blk = CONFIG_ENV_OFFSET_REDUND / mmc->read_bl_len; + else +#endif + blk = CONFIG_ENV_OFFSET / mmc->read_bl_len; cnt = CONFIG_ENV_SIZE / mmc->read_bl_len; printf("\nMMC erase env: dev # %d, block # %d (0x%x), count %d (0x%x)\n", diff --git a/include/environment.h b/include/environment.h index de67cf4f0e..a823948da2 100644 --- a/include/environment.h +++ b/include/environment.h @@ -233,7 +233,7 @@ struct env_driver { * * @return 0 if OK, -ve on error */ - int (*erase)(void); + int (*erase)(bool use_redund); /** * init() - Set up the initial pre-relocation environment @@ -318,7 +318,7 @@ int env_save(void); * * @return 0 if OK, -ve on error */ -int env_erase(void); +int env_erase(bool use_redund); /** * env_fix_drivers() - Updates envdriver as per relocation