On Thu, Jul 02, 2020 at 05:56:52PM +0200, Michal Kubecek wrote: > On Wed, Jul 01, 2020 at 09:29:38PM -0700, Florian Fainelli wrote: > > Hi all, > > > > This patch series untangles the ethtool netlink dependency with PHYLIB > > which exists because the cable test feature calls directly into PHY > > library functions. The approach taken here is to utilize a new set of > > net_device_ops function pointers which are automatically set to the PHY > > library variants when a network device driver attaches to a PHY device. > > I'm not sure about the idea of creating a copy of netdev_ops for each > device using phylib. First, there would be some overhead (just checked > my 5.8-rc3 kernel, struct netdev_ops is 632 bytes). Second, there is > quite frequent pattern of comparing dev->netdev_ops against known > constants to check if a network device is of certain type; I can't say > for sure if it is also used with devices using phylib in existing code > but it feels risky.
I agree with Michal here. I don't like this. I think we need phylib to register a set of ops with ethtool when it loads. It would also allow us to clean up phy_ethtool_get_strings(), phy_ethtool_get_sset_count(), phy_ethtool_get_stats(). Andrew