On Tue, May 05, 2020 at 02:18:14AM +0200, Andrew Lunn wrote: > Add new ethtool netlink calls to trigger the starting of a PHY cable > test. > > Add Kconfig'ury to ETHTOOL_NETLINK so that PHYLIB is not a module when > ETHTOOL_NETLINK is builtin, which would result in kernel linking errors. > > v2: > Remove unwanted white space change > Remove ethnl_cable_test_act_ops and use doit handler > Rename cable_test_set_policy cable_test_act_policy > Remove ETHTOOL_MSG_CABLE_TEST_ACT_REPLY > > Signed-off-by: Andrew Lunn <and...@lunn.ch> > --- > diff --git a/Documentation/networking/ethtool-netlink.rst > b/Documentation/networking/ethtool-netlink.rst > index 567326491f80..72d53da2bea9 100644 > --- a/Documentation/networking/ethtool-netlink.rst > +++ b/Documentation/networking/ethtool-netlink.rst > @@ -204,6 +204,7 @@ Userspace to kernel: > ``ETHTOOL_MSG_EEE_GET`` get EEE settings > ``ETHTOOL_MSG_EEE_SET`` set EEE settings > ``ETHTOOL_MSG_TSINFO_GET`` get timestamping info > + ``ETHTOOL_MSG_CABLE_TEST_ACT`` action start cable test > ===================================== ================================ > > Kernel to userspace: > @@ -235,6 +236,7 @@ Kernel to userspace: > ``ETHTOOL_MSG_EEE_GET_REPLY`` EEE settings > ``ETHTOOL_MSG_EEE_NTF`` EEE settings > ``ETHTOOL_MSG_TSINFO_GET_REPLY`` timestamping info > + ``ETHTOOL_MSG_CABLE_TEST_ACT_REPLY`` Cable test action result
This was dropped. [...] > diff --git a/net/ethtool/cabletest.c b/net/ethtool/cabletest.c > new file mode 100644 > index 000000000000..6e5782a7da80 > --- /dev/null > +++ b/net/ethtool/cabletest.c > @@ -0,0 +1,61 @@ > +// SPDX-License-Identifier: GPL-2.0-only > + > +#include <linux/phy.h> > +#include "netlink.h" > +#include "common.h" > +#include "bitset.h" > + > +static const struct nla_policy > +cable_test_get_policy[ETHTOOL_A_CABLE_TEST_MAX + 1] = { > + [ETHTOOL_A_CABLE_TEST_UNSPEC] = { .type = NLA_REJECT }, > + [ETHTOOL_A_CABLE_TEST_HEADER] = { .type = NLA_NESTED }, > +}; This policy is probably a leftover from the previous version. Also, you don't need to include bitset.h [...] > diff --git a/net/ethtool/netlink.h b/net/ethtool/netlink.h > index 81b8fa020bcb..03e65e2b9e3d 100644 > --- a/net/ethtool/netlink.h > +++ b/net/ethtool/netlink.h > @@ -345,6 +345,7 @@ extern const struct ethnl_request_ops > ethnl_coalesce_request_ops; > extern const struct ethnl_request_ops ethnl_pause_request_ops; > extern const struct ethnl_request_ops ethnl_eee_request_ops; > extern const struct ethnl_request_ops ethnl_tsinfo_request_ops; > +extern const struct ethnl_request_ops ethnl_cable_test_act_ops; This was also dropped. Excepts for the cleanups suggested above, Reviewed-by: Michal Kubecek <mkube...@suse.cz> Michal