Lines Matching refs:tb

330 	struct nlattr *tb[ARRAY_SIZE(bitset_policy)];  in ethnl_bitset_is_compact()  local
333 ret = nla_parse_nested(tb, ARRAY_SIZE(bitset_policy) - 1, bitset, in ethnl_bitset_is_compact()
338 if (tb[ETHTOOL_A_BITSET_BITS]) { in ethnl_bitset_is_compact()
339 if (tb[ETHTOOL_A_BITSET_VALUE] || tb[ETHTOOL_A_BITSET_MASK]) in ethnl_bitset_is_compact()
344 if (!tb[ETHTOOL_A_BITSET_SIZE] || !tb[ETHTOOL_A_BITSET_VALUE]) in ethnl_bitset_is_compact()
382 struct nlattr *tb[ARRAY_SIZE(bit_policy)]; in ethnl_parse_bit() local
385 ret = nla_parse_nested(tb, ARRAY_SIZE(bit_policy) - 1, bit_attr, in ethnl_parse_bit()
390 if (tb[ETHTOOL_A_BITSET_BIT_INDEX]) { in ethnl_parse_bit()
393 idx = nla_get_u32(tb[ETHTOOL_A_BITSET_BIT_INDEX]); in ethnl_parse_bit()
396 tb[ETHTOOL_A_BITSET_BIT_INDEX], in ethnl_parse_bit()
401 if (tb[ETHTOOL_A_BITSET_BIT_NAME] && name && in ethnl_parse_bit()
402 strncmp(nla_data(tb[ETHTOOL_A_BITSET_BIT_NAME]), name, in ethnl_parse_bit()
403 nla_len(tb[ETHTOOL_A_BITSET_BIT_NAME]))) { in ethnl_parse_bit()
408 } else if (tb[ETHTOOL_A_BITSET_BIT_NAME]) { in ethnl_parse_bit()
410 nla_data(tb[ETHTOOL_A_BITSET_BIT_NAME])); in ethnl_parse_bit()
413 tb[ETHTOOL_A_BITSET_BIT_NAME], in ethnl_parse_bit()
424 *val = no_mask || tb[ETHTOOL_A_BITSET_BIT_VALUE]; in ethnl_parse_bit()
449 const struct nlattr *attr, struct nlattr **tb, in ethnl_update_bitset32_verbose() argument
459 if (tb[ETHTOOL_A_BITSET_VALUE]) { in ethnl_update_bitset32_verbose()
460 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_VALUE], in ethnl_update_bitset32_verbose()
464 if (tb[ETHTOOL_A_BITSET_MASK]) { in ethnl_update_bitset32_verbose()
465 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_MASK], in ethnl_update_bitset32_verbose()
470 no_mask = tb[ETHTOOL_A_BITSET_NOMASK]; in ethnl_update_bitset32_verbose()
486 nla_for_each_nested(bit_attr, tb[ETHTOOL_A_BITSET_BITS], rem) { in ethnl_update_bitset32_verbose()
522 struct nlattr **tb, in ethnl_compact_sanity_checks() argument
525 bool no_mask = tb[ETHTOOL_A_BITSET_NOMASK]; in ethnl_compact_sanity_checks()
529 if (no_mask && tb[ETHTOOL_A_BITSET_MASK]) { in ethnl_compact_sanity_checks()
530 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_MASK], in ethnl_compact_sanity_checks()
534 if (!tb[ETHTOOL_A_BITSET_SIZE]) { in ethnl_compact_sanity_checks()
539 if (!tb[ETHTOOL_A_BITSET_VALUE]) { in ethnl_compact_sanity_checks()
544 if (!no_mask && !tb[ETHTOOL_A_BITSET_MASK]) { in ethnl_compact_sanity_checks()
550 attr_nbits = nla_get_u32(tb[ETHTOOL_A_BITSET_SIZE]); in ethnl_compact_sanity_checks()
552 if (nla_len(tb[ETHTOOL_A_BITSET_VALUE]) != attr_nwords * sizeof(u32)) { in ethnl_compact_sanity_checks()
553 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_VALUE], in ethnl_compact_sanity_checks()
557 if (tb[ETHTOOL_A_BITSET_MASK] && in ethnl_compact_sanity_checks()
558 nla_len(tb[ETHTOOL_A_BITSET_MASK]) != attr_nwords * sizeof(u32)) { in ethnl_compact_sanity_checks()
559 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_MASK], in ethnl_compact_sanity_checks()
566 test_attr = no_mask ? tb[ETHTOOL_A_BITSET_VALUE] : in ethnl_compact_sanity_checks()
567 tb[ETHTOOL_A_BITSET_MASK]; in ethnl_compact_sanity_checks()
596 struct nlattr *tb[ARRAY_SIZE(bitset_policy)]; in ethnl_update_bitset32() local
603 ret = nla_parse_nested(tb, ARRAY_SIZE(bitset_policy) - 1, attr, in ethnl_update_bitset32()
608 if (tb[ETHTOOL_A_BITSET_BITS]) in ethnl_update_bitset32()
609 return ethnl_update_bitset32_verbose(bitmap, nbits, attr, tb, in ethnl_update_bitset32()
611 ret = ethnl_compact_sanity_checks(nbits, attr, tb, extack); in ethnl_update_bitset32()
615 no_mask = tb[ETHTOOL_A_BITSET_NOMASK]; in ethnl_update_bitset32()
617 nla_get_u32(tb[ETHTOOL_A_BITSET_SIZE]), nbits); in ethnl_update_bitset32()
619 nla_data(tb[ETHTOOL_A_BITSET_VALUE]), in ethnl_update_bitset32()
621 nla_data(tb[ETHTOOL_A_BITSET_MASK]), in ethnl_update_bitset32()
649 struct nlattr *tb[ARRAY_SIZE(bitset_policy)]; in ethnl_parse_bitset() local
657 ret = nla_parse_nested(tb, ARRAY_SIZE(bitset_policy) - 1, attr, in ethnl_parse_bitset()
661 no_mask = tb[ETHTOOL_A_BITSET_NOMASK]; in ethnl_parse_bitset()
663 if (!tb[ETHTOOL_A_BITSET_BITS]) { in ethnl_parse_bitset()
666 ret = ethnl_compact_sanity_checks(nbits, attr, tb, extack); in ethnl_parse_bitset()
670 change_bits = nla_get_u32(tb[ETHTOOL_A_BITSET_SIZE]); in ethnl_parse_bitset()
673 bitmap_from_arr32(val, nla_data(tb[ETHTOOL_A_BITSET_VALUE]), in ethnl_parse_bitset()
681 nla_data(tb[ETHTOOL_A_BITSET_MASK]), in ethnl_parse_bitset()
691 if (tb[ETHTOOL_A_BITSET_VALUE]) { in ethnl_parse_bitset()
692 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_VALUE], in ethnl_parse_bitset()
696 if (tb[ETHTOOL_A_BITSET_MASK]) { in ethnl_parse_bitset()
697 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_MASK], in ethnl_parse_bitset()
708 nla_for_each_nested(bit_attr, tb[ETHTOOL_A_BITSET_BITS], rem) { in ethnl_parse_bitset()