net: cdc_ether: record speed in status method
authorGrant Grundler <grundler@chromium.org>
Mon, 5 Apr 2021 23:13:44 +0000 (16:13 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Apr 2021 23:22:37 +0000 (16:22 -0700)
commitd42ebcbb635386d759985c775b5728c2f93037d1
treefe2bce0355e4d8813884def52ab4867b5f27852d
parenteb47c274d8c44e1a1d7e44f9e82776e5adb5649b
net: cdc_ether: record speed in status method

Until very recently, the usbnet framework only had support functions
for devices which reported the link speed by explicitly querying the
PHY over a MDIO interface. However, the cdc_ether devices send
notifications when the link state or link speeds change and do not
expose the PHY (or modem) directly.

Support funtions (e.g. usbnet_get_link_ksettings_internal()) to directly
query state recorded by the cdc_ether driver were added in a previous patch.

Instead of cdc_ether spewing the link speed into the dmesg buffer,
record the link speed encoded in these notifications and tell the
usbnet framework to use the new functions to get link speed/state.

User space can now get the most recent link speed/state using ethtool.

v4: added to series since cdc_ether uses same notifications
    as cdc_ncm driver.

Signed-off-by: Grant Grundler <grundler@chromium.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/cdc_ether.c