Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 315054
b: refs/heads/master
c: 9fa32e9
h: refs/heads/master
v: v3
  • Loading branch information
Emeric Vigier authored and David S. Miller committed Jul 9, 2012
1 parent de61a40 commit 398a16b
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 36efc94b1d09e75fc18b400b0fba8220f967fb44
refs/heads/master: 9fa32e94dc4f08505934b9b015e2dfea9ae18555
31 changes: 31 additions & 0 deletions trunk/drivers/net/usb/smsc95xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -578,6 +578,35 @@ static int smsc95xx_ethtool_set_eeprom(struct net_device *netdev,
return smsc95xx_write_eeprom(dev, ee->offset, ee->len, data);
}

static int smsc95xx_ethtool_getregslen(struct net_device *netdev)
{
/* all smsc95xx registers */
return COE_CR - ID_REV + 1;
}

static void
smsc95xx_ethtool_getregs(struct net_device *netdev, struct ethtool_regs *regs,
void *buf)
{
struct usbnet *dev = netdev_priv(netdev);
unsigned int i, j, retval;
u32 *data = buf;

retval = smsc95xx_read_reg(dev, ID_REV, &regs->version);
if (retval < 0) {
netdev_warn(netdev, "REGS: cannot read ID_REV\n");
return;
}

for (i = ID_REV, j = 0; i <= COE_CR; i += (sizeof(u32)), j++) {
retval = smsc95xx_read_reg(dev, i, &data[j]);
if (retval < 0) {
netdev_warn(netdev, "REGS: cannot read reg[%x]\n", i);
return;
}
}
}

static const struct ethtool_ops smsc95xx_ethtool_ops = {
.get_link = usbnet_get_link,
.nway_reset = usbnet_nway_reset,
Expand All @@ -589,6 +618,8 @@ static const struct ethtool_ops smsc95xx_ethtool_ops = {
.get_eeprom_len = smsc95xx_ethtool_get_eeprom_len,
.get_eeprom = smsc95xx_ethtool_get_eeprom,
.set_eeprom = smsc95xx_ethtool_set_eeprom,
.get_regs_len = smsc95xx_ethtool_getregslen,
.get_regs = smsc95xx_ethtool_getregs,
};

static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
Expand Down

0 comments on commit 398a16b

Please sign in to comment.