net/dsa/user.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
if dsa device supports custom selftests than we should use custom
selftest strings for ethtool.
Signed-off-by: Ante Knezic <ante.knezic@helmholz.de>
---
net/dsa/user.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/net/dsa/user.c b/net/dsa/user.c
index d438884a4eb0..d0e0d1a2bff7 100644
--- a/net/dsa/user.c
+++ b/net/dsa/user.c
@@ -1072,7 +1072,11 @@ static void dsa_user_get_strings(struct net_device *dev,
ds->ops->get_strings(ds, dp->index, stringset,
data + 4 * len);
} else if (stringset == ETH_SS_TEST) {
- net_selftest_get_strings(data);
+ if (ds->ops->self_test && ds->ops->get_strings)
+ ds->ops->get_strings(ds, dp->index, stringset,
+ data);
+ else
+ net_selftest_get_strings(data);
}
}
@@ -1123,7 +1127,10 @@ static int dsa_user_get_sset_count(struct net_device *dev, int sset)
return count + 4;
} else if (sset == ETH_SS_TEST) {
- return net_selftest_get_count();
+ if (ds->ops->self_test && ds->ops->get_sset_count)
+ return ds->ops->get_sset_count(ds, dp->index, sset);
+ else
+ return net_selftest_get_count();
}
return -EOPNOTSUPP;
--
2.11.0
On Thu, Dec 14, 2023 at 03:21:36PM +0100, Ante Knezic wrote: > if dsa device supports custom selftests than we should use custom > selftest strings for ethtool. > > Signed-off-by: Ante Knezic <ante.knezic@helmholz.de> > --- I didn't notice when the selftest support was added that there is no implementation in DSA drivers of custom ds->ops->self_test(). Adding interfaces with no users is frowned upon, precisely because it doesn't show the big picture. You must have noticed this because you do have a driver implementation, so would you mind posting it together with this fix?
Indeed I do have a custom implementation for the mv88e6xxx chip, but its not come to state to be posted because of test/chip specifics. > I didn't notice when the selftest support was added that there is no > implementation in DSA drivers of custom ds->ops->self_test(). Adding > interfaces with no users is frowned upon, precisely because it doesn't > show the big picture. I was not aware of this, I apologize. If this is the case, perhaps this patch should wait for the first custom self test implementation and be reposted as a part of bigger series. Thanks, Ante
On Thu, Dec 14, 2023 at 03:47:51PM +0100, Ante Knezic wrote: > Indeed I do have a custom implementation for the mv88e6xxx chip, but its not > come to state to be posted because of test/chip specifics. > > > I didn't notice when the selftest support was added that there is no > > implementation in DSA drivers of custom ds->ops->self_test(). Adding > > interfaces with no users is frowned upon, precisely because it doesn't > > show the big picture. > > I was not aware of this, I apologize. If this is the case, perhaps this patch > should wait for the first custom self test implementation and be reposted as > a part of bigger series. > > Thanks, > Ante > I agree this should be resubmitted with a user of the API. Looking forward to seeing it. Thanks for the understanding. The only thing I would want to comment on the patch as it is is to avoid the pattern of: if (a) return x; else return y; and formulate it as: if (a) return x; return y; instead. The "else" is redundant for an "if" that ends with a return statement. --- pw-bot: changes-requested
© 2016 - 2025 Red Hat, Inc.