diff options
author | Richard Cochran <richardcochran@gmail.com> | 2012-04-03 22:59:22 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-04 05:28:46 -0400 |
commit | 02eacbd0c405d378d2357e8e0fac5de981bd40f8 (patch) | |
tree | c6213bbd5f83b8dc4a5dd06f35792beb91116bd7 | |
parent | 509a7c25729feab353502e1b544c614772a1d49a (diff) | |
download | op-kernel-dev-02eacbd0c405d378d2357e8e0fac5de981bd40f8.zip op-kernel-dev-02eacbd0c405d378d2357e8e0fac5de981bd40f8.tar.gz |
ethtool: Add a common function for drivers with transmit time stamping.
Currently, most drivers do not support transmit SO_TIMESTAMPING. For those
that do support it, there is one appropriate response to the get_ts_info
query. This patch adds a common function providing this response.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Reviewed-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/linux/ethtool.h | 1 | ||||
-rw-r--r-- | net/core/ethtool.c | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index 1769714..560a247 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h @@ -811,6 +811,7 @@ struct net_device; /* Some generic methods drivers may use in their ethtool_ops */ u32 ethtool_op_get_link(struct net_device *dev); +int ethtool_op_get_ts_info(struct net_device *dev, struct ethtool_ts_info *eti); /** * ethtool_rxfh_indir_default - get default value for RX flow hash indirection diff --git a/net/core/ethtool.c b/net/core/ethtool.c index a723b13..beacdd9 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c @@ -38,6 +38,17 @@ u32 ethtool_op_get_link(struct net_device *dev) } EXPORT_SYMBOL(ethtool_op_get_link); +int ethtool_op_get_ts_info(struct net_device *dev, struct ethtool_ts_info *info) +{ + info->so_timestamping = + SOF_TIMESTAMPING_TX_SOFTWARE | + SOF_TIMESTAMPING_RX_SOFTWARE | + SOF_TIMESTAMPING_SOFTWARE; + info->phc_index = -1; + return 0; +} +EXPORT_SYMBOL(ethtool_op_get_ts_info); + /* Handlers for each ethtool command */ #define ETHTOOL_DEV_FEATURE_WORDS ((NETDEV_FEATURE_COUNT + 31) / 32) |