From: Andrew Lunn <and...@lunn.ch>

There are two ways to retrieve information from SFP EEPROMs.  Many
devices make use of the common code, and assign the sfp_bus pointer in
the netdev to point to the bus holding the SFP device. Some MAC
drivers directly implement ops in there ethool structure.

Export within net/ethtool the two helpers used to call these methods,
so that they can also be used in the new netlink code.

Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
 net/ethtool/common.h |  5 +++++
 net/ethtool/ioctl.c  | 14 +++++++-------
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/net/ethtool/common.h b/net/ethtool/common.h
index a9d071248698..2dc2b80aea5f 100644
--- a/net/ethtool/common.h
+++ b/net/ethtool/common.h
@@ -47,4 +47,9 @@ int __ethtool_get_ts_info(struct net_device *dev, struct 
ethtool_ts_info *info);
 
 extern const struct ethtool_phy_ops *ethtool_phy_ops;
 
+int ethtool_get_module_info_call(struct net_device *dev,
+                                struct ethtool_modinfo *modinfo);
+int ethtool_get_module_eeprom_call(struct net_device *dev,
+                                  struct ethtool_eeprom *ee, u8 *data);
+
 #endif /* _ETHTOOL_COMMON_H */
diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c
index 26b3e7086075..eec8e588894b 100644
--- a/net/ethtool/ioctl.c
+++ b/net/ethtool/ioctl.c
@@ -2204,8 +2204,8 @@ static int ethtool_get_ts_info(struct net_device *dev, 
void __user *useraddr)
        return 0;
 }
 
-static int __ethtool_get_module_info(struct net_device *dev,
-                                    struct ethtool_modinfo *modinfo)
+int ethtool_get_module_info_call(struct net_device *dev,
+                                struct ethtool_modinfo *modinfo)
 {
        const struct ethtool_ops *ops = dev->ethtool_ops;
        struct phy_device *phydev = dev->phydev;
@@ -2231,7 +2231,7 @@ static int ethtool_get_module_info(struct net_device *dev,
        if (copy_from_user(&modinfo, useraddr, sizeof(modinfo)))
                return -EFAULT;
 
-       ret = __ethtool_get_module_info(dev, &modinfo);
+       ret = ethtool_get_module_info_call(dev, &modinfo);
        if (ret)
                return ret;
 
@@ -2241,8 +2241,8 @@ static int ethtool_get_module_info(struct net_device *dev,
        return 0;
 }
 
-static int __ethtool_get_module_eeprom(struct net_device *dev,
-                                      struct ethtool_eeprom *ee, u8 *data)
+int ethtool_get_module_eeprom_call(struct net_device *dev,
+                                  struct ethtool_eeprom *ee, u8 *data)
 {
        const struct ethtool_ops *ops = dev->ethtool_ops;
        struct phy_device *phydev = dev->phydev;
@@ -2265,12 +2265,12 @@ static int ethtool_get_module_eeprom(struct net_device 
*dev,
        int ret;
        struct ethtool_modinfo modinfo;
 
-       ret = __ethtool_get_module_info(dev, &modinfo);
+       ret = ethtool_get_module_info_call(dev, &modinfo);
        if (ret)
                return ret;
 
        return ethtool_get_any_eeprom(dev, useraddr,
-                                     __ethtool_get_module_eeprom,
+                                     ethtool_get_module_eeprom_call,
                                      modinfo.eeprom_len);
 }
 
-- 
2.26.2

Reply via email to