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

Maxime Chevallier maxime.chevallier at bootlin.com
Tue Dec 12 05:10:26 PST 2023


On Mon, 11 Dec 2023 15:09:09 +0100
Andrew Lunn <andrew at lunn.ch> 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



More information about the linux-arm-kernel mailing list