Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2226062/?format=api
{ "id": 2226062, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2226062/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-mtd/patch/20260422070203.698716-3-linchengming884@gmail.com/", "project": { "id": 3, "url": "http://patchwork.ozlabs.org/api/1.2/projects/3/?format=api", "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": "<20260422070203.698716-3-linchengming884@gmail.com>", "list_archive_url": null, "date": "2026-04-22T07:02:02", "name": "[v9,2/3] mtd: spi-nand: Add support for randomizer", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "98441073e3dceb20fb3ee32eb8110884378cfafa", "submitter": { "id": 88631, "url": "http://patchwork.ozlabs.org/api/1.2/people/88631/?format=api", "name": "Cheng Ming Lin", "email": "linchengming884@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-mtd/patch/20260422070203.698716-3-linchengming884@gmail.com/mbox/", "series": [ { "id": 500931, "url": "http://patchwork.ozlabs.org/api/1.2/series/500931/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-mtd/list/?series=500931", "date": "2026-04-22T07:02:00", "name": "mtd: spi-nand: Add support for randomizer feature", "version": 9, "mbox": "http://patchwork.ozlabs.org/series/500931/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2226062/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2226062/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=47iH4wZ9;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=cXLuSmBk;\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 4g0qvP6tSvz1yHB\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 17:03:45 +1000 (AEST)", "from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wFRcV-00000009hD1-37ic;\n\tWed, 22 Apr 2026 07:03:35 +0000", "from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wFRcT-00000009hBs-2enq\n\tfor linux-mtd@lists.infradead.org;\n\tWed, 22 Apr 2026 07:03:34 +0000", "by mail-pf1-x42f.google.com with SMTP id\n d2e1a72fcca58-82f8bf96b46so2523602b3a.2\n for <linux-mtd@lists.infradead.org>;\n Wed, 22 Apr 2026 00:03:32 -0700 (PDT)", "from twhmp6px (mxsmtp211.mxic.com.tw. [211.75.127.162])\n by smtp.gmail.com with ESMTPSA id\n d2e1a72fcca58-82f8e981829sm19411466b3a.12.2026.04.22.00.03.30\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 22 Apr 2026 00:03:30 -0700 (PDT)", "from hqs-appsw-a2o.mp600.macronix.com (unknown [172.17.236.67])\n\tby twhmp6px (Postfix) with ESMTPS id 23E63416A045;\n\tWed, 22 Apr 2026 15:03:28 +0800 (CST)" ], "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:MIME-Version:References:In-Reply-To:\n\tMessage-Id:Date:Subject:Cc:To: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=M5KKIk8gF5ueQdpu8DqCXmAJEsciz5D+NeHX6/+DUvQ=; b=47iH4wZ99dRNp/\n\tfPIATnrnfCSKLJNTAkoTHEew9qzodTgWjzf9gqGWrc+8JA9OlHu/E0swGDwBsU4ZZ+CnpdEqPJNKm\n\tGI4Zc4UGGhc9SC6Yr/w/G8zBSM1BcIhOXc8jCZEJOGPIE5C/DQjbU9stFnsbgiwRqn9gJdscMsSEm\n\tHFDc+SCo+PLRAZOkgF//I/AE9WvmSVEF4CoDwQzKnBG5h7GvDE8P3HhJDyYcOheuJUlodzn8U6Rkm\n\tGiCKSoP4PEMw5DQgW/uw0oCEeA53xZzS3r/j7/HkTcz5fQqlBCsDThte/44wVlDOLMtLM9hheYK3s\n\tcd/5l5+7TeS816JbrZFg==;", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1776841412; x=1777446212;\n darn=lists.infradead.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=mSXRoXNyL2G9tTF3pCq4QLzdSdaD1DteZMo7+cFocEo=;\n b=cXLuSmBkt5MpVkBTU1fNvkyR4TjyhD/Jos8zS+J8JfF835D5S+U31i60CHbg1BLSL0\n NkQB8fASkDlb8slsf5UaYqfD1GPtfRz0Z0da4+6h882cqdMIxHGynl9wU8AH0quBv/1j\n 1XQfgjhV3knNOP5Iif7ZRY6hXfRdykOw/XEQg0nwB4G9ywbiFpILVJaD+WUCRY9/VIQQ\n Ws7f2/jXsnNEgCN5ghCTAnamVirw3cJfBlm+F1dunozYQ19etoHtnsXqLdbjYhbYUmdR\n M5hUknydXDD+TGO4DaMMp4BEEhGEwNKYWfYUrPStoM3YXgBsM0hDfXiEhbrHQyy8hJBO\n jSBw==" ], "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776841412; x=1777446212;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=mSXRoXNyL2G9tTF3pCq4QLzdSdaD1DteZMo7+cFocEo=;\n b=dql9GLW7f/2RKeQ41hGsHCpH5ctixYwF7I0ZWIibLhJKV/1lf9DV9/M31ehxUbwxso\n GsnVEYFu1Oap7Qu0ntC883iVDzkPFjfvgHKiuCB4MWmE77gMovG9gTXQXvNVQmp6iftm\n HEjltjPNMlbCl7+peYNg7Lrnl8Ts+I8wV/zDJ4k6TzodGauFsPZ/9T4njsLBoYWfN7lE\n DimwMMR5FYQf6Dmr+p+quuOsYYyJ3qWpP/lZMTAIhpQe+AiV3BXfduQbE2CSLXCBblzk\n H+pgkgLucOdCBm3s0RTcI7OJcrSewNRCeVwphjWOeI/pH4GVSbMxnP6dfBkpJLDH8sbn\n aVsg==", "X-Gm-Message-State": "AOJu0YyXWCksvYpx88UAPdafsPyIwhZzcg0Ne41SQgfzyZA1YAYk3pOL\n\tGmuR+OeZTFut+fM4q5Vy5qhm4K0nP6JN6kmzlgwuMADstnMrObp2s+kl", "X-Gm-Gg": "AeBDiet8fDmvi1k7PAfxdoECczMlllEohOnNXSY5IIHn1ZR+JZME05+cC3OW8OJfixZ\n\t5WFuESCv89bKsq2gpQcEQxJhrP281ib8dX0OGBNzePhNO8Hkud4NnjehqJfap07YYITUzLsXt1e\n\tsIiZ/nVhe0qJgn7fuKm1NKGK0RJypJbt36YQU38MTH1pDvqTEfB2bphXP5++CjloSdJf40afBAu\n\tlam0YeTRM0ROrQNDn4YJ0p1B+XHmsjBgRkvkTzkWcfHRv3bkk9RLjIQAfsPczSJkOOSSiK3ifUb\n\thYQWxu/oe4Mf3A8+Fo9p0a1Uxqjr+D10fIr90U7IpL98ce9MwwY8kwDDi96iaAwQDQVL6nvgXMZ\n\tinTF9FgIaB648AybCKJ36/OS06QemUTyUDeSAq6L3KXehHnRtinDgy+oo1XN37Bx6VJi77iSJlF\n\t+No9Crhz5l/eGqH3yJpnXw1AoEUgUxQmJvSoYdn55rHOIGWZiNIJFeAlkn", "X-Received": "by 2002:a05:6a00:3498:b0:820:2f9b:fe31 with SMTP id\n d2e1a72fcca58-82f8c8bede5mr18881373b3a.30.1776841412109;\n Wed, 22 Apr 2026 00:03:32 -0700 (PDT)", "From": "Cheng Ming Lin <linchengming884@gmail.com>", "To": "miquel.raynal@bootlin.com,\n\trichard@nod.at,\n\tvigneshr@ti.com,\n\trobh@kernel.org,\n\tkrzk+dt@kernel.org,\n\tconor+dt@kernel.org", "Cc": "linux-mtd@lists.infradead.org,\n\tdevicetree@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\talvinzhou@mxic.com.tw,\n\tCheng Ming Lin <chengminglin@mxic.com.tw>", "Subject": "[PATCH v9 2/3] mtd: spi-nand: Add support for randomizer", "Date": "Wed, 22 Apr 2026 15:02:02 +0800", "Message-Id": "<20260422070203.698716-3-linchengming884@gmail.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20260422070203.698716-1-linchengming884@gmail.com>", "References": "<20260422070203.698716-1-linchengming884@gmail.com>", "MIME-Version": "1.0", "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ", "X-CRM114-CacheID": "sfid-20260422_000333_679832_4FC96D61 ", "X-CRM114-Status": "GOOD ( 16.23 )", "X-Spam-Score": "-1.8 (-)", "X-Spam-Report": "Spam detection software,\n running on the system \"bombadil.infradead.org\",\n has NOT identified this incoming email as spam. The original\n message has been attached to this so you can view it or label\n similar future email. If you have any questions, see\n the administrator of that system for details.\n Content preview: From: Cheng Ming Lin This patch adds support for the\n randomizer\n feature. It introduces a 'set_randomizer' callback in 'struct\n spinand_info'\n and 'struct spinand_device'.\n Content analysis details: (-1.8 points, 5.0 required)\n pts rule name description\n ---- ----------------------\n --------------------------------------------------\n -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no\n trust\n [2607:f8b0:4864:20:0:0:0:42f listed in]\n [list.dnswl.org]\n -0.0 SPF_PASS SPF: sender matches SPF record\n 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record\n -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from\n envelope-from domain\n -0.1 DKIM_VALID Message has at least one valid DKIM or DK\n signature\n -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from\n author's\n domain\n 0.1 DKIM_SIGNED Message has a DKIM or DK signature,\n not necessarily valid\n -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1%\n [score: 0.0000]\n 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail\n provider\n [linchengming884(at)gmail.com]\n 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in\n digit\n [linchengming884(at)gmail.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": "From: Cheng Ming Lin <chengminglin@mxic.com.tw>\n\nThis patch adds support for the randomizer feature.\n\nIt introduces a 'set_randomizer' callback in 'struct spinand_info' and\n'struct spinand_device'.\n\nIf a driver implements this callback, the core will invoke it during\ndevice initialization (spinand_init) to enable or disable the randomizer\nfeature based on the device tree configuration.\n\nSigned-off-by: Cheng Ming Lin <chengminglin@mxic.com.tw>\n---\n drivers/mtd/nand/spi/core.c | 20 ++++++++++++++++++++\n include/linux/mtd/spinand.h | 9 +++++++++\n 2 files changed, 29 insertions(+)", "diff": "diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c\nindex 8aa3753aa..fee9a024d 100644\n--- a/drivers/mtd/nand/spi/core.c\n+++ b/drivers/mtd/nand/spi/core.c\n@@ -1307,6 +1307,22 @@ static int spinand_create_dirmaps(struct spinand_device *spinand)\n \treturn 0;\n }\n \n+static int spinand_randomizer_init(struct spinand_device *spinand)\n+{\n+\tstruct device_node *np = spinand->spimem->spi->dev.of_node;\n+\tu32 rand_val;\n+\tint ret;\n+\n+\tif (!spinand->set_randomizer)\n+\t\treturn 0;\n+\n+\tret = of_property_read_u32(np, \"nand-randomizer\", &rand_val);\n+\tif (ret)\n+\t\treturn 0;\n+\n+\treturn spinand->set_randomizer(spinand, rand_val == 1);\n+}\n+\n static const struct nand_ops spinand_ops = {\n \t.erase = spinand_erase,\n \t.markbad = spinand_markbad,\n@@ -1594,6 +1610,7 @@ int spinand_match_and_init(struct spinand_device *spinand,\n \t\tspinand->user_otp = &table[i].user_otp;\n \t\tspinand->read_retries = table[i].read_retries;\n \t\tspinand->set_read_retry = table[i].set_read_retry;\n+\t\tspinand->set_randomizer = table[i].set_randomizer;\n \n \t\t/* I/O variants selection with single-spi SDR commands */\n \n@@ -1881,6 +1898,9 @@ static int spinand_init(struct spinand_device *spinand)\n \t * ECC initialization must have happened previously.\n \t */\n \tspinand_cont_read_init(spinand);\n+\tret = spinand_randomizer_init(spinand);\n+\tif (ret)\n+\t\tgoto err_cleanup_nanddev;\n \n \tmtd->_read_oob = spinand_mtd_read;\n \tmtd->_write_oob = spinand_mtd_write;\ndiff --git a/include/linux/mtd/spinand.h b/include/linux/mtd/spinand.h\nindex 58abd306e..9ec45b727 100644\n--- a/include/linux/mtd/spinand.h\n+++ b/include/linux/mtd/spinand.h\n@@ -585,6 +585,7 @@ enum spinand_bus_interface {\n * @user_otp: SPI NAND user OTP info.\n * @read_retries: the number of read retry modes supported\n * @set_read_retry: enable/disable read retry for data recovery\n+ * @set_randomizer: enable/disable randomizer support\n *\n * Each SPI NAND manufacturer driver should have a spinand_info table\n * describing all the chips supported by the driver.\n@@ -613,6 +614,8 @@ struct spinand_info {\n \tunsigned int read_retries;\n \tint (*set_read_retry)(struct spinand_device *spinand,\n \t\t\t unsigned int read_retry);\n+\tint (*set_randomizer)(struct spinand_device *spinand,\n+\t\t\t bool enable);\n };\n \n #define SPINAND_ID(__method, ...)\t\t\t\t\t\\\n@@ -669,6 +672,9 @@ struct spinand_info {\n \t.read_retries = __read_retries,\t\t\t\t\t\\\n \t.set_read_retry = __set_read_retry\n \n+#define SPINAND_RANDOMIZER(__set_randomizer)\t\t\t\t\\\n+\t.set_randomizer = __set_randomizer\n+\n #define SPINAND_INFO(__model, __id, __memorg, __eccreq, __op_variants,\t\\\n \t\t __flags, ...)\t\t\t\t\t\\\n \t{\t\t\t\t\t\t\t\t\\\n@@ -754,6 +760,7 @@ struct spinand_mem_ops {\n * @user_otp: SPI NAND user OTP info.\n * @read_retries: the number of read retry modes supported\n * @set_read_retry: Enable/disable the read retry feature\n+ * @set_randomizer: Enable/disable the randomizer feature\n */\n struct spinand_device {\n \tstruct nand_device base;\n@@ -787,6 +794,8 @@ struct spinand_device {\n \tbool cont_read_possible;\n \tint (*set_cont_read)(struct spinand_device *spinand,\n \t\t\t bool enable);\n+\tint (*set_randomizer)(struct spinand_device *spinand,\n+\t\t\t bool enable);\n \n \tconst struct spinand_fact_otp *fact_otp;\n \tconst struct spinand_user_otp *user_otp;\n", "prefixes": [ "v9", "2/3" ] }