mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
ethtool: Add and use ethnl_update_bool.
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7a98143118
commit
dc0b98a175
@ -225,7 +225,7 @@ int ethnl_set_mm(struct sk_buff *skb, struct genl_info *info)
|
||||
ethnl_update_u32(&cfg.verify_time, tb[ETHTOOL_A_MM_VERIFY_TIME], &mod);
|
||||
ethnl_update_bool(&cfg.tx_enabled, tb[ETHTOOL_A_MM_TX_ENABLED], &mod);
|
||||
ethnl_update_bool(&cfg.pmac_enabled, tb[ETHTOOL_A_MM_PMAC_ENABLED],
|
||||
&mod);
|
||||
&mod);
|
||||
ethnl_update_u32(&cfg.tx_min_frag_size,
|
||||
tb[ETHTOOL_A_MM_TX_MIN_FRAG_SIZE], &mod);
|
||||
|
||||
|
@ -137,6 +137,32 @@ static inline void ethnl_update_bool32(u32 *dst, const struct nlattr *attr,
|
||||
*mod = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* ethnl_update_bool() - updateb bool used as bool from NLA_U8 attribute
|
||||
* @dst: value to update
|
||||
* @attr: netlink attribute with new value or null
|
||||
* @mod: pointer to bool for modification tracking
|
||||
*
|
||||
* Use the bool value from NLA_U8 netlink attribute @attr to set bool variable
|
||||
* pointed to by @dst to 0 (if zero) or 1 (if not); do nothing if @attr is
|
||||
* null. Bool pointed to by @mod is set to true if this function changed the
|
||||
* logical value of *dst, otherwise it is left as is.
|
||||
*/
|
||||
static inline void ethnl_update_bool(bool *dst, const struct nlattr *attr,
|
||||
bool *mod)
|
||||
{
|
||||
u8 val;
|
||||
|
||||
if (!attr)
|
||||
return;
|
||||
val = !!nla_get_u8(attr);
|
||||
if (!!*dst == val)
|
||||
return;
|
||||
|
||||
*dst = val;
|
||||
*mod = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* ethnl_update_binary() - update binary data from NLA_BINARY attribute
|
||||
* @dst: value to update
|
||||
|
Loading…
Reference in New Issue
Block a user