Re: [PATCH 3/4] of/property: Introduce of_fwnode_name()
From: Heikki Krogerus
Date: Tue Nov 06 2018 - 09:40:44 EST
On Tue, Nov 06, 2018 at 07:18:14AM -0600, Rob Herring wrote:
> On Tue, Nov 6, 2018 at 6:27 AM Heikki Krogerus
> <heikki.krogerus@xxxxxxxxxxxxxxx> wrote:
> >
> > On Tue, Nov 06, 2018 at 12:58:03PM +0200, Andy Shevchenko wrote:
> > > On Mon, Nov 05, 2018 at 12:50:02PM -0600, Rob Herring wrote:
> > > > On Mon, Nov 5, 2018 at 3:17 AM Heikki Krogerus
> > > > <heikki.krogerus@xxxxxxxxxxxxxxx> wrote:
> > >
> > > > > +static const char *of_fwnode_name(const struct fwnode_handle *fwnode)
> > > > > +{
> > > > > + return to_of_node(fwnode)->name;
> > > >
> > > > I'm trying to get rid of the DT name ptr, so please don't add one. You
> > > > can use of_node_full_name() here instead if "<name>@<unit-address>"
> > > > instead of <name> is fine. Otherwise, you've got to allocate your own
> > > > storage and use "%pOFn" printf specifier.
> > >
> > > If we do this here, we will change a behaviour of the entire set of
> > > of_fwnode_get_named_child_node() users.
> > >
> > > I think this is out of scope of the series.
>
> No, because you are adding a firmware op for something that's going away.
>
> > You have a point. We must use the same member that was used in
> > of_fwnode_get_named_child_node().
> >
> > The goal of this series if most likely not clear from this patch
> > alone, so I'll send a second version and make sure to CC the DT list
> > and Rob.
>
> Looking at patch 4, if matching the name is what you want to do, then
> use the DT name matching functions. They were added in 4.19.
That is something that the of_fwnode_get_named_child_node() needs
to use (would have needed).
Regardless of what we do with that callback, fwnode_name() needs to
return the name in from that for example of_node_name_eq() takes as
the second parameter. So "node-name@unit-address" is not OK. Sorry for
not realizeing that before.
So I guess we need to either get the "node-name" from that full_name
member in of_fwnode_name() (Andy, are you OK with that?), or is there
already a helper that does it for us?
Thanks,
--
heikki