aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorAllan, Bruce W <bruce.w.allan@intel.com>2011-04-13 09:09:10 -0400
committerDavid S. Miller <davem@davemloft.net>2011-04-15 00:15:49 -0400
commitfce55922f5299a04c0a56b170a141fab34f13465 (patch)
tree91c6eeea0957b41199641c43add0e8170ad65f89 /include/linux
parent21d8c49e01a0c1c6eb6c750cd04110db4a539284 (diff)
ethtool: allow custom interval for physical identification
When physical identification of an adapter is done by toggling the mechanism on and off through software utilizing the set_phys_id operation, it is done with a fixed duration for both on and off states. Some drivers may want to set a custom duration for the on/off intervals. This patch changes the API so the return code from the driver's entry point when it is called with ETHTOOL_ID_ACTIVE can specify the frequency at which to cycle the on/off states, and updates the drivers that have already been converted to use the new set_phys_id and use the synchronous method for identifying an adapter. The physical identification frequency set in the updated drivers is based on how it was done prior to the introduction of set_phys_id. Compile tested only. Also fixes a compiler warning in sfc. v2: drivers do not return -EINVAL for ETHOOL_ID_ACTIVE v3: fold patchset into single patch and cleanup per Ben's feedback Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Cc: Ben Hutchings <bhutchings@solarflare.com> Cc: Sathya Perla <sathya.perla@emulex.com> Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com> Cc: Ajit Khaparde <ajit.khaparde@emulex.com> Cc: Michael Chan <mchan@broadcom.com> Cc: Eilon Greenstein <eilong@broadcom.com> Cc: Divy Le Ray <divy@chelsio.com> Cc: Don Fry <pcnet32@frontier.com> Cc: Jon Mason <jdmason@kudzu.us> Cc: Solarflare linux maintainers <linux-net-drivers@solarflare.com> Cc: Steve Hodgson <shodgson@solarflare.com> Cc: Stephen Hemminger <shemminger@linux-foundation.org> Cc: Matt Carlson <mcarlson@broadcom.com> Acked-by: Jon Mason <jdmason@kudzu.us> Acked-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ethtool.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index ad22a68c2e5d..9de31274341d 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -798,8 +798,10 @@ bool ethtool_invalid_flags(struct net_device *dev, u32 data, u32 supported);
798 * attached to it. The implementation may update the indicator 798 * attached to it. The implementation may update the indicator
799 * asynchronously or synchronously, but in either case it must return 799 * asynchronously or synchronously, but in either case it must return
800 * quickly. It is initially called with the argument %ETHTOOL_ID_ACTIVE, 800 * quickly. It is initially called with the argument %ETHTOOL_ID_ACTIVE,
801 * and must either activate asynchronous updates or return -%EINVAL. 801 * and must either activate asynchronous updates and return zero, return
802 * If it returns -%EINVAL then it will be called again at intervals with 802 * a negative error or return a positive frequency for synchronous
803 * indication (e.g. 1 for one on/off cycle per second). If it returns
804 * a frequency then it will be called again at intervals with the
803 * argument %ETHTOOL_ID_ON or %ETHTOOL_ID_OFF and should set the state of 805 * argument %ETHTOOL_ID_ON or %ETHTOOL_ID_OFF and should set the state of
804 * the indicator accordingly. Finally, it is called with the argument 806 * the indicator accordingly. Finally, it is called with the argument
805 * %ETHTOOL_ID_INACTIVE and must deactivate the indicator. Returns a 807 * %ETHTOOL_ID_INACTIVE and must deactivate the indicator. Returns a