diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-10-01 23:10:05 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2017-02-20 10:47:20 +0000 |
commit | 38af1fcf5cafd99a52a0242a89318734f7190314 (patch) | |
tree | 4252744745796a87d52be7edf7553a198be173f9 /include | |
parent | 06ddefd2e3f11f6cb1c727c6ca863e311a3dcbd9 (diff) |
phylink: add module EEPROM support
Add support for reading module EEPROMs through phylink.
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/phylink.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/phylink.h b/include/linux/phylink.h index cc9aa08ee263..c4c979119dc7 100644 --- a/include/linux/phylink.h +++ b/include/linux/phylink.h @@ -101,6 +101,11 @@ struct phylink_mac_ops { struct phy_device *); }; +struct phylink_module_ops { + int (*get_module_info)(void *, struct ethtool_modinfo *); + int (*get_module_eeprom)(void *, struct ethtool_eeprom *, u8 *); +}; + struct phylink *phylink_create(struct net_device *, struct device_node *, phy_interface_t iface, const struct phylink_mac_ops *ops); void phylink_destroy(struct phylink *); @@ -123,12 +128,19 @@ void phylink_ethtool_get_pauseparam(struct phylink *, struct ethtool_pauseparam *); int phylink_ethtool_set_pauseparam(struct phylink *, struct ethtool_pauseparam *); +int phylink_ethtool_get_module_info(struct phylink *, struct ethtool_modinfo *); +int phylink_ethtool_get_module_eeprom(struct phylink *, + struct ethtool_eeprom *, u8 *); int phylink_init_eee(struct phylink *, bool); int phylink_get_eee_err(struct phylink *); int phylink_ethtool_get_eee(struct phylink *, struct ethtool_eee *); int phylink_ethtool_set_eee(struct phylink *, struct ethtool_eee *); int phylink_mii_ioctl(struct phylink *, struct ifreq *, int); +int phylink_register_module(struct phylink *, void *, + const struct phylink_module_ops *); +int phylink_unregister_module(struct phylink *, void *); + int phylink_set_link(struct phylink *pl, unsigned int mode, u8 port, const unsigned long *support); void phylink_disable(struct phylink *pl); |