mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 19:29:37 +00:00
ethtool: add speed/duplex validation functions
Add functions which check if the speed/duplex are defined. Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
13340a0a71
commit
103a8ad1fa
1 changed files with 34 additions and 0 deletions
|
@ -1319,11 +1319,45 @@ enum ethtool_sfeatures_retval_bits {
|
|||
|
||||
#define SPEED_UNKNOWN -1
|
||||
|
||||
static inline int ethtool_validate_speed(__u32 speed)
|
||||
{
|
||||
switch (speed) {
|
||||
case SPEED_10:
|
||||
case SPEED_100:
|
||||
case SPEED_1000:
|
||||
case SPEED_2500:
|
||||
case SPEED_5000:
|
||||
case SPEED_10000:
|
||||
case SPEED_20000:
|
||||
case SPEED_25000:
|
||||
case SPEED_40000:
|
||||
case SPEED_50000:
|
||||
case SPEED_56000:
|
||||
case SPEED_100000:
|
||||
case SPEED_UNKNOWN:
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Duplex, half or full. */
|
||||
#define DUPLEX_HALF 0x00
|
||||
#define DUPLEX_FULL 0x01
|
||||
#define DUPLEX_UNKNOWN 0xff
|
||||
|
||||
static inline int ethtool_validate_duplex(__u8 duplex)
|
||||
{
|
||||
switch (duplex) {
|
||||
case DUPLEX_HALF:
|
||||
case DUPLEX_FULL:
|
||||
case DUPLEX_UNKNOWN:
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Which connector port. */
|
||||
#define PORT_TP 0x00
|
||||
#define PORT_AUI 0x01
|
||||
|
|
Loading…
Reference in a new issue