Re: [RFC PATCH net-next v3 01/13] net: phy: Introduce ethernet link topology representation

From: Maxime Chevallier
Date: Tue Dec 12 2023 - 08:10:39 EST


On Mon, 11 Dec 2023 15:09:09 +0100
Andrew Lunn <andrew@xxxxxxx> wrote:

> > > > @@ -10832,6 +10833,8 @@ struct net_device *alloc_netdev_mqs(int sizeof_priv, const char *name,
> > > > #ifdef CONFIG_NET_SCHED
> > > > hash_init(dev->qdisc_hash);
> > > > #endif
> > > > + phy_link_topo_init(&dev->link_topo);
> > > > +
> > >
> > > I don't think this can work unless PHYLIB is compiled as a built-in.
> >
> > Inded, I need to better clarify and document the dependency with
> > PHYLIB.
>
> It is getting harder and harder to make the phylib core a module :-(
>
> How much work does phy_link_topo_init() do? Could it be an inline
> function? Are there other dependencies?

Sorry about that, I'll make sure it works with phylib entirely disabled
for next version. I try to keep the integration with net_device minimal
and avoid any dependency bloat, we don't need much besides xarray stuff
(hence the fact there are 2 headers, the phy_link_topology_core.h
containing the bare minimum), but I did miss that.

> Also look at ethtool_phy_ops and e.g. how plca_get_cfg_prepare_data()
> uses it.

Thanks, indeed that's a good example. I'll also address that in the
netlink part as well.

Thanks,

Maxime