Add capability to retrieve plug-in module EEPROM
Subsystems (2)
PATCH 1/3 Add capability to retrieve plug-in module EEPROM
We want to support reading module (SFP+, XFP, ...) EEPROMs as well as NIC EEPROMs. They will need a different command number and driver operation, but the structure and arguments will be the same and so we can share most of the code here.
--- net/core/ethtool.c | 24 +++++++++++++++++------- 1 files changed, 17 insertions(+), 7 deletions(-)
net/core/ethtool.c +17 -7
@@ -751,18 +751,17 @@ static int ethtool_get_link(struct net_device *dev, char __user *useraddr)return 0 ; } -static int ethtool_get_eeprom (struct net_device *dev,void __user *useraddr) +static int ethtool_get_any_eeprom (struct net_device *dev,void __user *useraddr, +int (*getter)(struct net_device *, +struct ethtool_eeprom *,u8 *), +u32 total_len) {struct ethtool_eeprom eeprom; -const struct ethtool_ops *ops = dev->ethtool_ops;void __user *userbuf = useraddr +sizeof (eeprom);u32 bytes_remaining;u8 *data;int ret =0 ; -if (!ops->get_eeprom || !ops->get_eeprom_len) -return -EOPNOTSUPP ; -if (copy_from_user (&eeprom, useraddr,sizeof (eeprom)))return -EFAULT ;
@@ -771,7 +770,7 @@ static int ethtool_get_eeprom(struct net_device *dev, void __user *useraddr)return -EINVAL ;/* Check for exceeding total eeprom len */ -if (eeprom.offset + eeprom.len > ops->get_eeprom_len (dev)) +if (eeprom.offset + eeprom.len > total_len)return -EINVAL ; data =kmalloc (PAGE_SIZE ,GFP_USER );
@@ -782,7 +781,7 @@ static int ethtool_get_eeprom(struct net_device *dev, void __user *useraddr)while (bytes_remaining >0 ) { eeprom.len =min (bytes_remaining, (u32 )PAGE_SIZE ); - ret = ops->get_eeprom (dev, &eeprom, data); + ret =getter (dev, &eeprom, data);if (ret)break ;if (copy_to_user (userbuf, data, eeprom.len)) {
@@ -803,6 +802,17 @@ static int ethtool_get_eeprom(struct net_device *dev, void __user *useraddr)return ret; } +static int ethtool_get_eeprom (struct net_device *dev,void __user *useraddr) +{ +const struct ethtool_ops *ops = dev->ethtool_ops; + +if (!ops->get_eeprom || !ops->get_eeprom_len) +return -EOPNOTSUPP ; + +return ethtool_get_any_eeprom (dev, useraddr, ops->get_eeprom, + ops->get_eeprom_len (dev)); +} +static int ethtool_set_eeprom (struct net_device *dev,void __user *useraddr) {struct ethtool_eeprom eeprom;
Signature · 1 line
1.7.1
David Miller
maintainerYou can't just submit three seperate patches each with the same exact Subject line.
Otherwise someone scanning the commit headers can't figure out what is different in each of these changes.
There also is no signoff from Ben for patches #2 or #3, did he review them? If so, why didn't he ACK or sign off on it? If not, why not?
Quoted 8 lines · David Miller
You can't just submit three seperate patches each with the same exact Subject line.
Otherwise someone scanning the commit headers can't figure out what is different in each of these changes.
There also is no signoff from Ben for patches #2 or #3, did he review them? If so, why didn't he ACK or sign off on it? If not, why not?
Sorry, I've been busy with another project. I'll reply to Stuart's patches faster next round.
Ben.
Signature · 3 lines
Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.
Quoted 7 lines · David Miller
Quoted 6 lines
You can't just submit three seperate patches each with the same exact Subject line.
Otherwise someone scanning the commit headers can't figure out what is different in each of these changes.
Quoted 7 lines
Quoted 2 lines
There also is no signoff from Ben for patches #2 or #3, did he review them? If so, why didn't he ACK or sign off on it? If not, why not?
Sorry, I've been busy with another project. I'll reply to Stuart's patches faster next round.
Ben.
Hi Stuart,
It's been 3 weeks since you sent the initial patch series which were not accepted. Please reply if you're going to resubmit fixed patches soon, otherwise I'll take over, and complete this task from where you left it.
Thanks much,
Yaniv
Quoted 10 lines
--
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.--
To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 13 lines · Yaniv Rosner
Quoted 13 lines · David Miller
Quoted 8 lines
You can't just submit three seperate patches each with the same exact Subject line.
Otherwise someone scanning the commit headers can't figure out what is different in each of these changes.
There also is no signoff from Ben for patches #2 or #3, did he review them? If so, why didn't he ACK or sign off on it? If not, why not?
Sorry, I've been busy with another project. I'll reply to Stuart's patches faster next round.
Quoted 6 lines
Quoted 1 line
Ben.
Hi Stuart,
It's been 3 weeks since you sent the initial patch series which were not accepted. Please reply if you're going to resubmit fixed patches soon, otherwise I'll take over, and complete this task from where you left it.
I'll be making a pull request including Stuart's patches in the next few days.
Ben.
Signature · 3 lines
Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.