From: Brian Norris <computersforpeace@gmail.com>
To: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org,
Ezequiel Garcia <ezequiel.garcia@free-electrons.com>,
Marek Vasut <marex@denx.de>, Scott Wood <scottwood@freescale.com>,
Josh Wu <josh.wu@atmel.com>,
Robert Jarzmik <robert.jarzmik@free.fr>,
Kyungmin Park <kyungmin.park@samsung.com>,
Han Xu <han.xu@freescale.com>,
Huang Shijie <shijie.huang@arm.com>
Subject: Re: [PATCH 1/5] mtd: ofpart: grab device tree node directly from master device node
Date: Tue, 27 Oct 2015 10:54:46 -0700 [thread overview]
Message-ID: <20151027175446.GT13239@google.com> (raw)
In-Reply-To: <20151027084200.2434180f@bbrezillon>
Hi Boris,
On Tue, Oct 27, 2015 at 08:42:00AM +0100, Boris Brezillon wrote:
> On Mon, 26 Oct 2015 19:31:06 -0700
> Brian Norris <computersforpeace@gmail.com> wrote:
>
> > It seems more logical to use a device node directly associated with the
> > MTD master device (i.e., mtd->dev.of_node field) rather than requiring
> > auxiliary partition parser information to be passed in by the driver in
> > a separate struct.
> >
> > This patch supports the mtd->dev.of_node field, deprecates the parser
> > data 'of_node' field, and begins using the new convention for nand_base.
> > Other NAND driver conversions may now follow.
> >
> > Additional side benefit to assigning mtd->dev.of_node rather than using
> > parser data: the driver core will automatically create a device -> node
> > symlink for us.
>
> I like the idea, but how about pushing the solution even further and
> killing the ->flash_node field which AFAICT is rendered useless by
> your patch?
I suppose we could do that. I do think there's something to be said for
layering, though. Historically, we haven't done a very good job of
layering in MTD, so low-level drivers often have to poke around in the
MTD structures, even if they really should only have to know a few
things about their helper subsystem/library, like NAND or SPI NOR. So
with that in mind, I think the ->flash_node serves some purpose --
drivers can just initialize struct nand_chip/spi_nor and be assured that
the NAND/SPI-NOR subsystems will take care of things.
Now, I don't think there's much reason to suspect that we'd have a more
complex mapping than 1:1 between struct mtd_info and struct nand_chip or
struct spi_nor, so maybe we don't actually need duplicate storage
(mtd.dev.of_node and {spi_nor,nand_chip}.flash_node), and the layering
is just have these APIs:
nand_set_flash_node()
spi_nor_set_flash_node()
which just call mtd_set_of_node()?
Speaking of layering: why do we have NAND drivers initializing mtd->priv
for us, yet nand_base just assumes that it points to a struct nand_chip?
And why isn't struct mtd_info just embedded in struct nand_chip? Are
there ever cases we want more than one (master) MTD per nand_chip? Or
vice versa?
Thanks for the review,
Brian
next prev parent reply other threads:[~2015-10-27 17:55 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-27 2:31 [PATCH 0/5] mtd: migrate 'of_node' handling to core, not in mtd_part_parser_data Brian Norris
2015-10-27 2:31 ` [PATCH 1/5] mtd: ofpart: grab device tree node directly from master device node Brian Norris
2015-10-27 7:42 ` Boris Brezillon
2015-10-27 17:54 ` Brian Norris [this message]
2015-10-28 1:01 ` Brian Norris
2015-10-28 8:02 ` Boris Brezillon
2015-10-28 7:58 ` Boris Brezillon
2015-10-28 16:11 ` Marek Vasut
2015-10-28 16:32 ` Boris Brezillon
2015-10-28 17:14 ` Brian Norris
2015-10-28 20:55 ` Robert Jarzmik
2015-10-28 22:47 ` Marek Vasut
2015-10-29 6:32 ` Robert Jarzmik
2015-10-29 7:24 ` Boris Brezillon
2015-10-29 17:23 ` Marek Vasut
2015-10-29 17:34 ` Boris Brezillon
2015-10-29 20:28 ` Robert Jarzmik
2015-10-28 20:38 ` Marek Vasut
2015-10-27 2:31 ` [PATCH 2/5] mtd: nand: drop unnecessary partition parser data Brian Norris
2015-10-27 7:52 ` Boris Brezillon
2015-10-28 0:45 ` Brian Norris
2015-10-27 2:31 ` [PATCH 3/5] mtd: spi-nor: " Brian Norris
2015-10-27 2:31 ` [PATCH 4/5] mtd: " Brian Norris
2015-10-27 2:31 ` [PATCH 5/5] mtd: drop 'of_node' " Brian Norris
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=20151027175446.GT13239@google.com \
--to=computersforpeace@gmail.com \
--cc=boris.brezillon@free-electrons.com \
--cc=ezequiel.garcia@free-electrons.com \
--cc=han.xu@freescale.com \
--cc=josh.wu@atmel.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=marex@denx.de \
--cc=robert.jarzmik@free.fr \
--cc=scottwood@freescale.com \
--cc=shijie.huang@arm.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.