diff options
author | Ed Swierk <eswierk@skyportsystems.com> | 2015-01-02 17:27:56 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-01-06 17:16:55 -0500 |
commit | 2f4383667d57d1c719070db86b14277277752841 (patch) | |
tree | b9679f46faa428c0090cf8f63bed02130b863243 /include/linux/phy.h | |
parent | 53831aa12538f8753fb77b7ab6408cce54973b30 (diff) | |
download | lwn-2f4383667d57d1c719070db86b14277277752841.tar.gz lwn-2f4383667d57d1c719070db86b14277277752841.zip |
ethtool: Extend ethtool plugin module eeprom API to phylib
This patch extends the ethtool plugin module eeprom API to support cards
whose phy support is delegated to a separate driver.
The handlers for ETHTOOL_GMODULEINFO and ETHTOOL_GMODULEEEPROM call the
module_info and module_eeprom functions if the phy driver provides them;
otherwise the handlers call the equivalent ethtool_ops functions provided
by network drivers with built-in phy support.
Signed-off-by: Ed Swierk <eswierk@skyportsystems.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/phy.h')
-rw-r--r-- | include/linux/phy.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/phy.h b/include/linux/phy.h index 22af8f8f5802..9c189a1fa3a2 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -565,6 +565,15 @@ struct phy_driver { void (*write_mmd_indirect)(struct phy_device *dev, int ptrad, int devnum, int regnum, u32 val); + /* Get the size and type of the eeprom contained within a plug-in + * module */ + int (*module_info)(struct phy_device *dev, + struct ethtool_modinfo *modinfo); + + /* Get the eeprom information from the plug-in module */ + int (*module_eeprom)(struct phy_device *dev, + struct ethtool_eeprom *ee, u8 *data); + struct device_driver driver; }; #define to_phy_driver(d) container_of(d, struct phy_driver, driver) |