2014-10-22 21:03 GMT-07:00 Guenter Roeck <linux@xxxxxxxxxxxx>:Hi Florian,
Add support for reading switch registers with 'ethtool -d'.
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
---
[snip]
+static int dsa_slave_get_regs_len(struct net_device *dev)
+{
+ struct dsa_slave_priv *p = netdev_priv(dev);
+ struct dsa_switch *ds = p->parent;
+
+ if (ds->drv->get_regs_len != NULL)
+ return ds->drv->get_regs_len(ds, p->port);
Most of the checks in this file are just:
if (ds->drv->callback)
return ds->drv->callback(...)
+
+ return -EOPNOTSUPP;
+}
+
+static void
+dsa_slave_get_regs(struct net_device *dev, struct ethtool_regs *regs, void *_p)
+{
+ struct dsa_slave_priv *p = netdev_priv(dev);
+ struct dsa_switch *ds = p->parent;
+
+ ds->drv->get_regs(ds, p->port, regs, _p);
We need to check that the driver does implement this callback here as well.