From: Ben Hutchings <ben@decadent.org.uk>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: [PATCH net-next 02/14] ethtool: Expand documentation of struct ethtool_drvinfo
Date: Wed, 12 Feb 2014 22:14:03 +0000 [thread overview]
Message-ID: <1392243243.15615.6.camel@deadeye.wl.decadent.org.uk> (raw)
In-Reply-To: <1392243184.15615.4.camel@deadeye.wl.decadent.org.uk>
[-- Attachment #1: Type: text/plain, Size: 3803 bytes --]
Replace the inline comments (and some others below) with a full
explanation of the semantics, in kernel-doc format. Specify which
strings may be empty. Document the relationship with other commands.
Replace the 'deprecation' of some fields with a proper explanation of
the conversion to generalised string sets, as userland programs may
not be able to assume that ETHTOOL_GSSET_INFO is available.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
include/uapi/linux/ethtool.h | 56 ++++++++++++++++++++++++++++++--------------
1 file changed, 39 insertions(+), 17 deletions(-)
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
index c4d5eb2..cc523cb 100644
--- a/include/uapi/linux/ethtool.h
+++ b/include/uapi/linux/ethtool.h
@@ -139,28 +139,50 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep)
#define ETHTOOL_FWVERS_LEN 32
#define ETHTOOL_BUSINFO_LEN 32
-/* these strings are set to whatever the driver author decides... */
+
+/**
+ * struct ethtool_drvinfo - general driver and device information
+ * @cmd: Command number = %ETHTOOL_GDRVINFO
+ * @driver: Driver short name. This should normally match the name
+ * in its bus driver structure (e.g. pci_driver::name). Must
+ * not be an empty string.
+ * @version: Driver version string; may be an empty string
+ * @fw_version: Firmware version string; may be an empty string
+ * @bus_info: Device bus address. This should match the dev_name()
+ * string for the underlying bus device, if there is one. May be
+ * an empty string.
+ * @n_priv_flags: Number of flags valid for %ETHTOOL_GPFLAGS and
+ * %ETHTOOL_SPFLAGS commands; also the number of strings in the
+ * %ETH_SS_PRIV_FLAGS set
+ * @n_stats: Number of u64 statistics returned by the %ETHTOOL_GSTATS
+ * command; also the number of strings in the %ETH_SS_STATS set
+ * @testinfo_len: Number of results returned by the %ETHTOOL_TEST
+ * command; also the number of strings in the %ETH_SS_TEST set
+ * @eedump_len: Size of EEPROM accessible through the %ETHTOOL_GEEPROM
+ * and %ETHTOOL_SEEPROM commands, in bytes
+ * @regdump_len: Size of register dump returned by the %ETHTOOL_GREGS
+ * command, in bytes
+ *
+ * Users can use the %ETHTOOL_GSSET_INFO command to get the number of
+ * strings in any string set (from Linux 2.6.34).
+ *
+ * Drivers should set at most @driver, @version, @fw_version and
+ * @bus_info in their get_drvinfo() implementation. The ethtool
+ * core fills in the other fields using other driver operations.
+ */
struct ethtool_drvinfo {
__u32 cmd;
- char driver[32]; /* driver short name, "tulip", "eepro100" */
- char version[32]; /* driver version string */
- char fw_version[ETHTOOL_FWVERS_LEN]; /* firmware version string */
- char bus_info[ETHTOOL_BUSINFO_LEN]; /* Bus info for this IF. */
- /* For PCI devices, use pci_name(pci_dev). */
+ char driver[32];
+ char version[32];
+ char fw_version[ETHTOOL_FWVERS_LEN];
+ char bus_info[ETHTOOL_BUSINFO_LEN];
char reserved1[32];
char reserved2[12];
- /*
- * Some struct members below are filled in
- * using ops->get_sset_count(). Obtaining
- * this info from ethtool_drvinfo is now
- * deprecated; Use ETHTOOL_GSSET_INFO
- * instead.
- */
- __u32 n_priv_flags; /* number of flags valid in ETHTOOL_GPFLAGS */
- __u32 n_stats; /* number of u64's from ETHTOOL_GSTATS */
+ __u32 n_priv_flags;
+ __u32 n_stats;
__u32 testinfo_len;
- __u32 eedump_len; /* Size of data from ETHTOOL_GEEPROM (bytes) */
- __u32 regdump_len; /* Size of data from ETHTOOL_GREGS (bytes) */
+ __u32 eedump_len;
+ __u32 regdump_len;
};
#define SOPASS_MAX 6
--
Ben Hutchings
If more than one person is responsible for a bug, no one is at fault.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 811 bytes --]
next prev parent reply other threads:[~2014-02-12 22:14 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-12 22:13 [PATCH net-next 00/14] ethtool: Improve documentation Ben Hutchings
2014-02-12 22:13 ` [PATCH net-next 01/14] ethtool: Expand documentation of struct ethtool_cmd Ben Hutchings
2014-02-12 22:14 ` Ben Hutchings [this message]
2014-02-12 22:14 ` [PATCH net-next 03/14] ethtool: Expand documentation of struct ethtool_wol Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 04/14] ethtool: Expand documentation of struct ethtool_regs Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 05/14] ethtool: Expand documentation of struct ethtool_eeprom Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 06/14] ethtool: Expand documentation of struct ethtool_ringparam Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 07/14] ethtool: Update documentation of struct ethtool_pauseparam Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 08/14] ethtool: Expand documentation of string set types Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 09/14] ethtool: Expand documentation of struct ethtool_test Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 10/14] ethtool: Expand documentation of struct ethtool_stats Ben Hutchings
2014-02-13 9:17 ` David Laight
2014-02-13 22:56 ` Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 11/14] ethtool: Expand documentation of struct ethtool_perm_addr Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 12/14] ethtool: Document the general convention for VLAs in kernel space Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 13/14] ethtool: Move kernel-doc comment next to struct ethtool_dump definition Ben Hutchings
2014-02-12 22:15 ` [PATCH net-next 14/14] ethtool: Fix unwanted section breaks in kernel-doc Ben Hutchings
2014-02-12 22:36 ` [PATCH net-next 00/14] ethtool: Improve documentation David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1392243243.15615.6.camel@deadeye.wl.decadent.org.uk \
--to=ben@decadent.org.uk \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox