diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/bitfield-fix-width.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/bitfield-fix-width.h b/include/linux/bitfield-fix-width.h index fba86bb76999..f73b8cd65601 100644 --- a/include/linux/bitfield-fix-width.h +++ b/include/linux/bitfield-fix-width.h @@ -94,6 +94,12 @@ u16 be16_get_bits(__be16 v, u16 field) } static __always_inline __must_check +__be16 be16_replace_bits(__be16 old, u16 val, u16 field) +{ + return (old & ~cpu_to_be16(field)) | be16_encode_bits(val, field); +} + +static __always_inline __must_check __u16 u16_encode_bits(u16 v, u16 field) { __assert_field(v, field); |
