{"id":2219645,"url":"http://patchwork.ozlabs.org/api/patches/2219645/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-mtd/patch/20260403-winbond-v6-18-rc1-spi-nor-swp-v4-23-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-23-833dab5e7288@bootlin.com>","list_archive_url":null,"date":"2026-04-03T16:09:41","name":"[v4,23/27] mtd: spi-nor: winbond: Add W25H01NWxxAM CMP locking support","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"e6c643e284ff9cf48697bf1e09eb873818e7f281","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-23-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/2219645/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2219645/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=2yU7NTgu;\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=OV7HG/cv;\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=tbAxAZ/V;\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 4fnNxN55h0z1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 04 Apr 2026 03:10:48 +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 1w8h6Y-00000002Hw2-0UPo;\n\tFri, 03 Apr 2026 16:10:42 +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 1w8h6U-00000002Hq0-2okf\n\tfor linux-mtd@bombadil.infradead.org;\n\tFri, 03 Apr 2026 16:10:38 +0000","from smtpout-02.galae.net ([185.246.84.56])\n\tby casper.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w8h6O-0000000Egk1-3lyU\n\tfor linux-mtd@lists.infradead.org;\n\tFri, 03 Apr 2026 16:10:37 +0000","from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233])\n\tby smtpout-02.galae.net (Postfix) with ESMTPS id 907C81A312D;\n\tFri,  3 Apr 2026 16:10:31 +0000 (UTC)","from mail.galae.net (mail.galae.net [212.83.136.155])\n\tby smtpout-01.galae.net (Postfix) with ESMTPS id 65B30603C1;\n\tFri,  3 Apr 2026 16:10:31 +0000 (UTC)","from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon)\n with ESMTPSA id E783B104500FB;\n\tFri,  3 Apr 2026 18:10:28 +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=47ZXpCf7/2hKjAupRAaKLbgmB7lzZS9NGhuLUWtJJnQ=; b=2yU7NTguh6Q5aU\n\tPgF6NSLq7GjilI5n6dxkSIA4Lu79tdnqzdfKDt/9zVuX47rT1vc62gDDTyAA49IyGnx4pC7ar3T69\n\tpcG0gVFLVjG6FLlRO/WmgyslexcM/WyEe5cnqA9Of/Dvuf1E501WCUc/LiUxwE1TIiQsT5qbBhzmD\n\tmSLTgNXiFAJuxCMYsOFo8/6UnhizFS2+iLUjCHn868wdy2Zx47tf1j6s8Fi7cau6B5O5VYwa71eRc\n\txz3fAukh+JmeW3S2nN6RLifCOdkJRanWOYBFIMGqNhVLcSzfXz5T8lAZNtlesi2VaHz1lWFqZ7JaX\n\toONG3dp7NebZI8RDdrLQ==;","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=yhH+eLu6fxqdAQZiuioR7i/D/pMDWxpaQ3+CJS2/QWU=; b=OV7HG/cvHwPdwKgYDF9dbEjKIH\n\txpCEOiV4p4Zn9/hLkzdAPUCsnt1L8ohv3R8NeTWkkiY2nbG9gLKJHGXjkUI+UVpv27vHOyvOa22tV\n\tFBiyIDYn7oe7Xj/2IG4Fqj3XANAujlfAfRGdM1mdaEcmJIaa+vGwLaM16/qS/tUh5K63B8VAYBGt+\n\thVAG69BAyJT7Bp9RdLB51sP+s8BlOL5kWkwH2m8/FzBT+/IZ2k9yaCYb+bl0M+7AqLaHdYsNUf/wj\n\tJOTpZosEyPtiZ3JWFDX5irmcz7VDlhkYqAEVEdJO965kFKAYJFy2QQHLBg9jqFEW0/HmMS7d8LQMZ\n\tua/qFxRA==;","v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim;\n\tt=1775232630; h=from:subject:date:message-id:to:cc:mime-version:content-type:\n\t content-transfer-encoding:in-reply-to:references;\n\tbh=yhH+eLu6fxqdAQZiuioR7i/D/pMDWxpaQ3+CJS2/QWU=;\n\tb=tbAxAZ/VAzy8IwFmhTTzqwRSl+g4GlfVzdSfv9xI4hU/wuFm+qnHf9r0c4JtQ6LGOI8PJ2\n\tozPkom7cEawzaD6No7+oJIrw7qdZOKJW5jSPg9tAn0ayc/Ra/1M0JjFqPwTFlAfROKUkzD\n\tOx2BeqJIbdqoJB1WBWvdxc5YwUxzYVIikyRLMvmi9D19ZeGlUM8KYad7yI7J3CZIf8xPfp\n\t2G+z0834XE4cu8O0fjPqcVkooIzEv/TjdzzkgE6Su4Ntfnf1O+DDB+mHq5agNT4gG+IqvI\n\tGxe9XIWC/16RnoN+X+wYuWQy1eR8rg6P02229wTzjVofkrvUmi6CzK4ZqTpi3w=="],"From":"Miquel Raynal <miquel.raynal@bootlin.com>","Date":"Fri, 03 Apr 2026 18:09:41 +0200","Subject":"[PATCH v4 23/27] mtd: spi-nor: winbond: Add W25H01NWxxAM CMP\n locking support","MIME-Version":"1.0","Message-Id":"\n <20260403-winbond-v6-18-rc1-spi-nor-swp-v4-23-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_171033_047390_6A2F4727 ","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 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.84.56 listed in\n bl.score.senderscore.com]\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.84.56 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.84.56 listed in sa-accredit.habeas.com]\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]","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":"This chip has support for the locking complement (CMP) feature. Add\nthe relevant bit to enable it.\n\nSigned-off-by: Miquel Raynal <miquel.raynal@bootlin.com>\n---\nTest run with W25H01NWxxAM:\n$ flash_lock -u /dev/mtd0\n$ flash_lock -l /dev/mtd0 $bs $all_but_one # all but the first\n$ show_sectors\nlocked sectors\n region (in hex)   | status   | #blocks\n ------------------+----------+--------\n 00000000-0000ffff | unlocked | 1\n 00010000-07ffffff |   locked | 2047\n$ flash_lock -u /dev/mtd0 $bs 1 # all but the two first\n$ show_sectors\nlocked sectors\n region (in hex)   | status   | #blocks\n ------------------+----------+--------\n 00000000-0001ffff | unlocked | 2\n 00020000-07ffffff |   locked | 2046\n$ flash_lock -u /dev/mtd0\n$ flash_lock -l /dev/mtd0 0 $all_but_one # same from the other side\n$ show_sectors\nlocked sectors\n region (in hex)   | status   | #blocks\n ------------------+----------+--------\n 00000000-07feffff |   locked | 2047\n 07ff0000-07ffffff | unlocked | 1\n$ flash_lock -u /dev/mtd0 $(($size - (2 * $bs))) 1 # all but two\n$ show_sectors\nlocked sectors\n region (in hex)   | status   | #blocks\n ------------------+----------+--------\n 00000000-07fdffff |   locked | 2046\n 07fe0000-07ffffff | unlocked | 2\n---\n drivers/mtd/spi-nor/winbond.c | 3 ++-\n 1 file changed, 2 insertions(+), 1 deletion(-)","diff":"diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c\nindex 7609dcc768f0..1b9b0e9598ef 100644\n--- a/drivers/mtd/spi-nor/winbond.c\n+++ b/drivers/mtd/spi-nor/winbond.c\n@@ -363,7 +363,8 @@ static const struct flash_info winbond_nor_parts[] = {\n \t}, {\n \t\t/* W25H01NWxxAM */\n \t\t.id = SNOR_ID(0xef, 0xa0, 0x21),\n-\t\t.flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB | SPI_NOR_TB_SR_BIT6 | SPI_NOR_4BIT_BP,\n+\t\t.flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB | SPI_NOR_TB_SR_BIT6 |\n+\t\t\t SPI_NOR_4BIT_BP | SPI_NOR_HAS_CMP,\n \t}, {\n \t\t/* W25H02NWxxAM */\n \t\t.id = SNOR_ID(0xef, 0xa0, 0x22),\n","prefixes":["v4","23/27"]}