Re: [RFC PATCH net-next v2 10/17] ethtool: implement GET_SETTINGS message
From: Andrew Lunn <andrew@lunn.ch>
Date: 2018-08-21 14:10:30
Also in:
lkml
On Tue, Aug 21, 2018 at 11:32:46AM +0200, Michal Kubecek wrote:
On Mon, Jul 30, 2018 at 08:54:55PM +0200, Andrew Lunn wrote:quoted
quoted
+/* Internal kernel helper to query a device ethtool_link_settings. + * + * Backward compatibility note: for compatibility with legacy drivers + * that implement only the ethtool_cmd API, this has to work with both + * drivers implementing get_link_ksettings API and drivers + * implementing get_settings API. When drivers implement get_settings + * and report ethtool_cmd deprecated fields + * (transceiver/maxrxpkt/maxtxpkt), these fields are silently ignored + * because the resulting struct ethtool_link_settings does not report them.~/linux/drivers$ grep -r [.]get_settings * net/ethernet/8390/etherh.c: .get_settings = etherh_get_settings, I don't think it is worth adding support for .get_settings for just one driver. It is better to just convert that driver to the new API.I have prepared a patch converting 8390/etherh driver to use {g,s}et_link_ksettings and I'm going to submit it when net-next opens. Do you think we can then drop {g,s}et_settings callbacks completely (i.e. also from ioctl() code and ethtool_ops)? Do we care about unconverted out of tree drivers?
Hi Michal We cannot break ethtool, the ABI it uses. But there is already code to use get_link_ksettings() and only fall back to get_settings if it does not exist. So we can clean up all the fallback code, remove the ethtool_ops, etc. I personally don't care about out of tree drivers. They have had over 2 years to change to the new API. Andrew