{"id":2219644,"url":"http://patchwork.ozlabs.org/api/patches/2219644/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-mtd/patch/20260403-winbond-v6-18-rc1-spi-nor-swp-v4-15-833dab5e7288@bootlin.com/","project":{"id":3,"url":"http://patchwork.ozlabs.org/api/projects/3/?format=json","name":"Linux MTD development","link_name":"linux-mtd","list_id":"linux-mtd.lists.infradead.org","list_email":"linux-mtd@lists.infradead.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260403-winbond-v6-18-rc1-spi-nor-swp-v4-15-833dab5e7288@bootlin.com>","list_archive_url":null,"date":"2026-04-03T16:09:33","name":"[v4,15/27] mtd: spi-nor: swp: Cosmetic changes","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"ff8ac70f965aa7669ad88678e0f4d7c30495edf5","submitter":{"id":73368,"url":"http://patchwork.ozlabs.org/api/people/73368/?format=json","name":"Miquel Raynal","email":"miquel.raynal@bootlin.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-mtd/patch/20260403-winbond-v6-18-rc1-spi-nor-swp-v4-15-833dab5e7288@bootlin.com/mbox/","series":[{"id":498652,"url":"http://patchwork.ozlabs.org/api/series/498652/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-mtd/list/?series=498652","date":"2026-04-03T16:09:18","name":"mtd: spi-nor: Enhance software protection","version":4,"mbox":"http://patchwork.ozlabs.org/series/498652/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2219644/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2219644/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=lists.infradead.org header.i=@lists.infradead.org\n header.a=rsa-sha256 header.s=bombadil.20210309 header.b=Jf0DGxzM;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256\n header.s=casper.20170209 header.b=FHA02KzR;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=bootlin.com header.i=@bootlin.com header.a=rsa-sha256\n header.s=dkim header.b=eDOTYLgi;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=none (no SPF record) smtp.mailfrom=lists.infradead.org\n (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org;\n envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n [IPv6:2607:7c80:54:3::133])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fnNxF0sXSz1yCs\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 04 Apr 2026 03:10:41 +1100 (AEDT)","from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w8h6P-00000002HkC-3izU;\n\tFri, 03 Apr 2026 16:10:33 +0000","from casper.infradead.org ([2001:8b0:10b:1236::1])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w8h6L-00000002HcD-0sv0\n\tfor linux-mtd@bombadil.infradead.org;\n\tFri, 03 Apr 2026 16:10:29 +0000","from smtpout-03.galae.net ([185.246.85.4])\n\tby casper.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w8h6D-0000000Egcu-1Azl\n\tfor linux-mtd@lists.infradead.org;\n\tFri, 03 Apr 2026 16:10:27 +0000","from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233])\n\tby smtpout-03.galae.net (Postfix) with ESMTPS id 7BE204E428D6;\n\tFri,  3 Apr 2026 16:10:13 +0000 (UTC)","from mail.galae.net (mail.galae.net [212.83.136.155])\n\tby smtpout-01.galae.net (Postfix) with ESMTPS id 531D2603C1;\n\tFri,  3 Apr 2026 16:10:13 +0000 (UTC)","from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon)\n with ESMTPSA id DF6DF10450103;\n\tFri,  3 Apr 2026 18:10:10 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id\n\t:MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=alQDtBK3JLXrqAQYpfaJrWv9oVL7jZQMyuH1WVNobUo=; b=Jf0DGxzMJIOjp1\n\tq4ZatPnsEOekwgtQzGtDOLhL0rTeH4ExTCHCx9jUO23e78xohvcLTN36fvwFWhR/TZTEWQbxDk7XX\n\t7k9igNGbgiobcAUMqvrJHUZ5KUIdHje6IgrBcBsc49XOahhfeWwopLcP8jRPgARtnwIyeo0tAdVmG\n\tyi2y4yIL9Yt6BrPbRwDtRRWBguvOYFqZEo7NGAGuYt7xv8JP/XalRCruMDECmxzxhwbQD3P/xRwV4\n\tyfJjT/OdIYhrBXLEsoMe4u1UhSDSvpW5Ako9c0IwhQg/U8Y32rsLgLYZIaYMYrsn1Xh7z4KItYkj3\n\tLX4w1Sj7S9ADmtTITqYQ==;","v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=infradead.org; s=casper.20170209; h=Cc:To:In-Reply-To:References:Message-Id\n\t:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date:From:Sender\n\t:Reply-To:Content-ID:Content-Description;\n\tbh=xR38gyrQC5XhhjYq85zVZxA7ePkj9xFcfqojI3JaBuI=; b=FHA02KzR2N+RJAiWJwNO1jsfJ0\n\tkU6M8HpCbp9APPx1SOnmevxoyiskhmjsAVgMslBXXHYTVJzmqAQckws9641rAqvcGzmLloKhZe+gI\n\t/2ah02sPfCYi+hoeNF3wFZBSELlqPDDAsLnwRjUFECxEZaAegfTfc9WRtxG46T76nJfZRlDSZlMqR\n\tahReKwGy3FBk4QT3M1tz/wQhEs3+ffg9FdiHEJuG4FZKdEf/mkWiRrhmNqSLPt/gyD/S1Xwl590Bv\n\tC16K5zM9LEzO0Lhlh7M5OVL3Eap156u7vsfYcchGRY6kfu0tcONK2f3j5bFDOvGQ85S2ALUYkqmqd\n\tJ3BtAljg==;","v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim;\n\tt=1775232612; h=from:subject:date:message-id:to:cc:mime-version:content-type:\n\t content-transfer-encoding:in-reply-to:references;\n\tbh=xR38gyrQC5XhhjYq85zVZxA7ePkj9xFcfqojI3JaBuI=;\n\tb=eDOTYLgib43BSK2VON0gYT0KXJz2WSOkmHGSSDQ2r/2MGo3XMbch10FjMtO65399sOrHM7\n\tz6hPRz67qFQ85k+pkDOBtC1NCUugEtFbRdafrXG7y8IKefi7tsbO639VCKeecvfxQwJJ0Y\n\tk2ZkadLgedtepXWbg6YQO3gqvyWbfmZ/k2hVMjmNwcYzorQhxcVIvgQ5bSpxq4knllLkbF\n\t9nBQRO1KbIzuG5Jn3kXK1PAnaAVxSf4lDKmr1kUoacBQYFLHtIjsa9fMZwop7PYyNG1PMq\n\tGI4f88DJfELXfxthQOOtfH18boC62941FnPXsRwcEp2Y7//ZAR4oJ26vblMSug=="],"From":"Miquel Raynal <miquel.raynal@bootlin.com>","Date":"Fri, 03 Apr 2026 18:09:33 +0200","Subject":"[PATCH v4 15/27] mtd: spi-nor: swp: Cosmetic changes","MIME-Version":"1.0","Message-Id":"\n <20260403-winbond-v6-18-rc1-spi-nor-swp-v4-15-833dab5e7288@bootlin.com>","References":"\n <20260403-winbond-v6-18-rc1-spi-nor-swp-v4-0-833dab5e7288@bootlin.com>","In-Reply-To":"\n <20260403-winbond-v6-18-rc1-spi-nor-swp-v4-0-833dab5e7288@bootlin.com>","To":"Pratyush Yadav <pratyush@kernel.org>, Michael Walle <mwalle@kernel.org>,\n Takahiro Kuwano <takahiro.kuwano@infineon.com>,\n Richard Weinberger <richard@nod.at>, Vignesh Raghavendra <vigneshr@ti.com>,\n Jonathan Corbet <corbet@lwn.net>","Cc":"Sean Anderson <sean.anderson@linux.dev>,\n Thomas Petazzoni <thomas.petazzoni@bootlin.com>,\n Steam Lin <STLin2@winbond.com>, linux-mtd@lists.infradead.org,\n linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,\n Miquel Raynal <miquel.raynal@bootlin.com>","X-Mailer":"b4 0.14.3","X-Last-TLS-Session-Version":"TLSv1.3","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20260403_171021_405030_652AD6AB ","X-CRM114-Status":"GOOD (  10.87  )","X-Spam-Score":"-2.1 (--)","X-Spam-Report":"SpamAssassin version 4.0.1 on casper.infradead.org summary:\n Content analysis details:   (-2.1 points, 5.0 required)\n  pts rule name              description\n ---- ----------------------\n --------------------------------------------------\n -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record\n -0.0 SPF_PASS               SPF: sender matches SPF record\n  0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n not necessarily valid\n -0.1 DKIM_VALID             Message has at least one valid DKIM or DK\n signature\n -0.1 DKIM_VALID_EF          Message has a valid DKIM or DK signature from\n                             envelope-from domain\n -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from\n author's\n                             domain\n -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n                             [score: 0.0000]\n  0.0 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED RBL: ADMINISTRATOR NOTICE: The\n                             query to Validity was blocked.  See\n                             https://knowledge.validity.com/hc/en-us/articles/20961730681243\n                              for more information.\n                           [185.246.85.4 listed in\n sa-trusted.bondedsender.org]\n  0.0 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to\n                              Validity was blocked.  See\n                             https://knowledge.validity.com/hc/en-us/articles/20961730681243\n                              for more information.\n                             [185.246.85.4 listed in sa-accredit.habeas.com]\n  0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to\n                              Validity was blocked.  See\n                             https://knowledge.validity.com/hc/en-us/articles/20961730681243\n                              for more information.\n                             [185.246.85.4 listed in bl.score.senderscore.com]","X-BeenThere":"linux-mtd@lists.infradead.org","X-Mailman-Version":"2.1.34","Precedence":"list","List-Id":"Linux MTD discussion mailing list <linux-mtd.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-mtd>,\n <mailto:linux-mtd-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-mtd/>","List-Post":"<mailto:linux-mtd@lists.infradead.org>","List-Help":"<mailto:linux-mtd-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-mtd>,\n <mailto:linux-mtd-request@lists.infradead.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-mtd\" <linux-mtd-bounces@lists.infradead.org>","Errors-To":"linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"},"content":"As a final preparation step for the introduction of CMP support, make\na few more cosmetic changes to simplify the reading of the diff when\nadding the CMP feature. In particular, define \"min_prot_len\" earlier as\nit will be reused and move the definition of the \"ret\" variable at the\nend of the stack just because it looks better.\n\nSigned-off-by: Miquel Raynal <miquel.raynal@bootlin.com>\n---\n drivers/mtd/spi-nor/swp.c | 19 +++++++------------\n 1 file changed, 7 insertions(+), 12 deletions(-)","diff":"diff --git a/drivers/mtd/spi-nor/swp.c b/drivers/mtd/spi-nor/swp.c\nindex c45a9ddd5788..c3dbc8832025 100644\n--- a/drivers/mtd/spi-nor/swp.c\n+++ b/drivers/mtd/spi-nor/swp.c\n@@ -195,14 +195,14 @@ static int spi_nor_build_sr(struct spi_nor *nor, const u8 *old_sr, u8 *new_sr,\n  */\n static int spi_nor_sr_lock(struct spi_nor *nor, loff_t ofs, u64 len)\n {\n-\tu64 min_prot_len;\n-\tint ret;\n+\tu64 min_prot_len = spi_nor_get_min_prot_length_sr(nor);\n \tu8 status_old[1] = {}, status_new[1] = {};\n \tloff_t ofs_old, ofs_new;\n \tu64 len_old, len_new;\n \tloff_t lock_len;\n \tbool can_be_top = true, can_be_bottom = nor->flags & SNOR_F_HAS_SR_TB;\n \tbool use_top;\n+\tint ret;\n \tu8 pow;\n \n \tret = spi_nor_read_sr(nor, nor->bouncebuf);\n@@ -236,12 +236,10 @@ static int spi_nor_sr_lock(struct spi_nor *nor, loff_t ofs, u64 len)\n \telse\n \t\tlock_len = ofs + len;\n \n-\tif (lock_len == nor->params->size) {\n+\tif (lock_len == nor->params->size)\n \t\tpow = (nor->flags & SNOR_F_HAS_4BIT_BP) ? GENMASK(3, 0) : GENMASK(2, 0);\n-\t} else {\n-\t\tmin_prot_len = spi_nor_get_min_prot_length_sr(nor);\n+\telse\n \t\tpow = ilog2(lock_len) - ilog2(min_prot_len) + 1;\n-\t}\n \n \tret = spi_nor_build_sr(nor, status_old, status_new, pow, use_top);\n \tif (ret)\n@@ -281,7 +279,7 @@ static int spi_nor_sr_lock(struct spi_nor *nor, loff_t ofs, u64 len)\n  */\n static int spi_nor_sr_unlock(struct spi_nor *nor, loff_t ofs, u64 len)\n {\n-\tu64 min_prot_len;\n+\tu64 min_prot_len = spi_nor_get_min_prot_length_sr(nor);\n \tint ret;\n \tu8 status_old[1], status_new[1];\n \tloff_t ofs_old, ofs_new;\n@@ -329,14 +327,11 @@ static int spi_nor_sr_unlock(struct spi_nor *nor, loff_t ofs, u64 len)\n \telse\n \t\tlock_len = ofs;\n \n-\tif (lock_len == 0) {\n+\tif (lock_len == 0)\n \t\tpow = 0; /* fully unlocked */\n-\t} else {\n-\t\tmin_prot_len = spi_nor_get_min_prot_length_sr(nor);\n+\telse\n \t\tpow = ilog2(lock_len) - ilog2(min_prot_len) + 1;\n \n-\t}\n-\n \tret = spi_nor_build_sr(nor, status_old, status_new, pow, use_top);\n \tif (ret)\n \t\treturn ret;\n","prefixes":["v4","15/27"]}