Cover Letter Detail
Show a cover letter.
GET /api/covers/1877710/?format=api
{ "id": 1877710, "url": "http://patchwork.ozlabs.org/api/covers/1877710/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-mtd/cover/cover.1702952891.git.daniel@makrotopia.org/", "project": { "id": 3, "url": "http://patchwork.ozlabs.org/api/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": "<cover.1702952891.git.daniel@makrotopia.org>", "list_archive_url": null, "date": "2023-12-19T02:31:44", "name": "[v7,0/7] mtd: ubi: allow UBI volumes to provide NVMEM", "submitter": { "id": 64091, "url": "http://patchwork.ozlabs.org/api/people/64091/?format=api", "name": "Daniel Golle", "email": "daniel@makrotopia.org" }, "mbox": "http://patchwork.ozlabs.org/project/linux-mtd/cover/cover.1702952891.git.daniel@makrotopia.org/mbox/", "series": [ { "id": 387243, "url": "http://patchwork.ozlabs.org/api/series/387243/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-mtd/list/?series=387243", "date": "2023-12-19T02:32:00", "name": "mtd: ubi: allow UBI volumes to provide NVMEM", "version": 7, "mbox": "http://patchwork.ozlabs.org/series/387243/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/1877710/comments/", "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=af1K26sh;\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 4SvLMs6mVtz23yx\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 19 Dec 2023 13:33:13 +1100 (AEDT)", "from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux))\n\tid 1rFPu9-00Cag1-2D;\n\tTue, 19 Dec 2023 02:32:36 +0000", "from pidgin.makrotopia.org ([185.142.180.65])\n\tby bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux))\n\tid 1rFPtz-00CaeF-2I\n\tfor linux-mtd@lists.infradead.org;\n\tTue, 19 Dec 2023 02:32:14 +0000", "from local\n\tby pidgin.makrotopia.org with esmtpsa (TLS1.3:TLS_AES_256_GCM_SHA384:256)\n\t (Exim 4.96.2)\n\t(envelope-from <daniel@makrotopia.org>)\n\tid 1rFPte-0008Gy-2m;\n\tTue, 19 Dec 2023 02:31:52 +0000" ], "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:Message-ID:Subject:To:From\n\t:Date:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From:\n\tResent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:\n\tList-Owner; bh=YGEn8hLl+EdXOAtnnfKpeHhLYWbdaUiu7y5y1+0bGcg=; b=af1K26shC8t3Pc\n\t1oJlFHSiBWCp0wWCdqttydtxByXoSuCItZXKNf7pGV3PDD+GChkIKPmCaBHs1lpM9nj6Pf8ii17h/\n\tXzz0yBxCNxhFD3NaKNw9XMN3PLWZ4t6hK8SxGUzBb9xwMHv0sla4Lg59L055quhG9emu9g1Ytk6W4\n\tUTEk0noy/MEZ2vDRd+9kfHKv0mnwgRnOloU+6Vy/RCGhEUs6R8sJMH4MQ5+yLp+dHyz+a1ZKh/P7u\n\tN/iu7Jv8ubAtLY7v2DktywJWRU/uVMwGr8kvhd4HmcfN0x92LY69peX0yRYfAr8Ag+3YCfuvRgf1F\n\tUgyYGcB56123FgTajFBQ==;", "Date": "Tue, 19 Dec 2023 02:31:44 +0000", "From": "Daniel Golle <daniel@makrotopia.org>", "To": "Miquel Raynal <miquel.raynal@bootlin.com>,\n Richard Weinberger <richard@nod.at>, Vignesh Raghavendra <vigneshr@ti.com>,\n Rob Herring <robh+dt@kernel.org>,\n Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,\n Conor Dooley <conor+dt@kernel.org>, Daniel Golle <daniel@makrotopia.org>,\n\t=?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= <zajec5@gmail.com>,\n linux-mtd@lists.infradead.org, devicetree@vger.kernel.org,\n linux-kernel@vger.kernel.org", "Subject": "[PATCH v7 0/7] mtd: ubi: allow UBI volumes to provide NVMEM", "Message-ID": "<cover.1702952891.git.daniel@makrotopia.org>", "MIME-Version": "1.0", "Content-Disposition": "inline", "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ", "X-CRM114-CacheID": "sfid-20231218_183211_775804_DA672415 ", "X-CRM114-Status": "GOOD ( 22.15 )", "X-Spam-Score": "0.0 (/)", "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: Similar to how MAC addresses and Wi-Fi calibration data\n would\n be stored inside an MTD partition on devices coming with NOR flash, a UBI\n volume is used by some vendors in the same way on devices with N [...]\n Content analysis details: (0.0 points, 5.0 required)\n pts rule name description\n ---- ----------------------\n --------------------------------------------------\n -0.0 SPF_PASS SPF: sender matches SPF record\n 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record", "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": "Similar to how MAC addresses and Wi-Fi calibration data would be\nstored inside an MTD partition on devices coming with NOR flash, a UBI\nvolume is used by some vendors in the same way on devices with NAND\nflash.\n\nThe goal of this series is to support such embedded Linux devices which\ngot NVMEM bits stored inside a UBI volume.\n\nRepresenting the UBI volume in the Device Tree and adding a phandle to\nbe referenced by NVMEM consumers allows such devices to come up with\ntheir correct MAC addresses and device-specific Wi-Fi calibration data\nloaded.\n\nIn order for NVMEM bits to be available for other drivers, attaching\nUBI devices has to be moved from late_initcall (which is too late for\nother drivers) to happen earlier. As an alternative to the existing\nkernel cmdline parameter the Device Tree property 'compatible =\n\"linux,ubi\";' inside an MTD partition can be used to have that MTD\ndevice attached as UBI device. MTD partitions which serve as UBI\ndevices may have a \"volumes\" subnode with volumes, and volumes may\nhave an \"nvmem-layout\" object which will trigger the creation of an\nemulated NVMEM device on top of the UBI volume.\n\nIn this way, other drivers (think: Ethernet, Wi-Fi) can resolve and\nacquire NVMEM bits using the usual device tree phandle, just this time\nthe NVMEM content is read from a UBI volume.\n\nThis series is a follow-up and contains most patches of the previous\nseries \"mtd: ubi: behave like a good MTD citizen\"[1] which was meant in\npreparation for implementing the NVMEM provider.\n\n[1]: https://patchwork.ozlabs.org/project/linux-mtd/list/?series=353177&state=%2A&archive=both\n\nChanges since v6:\n * dt-bindings fixes got squashed into the wrong patch, fix that and\n newly introduced YAML white space issues\n\nChanges since v5:\n * fix whitespace problems in dt-schema additions\n\nChanges since v4:\n * split ubi_open_volume_path() breaking out reusable parts for\n new match_volume_desc() function as suggested by Richard Weinberger.\n Doing the same for ubi_open_volume_nm() doesn't work as we are working\n on struct ubi_volume_info in match_volume_desc() while ubi_open_volume_nm()\n is working on struct ubi_volume. That reduces the common part to a string\n comparision and length check which doesn't seem worth breaking out of the\n existing function.\n * drop patches and changes not strictly needed for NVMEM use-case:\n - don't handle ubi detach on MTD removal notification. It was not done\n until now and the locking hell I was facing when trying to implement\n that is non trivial.\n - don't relocate the call to ubiblock device creation to the\n notification handler\n - change ubiblock only as far as needed to handle creation from cmdline\n parameter when a volume is added.\n * improve commit messages and comments\n\nChanges since v3:\n * dt-bindings fixes as requested\n\nChanges since v2:\n * include dt-bindings additions\n\nChanges since v1:\n * include patch to fix exiting Kconfig formatting issues\n * fix typo and indentation in Kconfig\n\n\n\nDaniel Golle (7):\n dt-bindings: mtd: add basic bindings for UBI\n dt-bindings: mtd: ubi-volume: allow UBI volumes to provide NVMEM\n mtd: ubi: block: use notifier to create ubiblock from parameter\n mtd: ubi: attach from device tree\n mtd: ubi: introduce pre-removal notification for UBI volumes\n mtd: ubi: populate ubi volume fwnode\n mtd: ubi: provide NVMEM layer over UBI volumes\n\n .../bindings/mtd/partitions/linux,ubi.yaml | 75 +++++++\n .../bindings/mtd/partitions/ubi-volume.yaml | 40 ++++\n drivers/mtd/ubi/Kconfig | 12 ++\n drivers/mtd/ubi/Makefile | 1 +\n drivers/mtd/ubi/block.c | 136 ++++++-------\n drivers/mtd/ubi/build.c | 154 ++++++++++----\n drivers/mtd/ubi/kapi.c | 56 ++++--\n drivers/mtd/ubi/nvmem.c | 188 ++++++++++++++++++\n drivers/mtd/ubi/ubi.h | 3 +\n drivers/mtd/ubi/vmt.c | 44 +++-\n include/linux/mtd/ubi.h | 2 +\n 11 files changed, 579 insertions(+), 132 deletions(-)\n create mode 100644 Documentation/devicetree/bindings/mtd/partitions/linux,ubi.yaml\n create mode 100644 Documentation/devicetree/bindings/mtd/partitions/ubi-volume.yaml\n create mode 100644 drivers/mtd/ubi/nvmem.c" }