Ethtool callbacks {get|set}_link_ksettings may be the same for many drivers. So we add two generics callbacks ethtool_op_{get|set}_link_ksettings.
To use those generics callbacks, the ethernet driver must use the pointer phydev contained in struct net_device, and not use a private structure to store this pointer. Changelog: v2: - use generic function instead of macro - ethernet driver use the pointer phydev provided by struct net_device Those idea were provided by Ben Hutchings, and Florian Fainelli acknowledge them. Philippe Reynes (3): net: core: ethtool: add ethtool_op_{get|set}_link_ksettings net: ethernet: fec: use phydev from struct net_device net: ethernet: fec: use ethtool_op_{get|set}_link_ksettings drivers/net/ethernet/freescale/fec.h | 1 - drivers/net/ethernet/freescale/fec_main.c | 71 +++++++++-------------------- include/linux/ethtool.h | 5 ++ net/core/ethtool.c | 24 ++++++++++ 4 files changed, 50 insertions(+), 51 deletions(-) -- 1.7.4.4