From patchwork Sun Apr 28 08:51:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Wunderlich X-Patchwork-Id: 1092193 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="kcU15nar"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44sM531pMxz9s7T for ; Sun, 28 Apr 2019 18:53:11 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id C1D01C21E36; Sun, 28 Apr 2019 08:52:53 +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 43F31C21E2F; Sun, 28 Apr 2019 08:51:55 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 05089C21C4A; Sun, 28 Apr 2019 08:51:51 +0000 (UTC) Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by lists.denx.de (Postfix) with ESMTPS id A9B9BC21C27 for ; Sun, 28 Apr 2019 08:51:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1556441510; bh=upH7xZ445lSHcdKMw2UQeWwzmBV4JLFVT/4d3CYph28=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=kcU15narWwZkpFb+Fyte0iI4wq1C7/0DyRbYyQvmaF2HExmjxq67LL4WUaw7mT03l mBzCUa+hE5PgCzPtUbH6LYMcws2966aUBfBlQnQLo5ntOm0N8UV+SWMUpn/WAJtBn4 LFPl+Ptt8DfGS0IvHXFZ1ahZASc0fAtUgp5UwgDk= 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 0MAxyW-1hSL221RW0-009zfE; Sun, 28 Apr 2019 10:51:50 +0200 From: Frank Wunderlich To: u-boot@lists.denx.de, Simon Goldschmidt Date: Sun, 28 Apr 2019 10:51:26 +0200 Message-Id: <20190428085128.8479-3-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:4f/2IsxNkwYRGjsfNx7ONXFSW+ZKzGGQcfipqYnO/72m4lQlqK3 KdCAes6l5igmLX8+lugboJYzEHkmURE4RZcJCSSTNhZlbh04xiAJ6D0IwaS3Pj6wTfuNQ7O E5bKYTY82gP2vT/+dFQIe92Fwu8WCtjWL08BDbdeq3Z1eWziCLWm1xk0vViQgWcLxAJT5EK we69yq8J97ENIXGRxshtA== X-UI-Out-Filterresults: notjunk:1; V03:K0:jfOfpyjwyQo=:1JMuvNWKXJr7gOri/JIY0e dLYPe1hSU7yDEECxZ+2uVei+lXzJMfYjjnn4pRSxZiGTYEHh8s9rMVBK6d8q9QPgIz0mUVZlW 68WVHH4ywMfhlPNLgLfh/0Nrb3bqAhe0BudHHB1SgHLdq0N/kgGtbpUKILENAMxbNdah8klaw wpBMlTeXh+gInnYky8MTlMrdFOwvsk2+k/0l8SB73ihe94R+pl2xdvHL+tBkCCuX+klNMUo0l Msr7Bg14gbu+H+5cnaJXUm7f9STjZc6bl9gro4own6qFQZbncSmWx8Ol8My5cyKwIF4YGDR3v QwLkCPKIJ1SAWp6lRtTSs8ZZlBih3m5digw/7KYkfjO+4BS1iL1TgJo7kaDCCFwsjrmlYtbcm ZFxvDMRgaAB1iCOwgNnBzfh832JRHguDqFBJNhSrw088aPxZi3Bg64Zr7cBchPrU9YLK9QrC3 lAOocb6Ucx/NsNrvgVCi+yIhXokHoaYgOP8L9nyvdREdGni5uNBhBT3ztaTXQDwhJbol1+C3Y NUlSaJKZRfT2703tlXyfXFa//m7dEjByv83oAgdSxozuFMiMDMOvQNewND763J+PgykLWOhqh RVZ5DbR1X8KZOmD6yG7xQQtQMNR9zQzcTMI90Wq/FBoufwOZfNEetKMtBzs5PhYmeJceFKzKY L9+6L+YQ9Hup1Z7hZAqgjyR2AfeAwyAcxXrThlPu0N9elgmfrLgN+cKmA/GFoRwA0mvJf6p35 ++Jdig5vS+pjM93jyFYn3743uV41EXMmhtMSMVfmFAGzVmu5mi5e5KMqIlHgMBH1tVV00BAQi f7sci3+vb1NmouvqQ0oIanHIk8q5Q6TJGBlNbxsP4lMG89aKUIeWKuEw1WOgqxr2WDRuGZ4Iu /uFPriK2TYaTF3TqkqVapCTH7lKbcyFAhZAebRGKMSZcLM/jfW2HNAqT2wvcU0 Subject: [U-Boot] [PATCH v4 2/4] env: mmc: add erase-function 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" this adds erase environment for mmc storage Signed-off-by: Frank Wunderlich squashed fixes: - fix bogus indent - add CONFIG_CMD_ERASEENV Suggested-by: Simon Goldschmidt --- env/mmc.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) -- 2.17.1 diff --git a/env/mmc.c b/env/mmc.c index c3cf35d01b..9ae9b1a66a 100644 --- a/env/mmc.c +++ b/env/mmc.c @@ -242,6 +242,34 @@ fini: fini_mmc_for_env(mmc); return ret; } + +#if defined(CONFIG_CMD_ERASEENV) +static int env_mmc_erase(void) +{ + int dev = mmc_get_env_dev(); + struct mmc *mmc = find_mmc_device(dev); + int n, blk, cnt; + + if (!mmc) + return CMD_RET_FAILURE; + + 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", + dev, blk, blk * mmc->read_bl_len, + cnt, cnt * mmc->read_bl_len); + + if (mmc_getwp(mmc) == 1) { + printf("Error: card is write protected!\n"); + return CMD_RET_FAILURE; + } + n = blk_derase(mmc_get_blk_desc(mmc), blk, cnt); + printf("%d blocks erased: %s\n", n, (n == cnt) ? "OK" : "ERROR"); + + return (n == cnt) ? CMD_RET_SUCCESS : CMD_RET_FAILURE; +} +#endif /* CONFIG_CMD_ERASEENV */ #endif /* CONFIG_CMD_SAVEENV && !CONFIG_SPL_BUILD */ static inline int read_env(struct mmc *mmc, unsigned long size, @@ -351,5 +379,8 @@ U_BOOT_ENV_LOCATION(mmc) = { .load = env_mmc_load, #ifndef CONFIG_SPL_BUILD .save = env_save_ptr(env_mmc_save), +#if defined(CONFIG_CMD_ERASEENV) + .erase = env_mmc_erase, +#endif #endif };