From e21c1e2ef6b0bdef493a7199be38827bb4baaacf Mon Sep 17 00:00:00 2001 From: Brandon Philips Date: Tue, 15 Jul 2008 02:18:41 -0700 Subject: [PATCH] --- yaml --- r: 107995 b: refs/heads/master c: b11f8d8cc3bb2fa6fa55286babc1a5ebb2e932c4 h: refs/heads/master i: 107993: afac2347e71578d9beb26fa267c3a5f99dbf4220 107991: 0d306d71e40de89b5a647f662dafc55c8d9096f5 v: v3 --- [refs] | 2 +- trunk/include/linux/ethtool.h | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 4f8f57ae859e..d3a6ff8e178d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4f63135eb23015a17eaf4f7478deedf63e98ff5c +refs/heads/master: b11f8d8cc3bb2fa6fa55286babc1a5ebb2e932c4 diff --git a/trunk/include/linux/ethtool.h b/trunk/include/linux/ethtool.h index 8bb5e87df365..b4b038b89ee6 100644 --- a/trunk/include/linux/ethtool.h +++ b/trunk/include/linux/ethtool.h @@ -27,9 +27,24 @@ struct ethtool_cmd { __u8 autoneg; /* Enable or disable autonegotiation */ __u32 maxtxpkt; /* Tx pkts before generating tx int */ __u32 maxrxpkt; /* Rx pkts before generating rx int */ - __u32 reserved[4]; + __u16 speed_hi; + __u16 reserved2; + __u32 reserved[3]; }; +static inline void ethtool_cmd_speed_set(struct ethtool_cmd *ep, + __u32 speed) +{ + + ep->speed = (__u16)speed; + ep->speed_hi = (__u16)(speed >> 16); +} + +static inline __u32 ethtool_cmd_speed(struct ethtool_cmd *ep) +{ + return (ep->speed_hi << 16) | ep->speed; +} + #define ETHTOOL_BUSINFO_LEN 32 /* these strings are set to whatever the driver author decides... */ struct ethtool_drvinfo {