From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Daniel Golle <daniel@makrotopia.org>
Cc: "Christoph Hellwig" <hch@infradead.org>,
"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>, "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>, "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: Re: [RFC PATCH 6/6] block: implement NVMEM provider
Date: Fri, 21 Jul 2023 13:11:40 +0200 [thread overview]
Message-ID: <2023072128-shadow-system-1903@gregkh> (raw)
In-Reply-To: <ZLpgs-aZVHCQooi0@makrotopia.org>
On Fri, Jul 21, 2023 at 11:40:51AM +0100, Daniel Golle wrote:
> On Thu, Jul 20, 2023 at 11:31:06PM -0700, Christoph Hellwig wrote:
> > On Thu, Jul 20, 2023 at 05:02:32PM +0100, Daniel Golle wrote:
> > > On Thu, Jul 20, 2023 at 12:04:43AM -0700, Christoph Hellwig wrote:
> > > > The layering here is exactly the wrong way around. This block device
> > > > as nvmem provide has not business sitting in the block layer and being
> > > > keyed ff the gendisk registration. Instead you should create a new
> > > > nvmem backed that opens the block device as needed if it fits your
> > > > OF description without any changes to the core block layer.
> > > >
> > >
> > > Ok. I will use a class_interface instead.
> >
> > I'm not sure a class_interface makes much sense here. Why does the
> > block layer even need to know about you using a device a nvmem provider?
>
> It doesn't. But it has to notify the nvmem providing driver about the
> addition of new block devices. This is what I'm using class_interface
> for, simply to hook into .add_dev of the block_class.
Why is this single type of block device special to require this, yet all
others do not? Encoding this into the block layer feels like a huge
layering violation to me, why not do it how all other block drivers do
it instead?
> > As far as I can tell your provider should layer entirely above the
> > block layer and not have to be integrated with it.
>
> My approach using class_interface doesn't require any changes to be
> made to existing block code. However, it does use block_class. If
> you see any other good option to implement matching off and usage of
> block devices by in-kernel users, please let me know.
Do not use block_class, again, that should only be for the block core to
touch. Individual block drivers should never be poking around in it.
thanks,
greg k-h
WARNING: multiple messages have this Message-ID (diff)
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Daniel Golle <daniel@makrotopia.org>
Cc: "Christoph Hellwig" <hch@infradead.org>,
"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>, "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>, "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: Re: [RFC PATCH 6/6] block: implement NVMEM provider
Date: Fri, 21 Jul 2023 13:11:40 +0200 [thread overview]
Message-ID: <2023072128-shadow-system-1903@gregkh> (raw)
In-Reply-To: <ZLpgs-aZVHCQooi0@makrotopia.org>
On Fri, Jul 21, 2023 at 11:40:51AM +0100, Daniel Golle wrote:
> On Thu, Jul 20, 2023 at 11:31:06PM -0700, Christoph Hellwig wrote:
> > On Thu, Jul 20, 2023 at 05:02:32PM +0100, Daniel Golle wrote:
> > > On Thu, Jul 20, 2023 at 12:04:43AM -0700, Christoph Hellwig wrote:
> > > > The layering here is exactly the wrong way around. This block device
> > > > as nvmem provide has not business sitting in the block layer and being
> > > > keyed ff the gendisk registration. Instead you should create a new
> > > > nvmem backed that opens the block device as needed if it fits your
> > > > OF description without any changes to the core block layer.
> > > >
> > >
> > > Ok. I will use a class_interface instead.
> >
> > I'm not sure a class_interface makes much sense here. Why does the
> > block layer even need to know about you using a device a nvmem provider?
>
> It doesn't. But it has to notify the nvmem providing driver about the
> addition of new block devices. This is what I'm using class_interface
> for, simply to hook into .add_dev of the block_class.
Why is this single type of block device special to require this, yet all
others do not? Encoding this into the block layer feels like a huge
layering violation to me, why not do it how all other block drivers do
it instead?
> > As far as I can tell your provider should layer entirely above the
> > block layer and not have to be integrated with it.
>
> My approach using class_interface doesn't require any changes to be
> made to existing block code. However, it does use block_class. If
> you see any other good option to implement matching off and usage of
> block devices by in-kernel users, please let me know.
Do not use block_class, again, that should only be for the block core to
touch. Individual block drivers should never be poking around in it.
thanks,
greg k-h
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2023-07-21 11:12 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-19 22:01 [RFC PATCH 0/6] nvmem: add block device NVMEM provider Daniel Golle
2023-07-19 22:01 ` Daniel Golle
2023-07-19 22:02 ` [RFC PATCH 1/6] mmc: core: set card fwnode_handle Daniel Golle
2023-07-19 22:02 ` Daniel Golle
2023-07-19 22:02 ` [RFC PATCH 2/6] mmc: block: set fwnode of disk devices Daniel Golle
2023-07-19 22:02 ` Daniel Golle
2023-08-07 13:48 ` Ulf Hansson
2023-08-07 13:48 ` Ulf Hansson
2023-08-08 1:02 ` Daniel Golle
2023-08-08 1:02 ` Daniel Golle
2023-08-08 10:59 ` Ulf Hansson
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-19 22:03 ` Daniel Golle
2023-07-20 8:24 ` Hannes Reinecke
2023-07-20 8:24 ` Hannes Reinecke
2023-07-20 13:47 ` Daniel Golle
2023-07-20 13:47 ` Daniel Golle
2023-07-20 14:03 ` Hannes Reinecke
2023-07-20 14:03 ` Hannes Reinecke
2023-07-20 14:28 ` Daniel Golle
2023-07-20 14:28 ` Daniel Golle
2023-07-20 14:34 ` Hannes Reinecke
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-19 22:03 ` Daniel Golle
2023-07-20 6:04 ` Miquel Raynal
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:03 ` Daniel Golle
2023-07-19 22:04 ` [RFC PATCH 6/6] block: implement NVMEM provider Daniel Golle
2023-07-19 22:04 ` Daniel Golle
2023-07-19 23:04 ` Damien Le Moal
2023-07-19 23:04 ` Damien Le Moal
2023-07-20 0:14 ` Daniel Golle
2023-07-20 0:14 ` Daniel Golle
2023-07-20 7:04 ` Christoph Hellwig
2023-07-20 7:04 ` Christoph Hellwig
2023-07-20 16:02 ` Daniel Golle
2023-07-20 16:02 ` Daniel Golle
2023-07-21 6:31 ` Christoph Hellwig
2023-07-21 6:31 ` Christoph Hellwig
2023-07-21 10:40 ` Daniel Golle
2023-07-21 10:40 ` Daniel Golle
2023-07-21 11:11 ` Greg Kroah-Hartman [this message]
2023-07-21 11:11 ` Greg Kroah-Hartman
2023-07-21 11:30 ` Daniel Golle
2023-07-21 11:30 ` Daniel Golle
2023-07-21 11:39 ` Greg Kroah-Hartman
2023-07-21 11:39 ` Greg Kroah-Hartman
2023-07-21 13:03 ` Daniel Golle
2023-07-21 13:03 ` Daniel Golle
2023-07-21 6:35 ` Christoph Hellwig
2023-07-21 6:35 ` Christoph Hellwig
2023-07-21 13:31 ` Daniel Golle
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 7:09 ` Christoph Hellwig
2023-07-20 15:30 ` Bart Van Assche
2023-07-20 15:30 ` Bart Van Assche
2023-07-20 18:03 ` Daniel Golle
2023-07-20 18:03 ` Daniel Golle
2023-07-21 8:32 ` Ming Lei
2023-07-21 8:32 ` Ming Lei
2023-07-21 11:08 ` Daniel Golle
2023-07-21 11:08 ` Daniel Golle
2023-07-21 11:10 ` Greg Kroah-Hartman
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=2023072128-shadow-system-1903@gregkh \
--to=gregkh@linuxfoundation.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=daniel@makrotopia.org \
--cc=dchinner@redhat.com \
--cc=dlemoal@kernel.org \
--cc=f.fainelli@gmail.com \
--cc=hare@suse.de \
--cc=hch@infradead.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.