All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcin Wojtas <mw@semihalf.com>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	netdev <netdev@vger.kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Sean Wang <sean.wang@mediatek.com>,
	Landen Chao <Landen.Chao@mediatek.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Andrew Lunn <andrew@lunn.ch>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Russell King - ARM Linux <linux@armlinux.org.uk>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Grzegorz Bernacki <gjb@semihalf.com>,
	Grzegorz Jaszczyk <jaz@semihalf.com>,
	Tomasz Nowicki <tn@semihalf.com>,
	Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>,
	upstream@semihalf.com
Subject: Re: [net-next: PATCH v3 6/8] net: core: switch to fwnode_find_net_device_by_node()
Date: Wed, 27 Jul 2022 17:18:16 +0200	[thread overview]
Message-ID: <CAPv3WKc88KQN=athEqBg=Z5Bd1SC3QSOPZpDH7dfuYGHhR+oVg@mail.gmail.com> (raw)
In-Reply-To: <20220727143147.u6yd6wqslilspyhw@skbuf>

śr., 27 lip 2022 o 16:31 Vladimir Oltean <olteanv@gmail.com> napisał(a):
>
> On Wed, Jul 27, 2022 at 08:43:19AM +0200, Marcin Wojtas wrote:
> > A helper function which allows getting the struct net_device pointer
> > associated with a given device tree node can be more generic and
> > also support alternative hardware description. Switch to fwnode_
> > and update the only existing caller in DSA subsystem.
> > For that purpose use newly added fwnode_dev_node_match helper routine.
> >
> > Signed-off-by: Marcin Wojtas <mw@semihalf.com>
> > ---
> > -struct net_device *of_find_net_device_by_node(struct device_node *np)
> > +struct net_device *fwnode_find_net_device_by_node(struct fwnode_handle *fwnode)
> >  {
> >       struct device *dev;
> >
> > -     dev = class_find_device(&net_class, NULL, np, of_dev_node_match);
> > +     dev = class_find_device(&net_class, NULL, fwnode, fwnode_find_parent_dev_match);
>
> This needs to maintain compatibility with DSA masters that have
> dev->of_node but don't have dev->fwnode populated.
>

Do you mean a situation analogous to what I addressed in:
[net-next: PATCH v3 4/8] net: mvpp2: initialize port fwnode pointer
?

I found indeed a couple of drivers that may require a similar change
(e.g. dpaa2).

IMO we have 2 options:
- update these drivers
- add some kind of fallback? If yes, I am wondering about an elegant
solution - maybe add an extra check inside
fwnode_find_parent_dev_match?

What would you suggest?

Best regards,
Marcin

> >       if (!dev)
> >               return NULL;
> >
> >       return to_net_dev(dev);
> >  }
> > -EXPORT_SYMBOL(of_find_net_device_by_node);
> > -#endif
> > +EXPORT_SYMBOL(fwnode_find_net_device_by_node);

  reply	other threads:[~2022-07-27 15:18 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-27  6:43 [net-next: PATCH v3 0/8] DSA: switch to fwnode_/device_ Marcin Wojtas
2022-07-27  6:43 ` [net-next: PATCH v3 1/8] net: phy: fixed_phy: switch to fwnode_ API Marcin Wojtas
2022-07-27 10:24   ` Andy Shevchenko
2022-07-27  6:43 ` [net-next: PATCH v3 2/8] net: mdio: switch fixed-link PHYs API to fwnode_ Marcin Wojtas
2022-07-27 10:28   ` Andy Shevchenko
2022-07-27  6:43 ` [net-next: PATCH v3 3/8] net: dsa: switch to device_/fwnode_ APIs Marcin Wojtas
2022-07-27 11:29   ` Andy Shevchenko
2022-07-27  6:43 ` [net-next: PATCH v3 4/8] net: mvpp2: initialize port fwnode pointer Marcin Wojtas
2022-07-27  6:43 ` [net-next: PATCH v3 5/8] device property: introduce fwnode_find_parent_dev_match Marcin Wojtas
2022-07-27 11:33   ` Andy Shevchenko
2022-07-27  6:43 ` [net-next: PATCH v3 6/8] net: core: switch to fwnode_find_net_device_by_node() Marcin Wojtas
2022-07-27 14:31   ` Vladimir Oltean
2022-07-27 15:18     ` Marcin Wojtas [this message]
2022-07-27 16:38       ` Vladimir Oltean
2022-07-27 17:40         ` Marcin Wojtas
2022-07-27 21:11           ` Vladimir Oltean
2022-07-27 21:27             ` Vladimir Oltean
2022-07-28  6:47             ` Marcin Wojtas
2022-07-28 19:56               ` Vladimir Oltean
2022-07-28 20:18                 ` Andrew Lunn
2022-07-28 21:23                   ` Marcin Wojtas
2022-07-28 22:20                     ` Andrew Lunn
2022-07-29  9:59                       ` Andy Shevchenko
     [not found]           ` <CAHp75VfGfKx1fggoE7wf4ndmUv4FEVfV=-EaO0ypescmNqDFkw@mail.gmail.com>
2022-07-28  6:52             ` Marcin Wojtas
2022-07-28  9:16               ` Vladimir Oltean
2022-07-28 16:56                 ` Marcin Wojtas
2022-07-28 19:16                   ` Vladimir Oltean
2022-07-28 19:49                     ` Marcin Wojtas
2022-07-27 17:00       ` Andy Shevchenko
2022-07-27 17:41         ` Marcin Wojtas
2022-07-27  6:43 ` [net-next: PATCH v3 7/8] net: mdio: introduce fwnode_mdiobus_register_device() Marcin Wojtas
2022-07-27 13:32   ` Andy Shevchenko
2022-07-27  6:43 ` [net-next: PATCH v3 8/8] net: dsa: mv88e6xxx: switch to device_/fwnode_ APIs Marcin Wojtas
2022-07-27 13:37   ` Andy Shevchenko

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='CAPv3WKc88KQN=athEqBg=Z5Bd1SC3QSOPZpDH7dfuYGHhR+oVg@mail.gmail.com' \
    --to=mw@semihalf.com \
    --cc=Landen.Chao@mediatek.com \
    --cc=Samer.El-Haj-Mahmoud@arm.com \
    --cc=andrew@lunn.ch \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=gjb@semihalf.com \
    --cc=hkallweit1@gmail.com \
    --cc=jaz@semihalf.com \
    --cc=kuba@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=rafael@kernel.org \
    --cc=sean.wang@mediatek.com \
    --cc=tn@semihalf.com \
    --cc=upstream@semihalf.com \
    --cc=vivien.didelot@gmail.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.