Commit dc0b98a1 authored by David S. Miller's avatar David S. Miller
Browse files

ethtool: Add and use ethnl_update_bool.

parent 7a981431
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -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
+1 −1

File changed.

Contains only whitespace changes.