Commit cd904373 authored by David S. Miller's avatar David S. Miller

Merge branch 'ethtool-doc'

Jakub Kicinski says:

====================
ethtool: kdoc fixes

Number of kdoc fixes to ethtool headers. All comment changes.

With all the patches posted kdoc script seems happy:
$ ./scripts/kernel-doc -none include/uapi/linux/ethtool.h include/linux/ethtool.h
$

Note that some of the changes are in -next, e.g. the FEC
documentation update so full effect will be seen after
trees converge.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 0c85a7e8 d9c65de0
...@@ -87,9 +87,7 @@ u32 ethtool_op_get_link(struct net_device *dev); ...@@ -87,9 +87,7 @@ u32 ethtool_op_get_link(struct net_device *dev);
int ethtool_op_get_ts_info(struct net_device *dev, struct ethtool_ts_info *eti); int ethtool_op_get_ts_info(struct net_device *dev, struct ethtool_ts_info *eti);
/** /* Link extended state and substate. */
* struct ethtool_link_ext_state_info - link extended state and substate.
*/
struct ethtool_link_ext_state_info { struct ethtool_link_ext_state_info {
enum ethtool_link_ext_state link_ext_state; enum ethtool_link_ext_state link_ext_state;
union { union {
...@@ -292,6 +290,9 @@ struct ethtool_pause_stats { ...@@ -292,6 +290,9 @@ struct ethtool_pause_stats {
* do not attach ext_substate attribute to netlink message). If link_ext_state * do not attach ext_substate attribute to netlink message). If link_ext_state
* and link_ext_substate are unknown, return -ENODATA. If not implemented, * and link_ext_substate are unknown, return -ENODATA. If not implemented,
* link_ext_state and link_ext_substate will not be sent to userspace. * link_ext_state and link_ext_substate will not be sent to userspace.
* @get_eeprom_len: Read range of EEPROM addresses for validation of
* @get_eeprom and @set_eeprom requests.
* Returns 0 if device does not support EEPROM access.
* @get_eeprom: Read data from the device EEPROM. * @get_eeprom: Read data from the device EEPROM.
* Should fill in the magic field. Don't need to check len for zero * Should fill in the magic field. Don't need to check len for zero
* or wraparound. Fill in the data argument with the eeprom values * or wraparound. Fill in the data argument with the eeprom values
...@@ -384,6 +385,8 @@ struct ethtool_pause_stats { ...@@ -384,6 +385,8 @@ struct ethtool_pause_stats {
* @get_module_eeprom: Get the eeprom information from the plug-in module * @get_module_eeprom: Get the eeprom information from the plug-in module
* @get_eee: Get Energy-Efficient (EEE) supported and status. * @get_eee: Get Energy-Efficient (EEE) supported and status.
* @set_eee: Set EEE status (enable/disable) as well as LPI timers. * @set_eee: Set EEE status (enable/disable) as well as LPI timers.
* @get_tunable: Read the value of a driver / device tunable.
* @set_tunable: Set the value of a driver / device tunable.
* @get_per_queue_coalesce: Get interrupt coalescing parameters per queue. * @get_per_queue_coalesce: Get interrupt coalescing parameters per queue.
* It must check that the given queue number is valid. If neither a RX nor * It must check that the given queue number is valid. If neither a RX nor
* a TX queue has this number, return -EINVAL. If only a RX queue or a TX * a TX queue has this number, return -EINVAL. If only a RX queue or a TX
...@@ -547,8 +550,8 @@ struct phy_tdr_config; ...@@ -547,8 +550,8 @@ struct phy_tdr_config;
* @get_sset_count: Get number of strings that @get_strings will write. * @get_sset_count: Get number of strings that @get_strings will write.
* @get_strings: Return a set of strings that describe the requested objects * @get_strings: Return a set of strings that describe the requested objects
* @get_stats: Return extended statistics about the PHY device. * @get_stats: Return extended statistics about the PHY device.
* @start_cable_test - Start a cable test * @start_cable_test: Start a cable test
* @start_cable_test_tdr - Start a Time Domain Reflectometry cable test * @start_cable_test_tdr: Start a Time Domain Reflectometry cable test
* *
* All operations are optional (i.e. the function pointer may be set to %NULL) * All operations are optional (i.e. the function pointer may be set to %NULL)
* and callers must take this into account. Callers must hold the RTNL lock. * and callers must take this into account. Callers must hold the RTNL lock.
......
...@@ -26,6 +26,14 @@ ...@@ -26,6 +26,14 @@
* have the same layout for 32-bit and 64-bit userland. * have the same layout for 32-bit and 64-bit userland.
*/ */
/* Note on reserved space.
* Reserved fields must not be accessed directly by user space because
* they may be replaced by a different field in the future. They must
* be initialized to zero before making the request, e.g. via memset
* of the entire structure or implicitly by not being set in a structure
* initializer.
*/
/** /**
* struct ethtool_cmd - DEPRECATED, link control and status * struct ethtool_cmd - DEPRECATED, link control and status
* This structure is DEPRECATED, please use struct ethtool_link_settings. * This structure is DEPRECATED, please use struct ethtool_link_settings.
...@@ -67,6 +75,7 @@ ...@@ -67,6 +75,7 @@
* and other link features that the link partner advertised * and other link features that the link partner advertised
* through autonegotiation; 0 if unknown or not applicable. * through autonegotiation; 0 if unknown or not applicable.
* Read-only. * Read-only.
* @reserved: Reserved for future use; see the note on reserved space.
* *
* The link speed in Mbps is split between @speed and @speed_hi. Use * The link speed in Mbps is split between @speed and @speed_hi. Use
* the ethtool_cmd_speed() and ethtool_cmd_speed_set() functions to * the ethtool_cmd_speed() and ethtool_cmd_speed_set() functions to
...@@ -155,6 +164,7 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep) ...@@ -155,6 +164,7 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep)
* @bus_info: Device bus address. This should match the dev_name() * @bus_info: Device bus address. This should match the dev_name()
* string for the underlying bus device, if there is one. May be * string for the underlying bus device, if there is one. May be
* an empty string. * an empty string.
* @reserved2: Reserved for future use; see the note on reserved space.
* @n_priv_flags: Number of flags valid for %ETHTOOL_GPFLAGS and * @n_priv_flags: Number of flags valid for %ETHTOOL_GPFLAGS and
* %ETHTOOL_SPFLAGS commands; also the number of strings in the * %ETHTOOL_SPFLAGS commands; also the number of strings in the
* %ETH_SS_PRIV_FLAGS set * %ETH_SS_PRIV_FLAGS set
...@@ -356,6 +366,7 @@ struct ethtool_eeprom { ...@@ -356,6 +366,7 @@ struct ethtool_eeprom {
* @tx_lpi_timer: Time in microseconds the interface delays prior to asserting * @tx_lpi_timer: Time in microseconds the interface delays prior to asserting
* its tx lpi (after reaching 'idle' state). Effective only when eee * its tx lpi (after reaching 'idle' state). Effective only when eee
* was negotiated and tx_lpi_enabled was set. * was negotiated and tx_lpi_enabled was set.
* @reserved: Reserved for future use; see the note on reserved space.
*/ */
struct ethtool_eee { struct ethtool_eee {
__u32 cmd; __u32 cmd;
...@@ -374,6 +385,7 @@ struct ethtool_eee { ...@@ -374,6 +385,7 @@ struct ethtool_eee {
* @cmd: %ETHTOOL_GMODULEINFO * @cmd: %ETHTOOL_GMODULEINFO
* @type: Standard the module information conforms to %ETH_MODULE_SFF_xxxx * @type: Standard the module information conforms to %ETH_MODULE_SFF_xxxx
* @eeprom_len: Length of the eeprom * @eeprom_len: Length of the eeprom
* @reserved: Reserved for future use; see the note on reserved space.
* *
* This structure is used to return the information to * This structure is used to return the information to
* properly size memory for a subsequent call to %ETHTOOL_GMODULEEEPROM. * properly size memory for a subsequent call to %ETHTOOL_GMODULEEEPROM.
...@@ -579,9 +591,7 @@ struct ethtool_pauseparam { ...@@ -579,9 +591,7 @@ struct ethtool_pauseparam {
__u32 tx_pause; __u32 tx_pause;
}; };
/** /* Link extended state */
* enum ethtool_link_ext_state - link extended state
*/
enum ethtool_link_ext_state { enum ethtool_link_ext_state {
ETHTOOL_LINK_EXT_STATE_AUTONEG, ETHTOOL_LINK_EXT_STATE_AUTONEG,
ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE, ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE,
...@@ -595,10 +605,7 @@ enum ethtool_link_ext_state { ...@@ -595,10 +605,7 @@ enum ethtool_link_ext_state {
ETHTOOL_LINK_EXT_STATE_OVERHEAT, ETHTOOL_LINK_EXT_STATE_OVERHEAT,
}; };
/** /* More information in addition to ETHTOOL_LINK_EXT_STATE_AUTONEG. */
* enum ethtool_link_ext_substate_autoneg - more information in addition to
* ETHTOOL_LINK_EXT_STATE_AUTONEG.
*/
enum ethtool_link_ext_substate_autoneg { enum ethtool_link_ext_substate_autoneg {
ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 1, ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 1,
ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED, ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED,
...@@ -608,9 +615,7 @@ enum ethtool_link_ext_substate_autoneg { ...@@ -608,9 +615,7 @@ enum ethtool_link_ext_substate_autoneg {
ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD, ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD,
}; };
/** /* More information in addition to ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE.
* enum ethtool_link_ext_substate_link_training - more information in addition to
* ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE.
*/ */
enum ethtool_link_ext_substate_link_training { enum ethtool_link_ext_substate_link_training {
ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 1, ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 1,
...@@ -619,9 +624,7 @@ enum ethtool_link_ext_substate_link_training { ...@@ -619,9 +624,7 @@ enum ethtool_link_ext_substate_link_training {
ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT, ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT,
}; };
/** /* More information in addition to ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH.
* enum ethtool_link_ext_substate_logical_mismatch - more information in addition
* to ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH.
*/ */
enum ethtool_link_ext_substate_link_logical_mismatch { enum ethtool_link_ext_substate_link_logical_mismatch {
ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 1, ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 1,
...@@ -631,19 +634,14 @@ enum ethtool_link_ext_substate_link_logical_mismatch { ...@@ -631,19 +634,14 @@ enum ethtool_link_ext_substate_link_logical_mismatch {
ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED, ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED,
}; };
/** /* More information in addition to ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY.
* enum ethtool_link_ext_substate_bad_signal_integrity - more information in
* addition to ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY.
*/ */
enum ethtool_link_ext_substate_bad_signal_integrity { enum ethtool_link_ext_substate_bad_signal_integrity {
ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1, ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1,
ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE, ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE,
}; };
/** /* More information in addition to ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE. */
* enum ethtool_link_ext_substate_cable_issue - more information in
* addition to ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE.
*/
enum ethtool_link_ext_substate_cable_issue { enum ethtool_link_ext_substate_cable_issue {
ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 1, ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 1,
ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE, ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE,
...@@ -661,6 +659,7 @@ enum ethtool_link_ext_substate_cable_issue { ...@@ -661,6 +659,7 @@ enum ethtool_link_ext_substate_cable_issue {
* now deprecated * now deprecated
* @ETH_SS_FEATURES: Device feature names * @ETH_SS_FEATURES: Device feature names
* @ETH_SS_RSS_HASH_FUNCS: RSS hush function names * @ETH_SS_RSS_HASH_FUNCS: RSS hush function names
* @ETH_SS_TUNABLES: tunable names
* @ETH_SS_PHY_STATS: Statistic names, for use with %ETHTOOL_GPHYSTATS * @ETH_SS_PHY_STATS: Statistic names, for use with %ETHTOOL_GPHYSTATS
* @ETH_SS_PHY_TUNABLES: PHY tunable names * @ETH_SS_PHY_TUNABLES: PHY tunable names
* @ETH_SS_LINK_MODES: link mode names * @ETH_SS_LINK_MODES: link mode names
...@@ -670,6 +669,8 @@ enum ethtool_link_ext_substate_cable_issue { ...@@ -670,6 +669,8 @@ enum ethtool_link_ext_substate_cable_issue {
* @ETH_SS_TS_TX_TYPES: timestamping Tx types * @ETH_SS_TS_TX_TYPES: timestamping Tx types
* @ETH_SS_TS_RX_FILTERS: timestamping Rx filters * @ETH_SS_TS_RX_FILTERS: timestamping Rx filters
* @ETH_SS_UDP_TUNNEL_TYPES: UDP tunnel types * @ETH_SS_UDP_TUNNEL_TYPES: UDP tunnel types
*
* @ETH_SS_COUNT: number of defined string sets
*/ */
enum ethtool_stringset { enum ethtool_stringset {
ETH_SS_TEST = 0, ETH_SS_TEST = 0,
...@@ -715,6 +716,7 @@ struct ethtool_gstrings { ...@@ -715,6 +716,7 @@ struct ethtool_gstrings {
/** /**
* struct ethtool_sset_info - string set information * struct ethtool_sset_info - string set information
* @cmd: Command number = %ETHTOOL_GSSET_INFO * @cmd: Command number = %ETHTOOL_GSSET_INFO
* @reserved: Reserved for future use; see the note on reserved space.
* @sset_mask: On entry, a bitmask of string sets to query, with bits * @sset_mask: On entry, a bitmask of string sets to query, with bits
* numbered according to &enum ethtool_stringset. On return, a * numbered according to &enum ethtool_stringset. On return, a
* bitmask of those string sets queried that are supported. * bitmask of those string sets queried that are supported.
...@@ -759,6 +761,7 @@ enum ethtool_test_flags { ...@@ -759,6 +761,7 @@ enum ethtool_test_flags {
* @flags: A bitmask of flags from &enum ethtool_test_flags. Some * @flags: A bitmask of flags from &enum ethtool_test_flags. Some
* flags may be set by the user on entry; others may be set by * flags may be set by the user on entry; others may be set by
* the driver on return. * the driver on return.
* @reserved: Reserved for future use; see the note on reserved space.
* @len: On return, the number of test results * @len: On return, the number of test results
* @data: Array of test results * @data: Array of test results
* *
...@@ -959,6 +962,7 @@ union ethtool_flow_union { ...@@ -959,6 +962,7 @@ union ethtool_flow_union {
* @vlan_etype: VLAN EtherType * @vlan_etype: VLAN EtherType
* @vlan_tci: VLAN tag control information * @vlan_tci: VLAN tag control information
* @data: user defined data * @data: user defined data
* @padding: Reserved for future use; see the note on reserved space.
* *
* Note, @vlan_etype, @vlan_tci, and @data are only valid if %FLOW_EXT * Note, @vlan_etype, @vlan_tci, and @data are only valid if %FLOW_EXT
* is set in &struct ethtool_rx_flow_spec @flow_type. * is set in &struct ethtool_rx_flow_spec @flow_type.
...@@ -1134,7 +1138,8 @@ struct ethtool_rxfh_indir { ...@@ -1134,7 +1138,8 @@ struct ethtool_rxfh_indir {
* hardware hash key. * hardware hash key.
* @hfunc: Defines the current RSS hash function used by HW (or to be set to). * @hfunc: Defines the current RSS hash function used by HW (or to be set to).
* Valid values are one of the %ETH_RSS_HASH_*. * Valid values are one of the %ETH_RSS_HASH_*.
* @rsvd: Reserved for future extensions. * @rsvd8: Reserved for future use; see the note on reserved space.
* @rsvd32: Reserved for future use; see the note on reserved space.
* @rss_config: RX ring/queue index for each hash value i.e., indirection table * @rss_config: RX ring/queue index for each hash value i.e., indirection table
* of @indir_size __u32 elements, followed by hash key of @key_size * of @indir_size __u32 elements, followed by hash key of @key_size
* bytes. * bytes.
...@@ -1302,7 +1307,9 @@ struct ethtool_sfeatures { ...@@ -1302,7 +1307,9 @@ struct ethtool_sfeatures {
* @so_timestamping: bit mask of the sum of the supported SO_TIMESTAMPING flags * @so_timestamping: bit mask of the sum of the supported SO_TIMESTAMPING flags
* @phc_index: device index of the associated PHC, or -1 if there is none * @phc_index: device index of the associated PHC, or -1 if there is none
* @tx_types: bit mask of the supported hwtstamp_tx_types enumeration values * @tx_types: bit mask of the supported hwtstamp_tx_types enumeration values
* @tx_reserved: Reserved for future use; see the note on reserved space.
* @rx_filters: bit mask of the supported hwtstamp_rx_filters enumeration values * @rx_filters: bit mask of the supported hwtstamp_rx_filters enumeration values
* @rx_reserved: Reserved for future use; see the note on reserved space.
* *
* The bits in the 'tx_types' and 'rx_filters' fields correspond to * The bits in the 'tx_types' and 'rx_filters' fields correspond to
* the 'hwtstamp_tx_types' and 'hwtstamp_rx_filters' enumeration values, * the 'hwtstamp_tx_types' and 'hwtstamp_rx_filters' enumeration values,
...@@ -1958,6 +1965,11 @@ enum ethtool_reset_flags { ...@@ -1958,6 +1965,11 @@ enum ethtool_reset_flags {
* autonegotiation; 0 if unknown or not applicable. Read-only. * autonegotiation; 0 if unknown or not applicable. Read-only.
* @transceiver: Used to distinguish different possible PHY types, * @transceiver: Used to distinguish different possible PHY types,
* reported consistently by PHYLIB. Read-only. * reported consistently by PHYLIB. Read-only.
* @master_slave_cfg: Master/slave port mode.
* @master_slave_state: Master/slave port state.
* @reserved: Reserved for future use; see the note on reserved space.
* @reserved1: Reserved for future use; see the note on reserved space.
* @link_mode_masks: Variable length bitmaps.
* *
* If autonegotiation is disabled, the speed and @duplex represent the * If autonegotiation is disabled, the speed and @duplex represent the
* fixed link mode and are writable if the driver supports multiple * fixed link mode and are writable if the driver supports multiple
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment