From: Daniel Golle <daniel@makrotopia.org>
To: "Jens Axboe" <axboe@kernel.dk>,
"Ulf Hansson" <ulf.hansson@linaro.org>,
"Miquel Raynal" <miquel.raynal@bootlin.com>,
"Richard Weinberger" <richard@nod.at>,
"Vignesh Raghavendra" <vigneshr@ti.com>,
"Dave Chinner" <dchinner@redhat.com>,
"Matthew Wilcox" <willy@infradead.org>,
"Thomas Weißschuh" <linux@weissschuh.net>,
"Jan Kara" <jack@suse.cz>, "Daniel Golle" <daniel@makrotopia.org>,
"Damien Le Moal" <dlemoal@kernel.org>,
"Ming Lei" <ming.lei@redhat.com>, "Min Li" <min15.li@samsung.com>,
"Christian Loehle" <CLoehle@hyperstone.com>,
"Adrian Hunter" <adrian.hunter@intel.com>,
"Hannes Reinecke" <hare@suse.de>,
"Jack Wang" <jinpu.wang@ionos.com>,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Yeqi Fu" <asuk4.q@gmail.com>,
"Avri Altman" <avri.altman@wdc.com>,
"Hans de Goede" <hdegoede@redhat.com>,
"Ye Bin" <yebin10@huawei.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Rafał Miłecki" <rafal@milecki.pl>,
linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org
Subject: [RFC PATCH 0/6] nvmem: add block device NVMEM provider
Date: Wed, 19 Jul 2023 23:01:14 +0100 [thread overview]
Message-ID: <cover.1689802933.git.daniel@makrotopia.org> (raw)
On embedded devices using an eMMC it is common that one or more (hw/sw)
partitions on the eMMC are used to store MAC addresses and Wi-Fi
calibration EEPROM data.
Implement an NVMEM provider backed by block devices as typically the
NVMEM framework is used to have kernel drivers read and use binary data
from EEPROMs, efuses, flash memory (MTD), ...
In order to be able to reference hardware partitions on an eMMC, add code
to bind each hardware partition to a specific firmware subnode.
This series is meant to open the discussion on how exactly the device tree
schema for block devices and partitions may look like, and even if using
the block layer to back the NVMEM device is at all the way to go -- to me
it seemed to be a good solution because it will be reuable e.g. for NVMe.
Daniel Golle (6):
mmc: core: set card fwnode_handle
mmc: block: set fwnode of disk devices
block: add new genhd flag GENHD_FL_NO_NVMEM
mtd: blkdevs: set GENHD_FL_NO_NVMEM
mtd: ubi: block: set GENHD_FL_NO_NVMEM
block: implement NVMEM provider
block/Kconfig | 8 ++
block/Makefile | 1 +
block/blk-nvmem.c | 187 ++++++++++++++++++++++++++++++++++++++
block/blk.h | 13 +++
block/genhd.c | 2 +
block/partitions/core.c | 2 +
drivers/mmc/core/block.c | 8 ++
drivers/mmc/core/bus.c | 2 +
drivers/mtd/mtd_blkdevs.c | 1 +
drivers/mtd/ubi/block.c | 2 +-
include/linux/blkdev.h | 3 +
11 files changed, 228 insertions(+), 1 deletion(-)
create mode 100644 block/blk-nvmem.c
--
2.41.0
next reply other threads:[~2023-07-19 22:02 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-19 22:01 Daniel Golle [this message]
2023-07-19 22:02 ` [RFC PATCH 1/6] mmc: core: set card fwnode_handle Daniel Golle
2023-07-19 22:02 ` [RFC PATCH 2/6] mmc: block: set fwnode of disk devices Daniel Golle
2023-08-07 13:48 ` Ulf Hansson
2023-08-08 1:02 ` Daniel Golle
2023-08-08 10:59 ` Ulf Hansson
2023-07-19 22:03 ` [RFC PATCH 3/6] block: add new genhd flag GENHD_FL_NO_NVMEM Daniel Golle
2023-07-20 8:24 ` Hannes Reinecke
2023-07-20 13:47 ` Daniel Golle
2023-07-20 14:03 ` Hannes Reinecke
2023-07-20 14:28 ` Daniel Golle
2023-07-20 14:34 ` Hannes Reinecke
2023-07-19 22:03 ` [RFC PATCH 4/6] mtd: blkdevs: set GENHD_FL_NO_NVMEM Daniel Golle
2023-07-20 6:04 ` Miquel Raynal
2023-07-19 22:03 ` [RFC PATCH 5/6] mtd: ubi: block: " Daniel Golle
2023-07-19 22:04 ` [RFC PATCH 6/6] block: implement NVMEM provider Daniel Golle
2023-07-19 23:04 ` Damien Le Moal
2023-07-20 0:14 ` Daniel Golle
2023-07-20 7:04 ` Christoph Hellwig
2023-07-20 16:02 ` Daniel Golle
2023-07-21 6:31 ` Christoph Hellwig
2023-07-21 10:40 ` Daniel Golle
2023-07-21 11:11 ` Greg Kroah-Hartman
2023-07-21 11:30 ` Daniel Golle
2023-07-21 11:39 ` Greg Kroah-Hartman
2023-07-21 13:03 ` Daniel Golle
2023-07-21 6:35 ` Christoph Hellwig
2023-07-21 13:31 ` Daniel Golle
2023-07-20 7:09 ` [RFC PATCH 0/6] nvmem: add block device " Christoph Hellwig
2023-07-20 15:30 ` Bart Van Assche
2023-07-20 18:03 ` Daniel Golle
2023-07-21 8:32 ` Ming Lei
2023-07-21 11:08 ` Daniel Golle
2023-07-21 11:10 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1689802933.git.daniel@makrotopia.org \
--to=daniel@makrotopia.org \
--cc=CLoehle@hyperstone.com \
--cc=adrian.hunter@intel.com \
--cc=asuk4.q@gmail.com \
--cc=avri.altman@wdc.com \
--cc=axboe@kernel.dk \
--cc=dchinner@redhat.com \
--cc=dlemoal@kernel.org \
--cc=f.fainelli@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=hare@suse.de \
--cc=hdegoede@redhat.com \
--cc=jack@suse.cz \
--cc=jinpu.wang@ionos.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux@weissschuh.net \
--cc=min15.li@samsung.com \
--cc=ming.lei@redhat.com \
--cc=miquel.raynal@bootlin.com \
--cc=rafal@milecki.pl \
--cc=richard@nod.at \
--cc=ulf.hansson@linaro.org \
--cc=vigneshr@ti.com \
--cc=willy@infradead.org \
--cc=yebin10@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).