diff options
author | Andrew Lunn <andrew@lunn.ch> | 2018-12-05 15:49:41 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-12-05 19:26:16 -0500 |
commit | 78a24df370072ea3b7c0a466efd776fc8f87c73a (patch) | |
tree | ff4b6299aaccca612d270b23fcf4674ae216c8d3 /include/linux/linkmode.h | |
parent | 5f15eed245bc6d7c82d44f0ebcaf62071a9d55bd (diff) |
net: mii: Rename mii_stat1000_to_linkmode_lpa_t
Rename mii_stat1000_to_linkmode_lpa_t to
mii_stat1000_mod_linkmode_lpa_t to indicate it modifies the passed
linkmode bitmap, without clearing any other bits.
Add a helper to set/clear bits in a linkmode.
Use this helper to ensure bit are clear which the stat1000 indicates
should not be set.
Fixes: c0ec3c273677 ("net: phy: Convert u32 phydev->lp_advertising to linkmode")
Suggested-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/linkmode.h')
-rw-r--r-- | include/linux/linkmode.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/linkmode.h b/include/linux/linkmode.h index 22443d7fb5cd..a99c58866860 100644 --- a/include/linux/linkmode.h +++ b/include/linux/linkmode.h | |||
@@ -57,6 +57,15 @@ static inline void linkmode_clear_bit(int nr, volatile unsigned long *addr) | |||
57 | __clear_bit(nr, addr); | 57 | __clear_bit(nr, addr); |
58 | } | 58 | } |
59 | 59 | ||
60 | static inline void linkmode_mod_bit(int nr, volatile unsigned long *addr, | ||
61 | int set) | ||
62 | { | ||
63 | if (set) | ||
64 | linkmode_set_bit(nr, addr); | ||
65 | else | ||
66 | linkmode_clear_bit(nr, addr); | ||
67 | } | ||
68 | |||
60 | static inline void linkmode_change_bit(int nr, volatile unsigned long *addr) | 69 | static inline void linkmode_change_bit(int nr, volatile unsigned long *addr) |
61 | { | 70 | { |
62 | __change_bit(nr, addr); | 71 | __change_bit(nr, addr); |