Am Montag, 25. August 2025, 10:28:21 Mitteleuropäische Sommerzeit schrieb Nicolas Frattaroli: > Hardware of various vendors, but very notably Rockchip, often uses > 32-bit registers where the upper 16-bit half of the register is a > write-enable mask for the lower half. > > This type of hardware setup allows for more granular concurrent register > write access. > > Over the years, many drivers have hand-rolled their own version of this > macro, usually without any checks, often called something like > HIWORD_UPDATE or FIELD_PREP_HIWORD, commonly with slightly different > semantics between them. > > Clearly there is a demand for such a macro, and thus the demand should > be satisfied in a common header file. As this is a convention that spans > across multiple vendors, and similar conventions may also have > cross-vendor adoption, it's best if it lives in a vendor-agnostic header > file that can be expanded over time. > > Add hw_bitfield.h with two macros: FIELD_PREP_WM16, and > FIELD_PREP_WM16_CONST. The latter is a version that can be used in > initializers, like FIELD_PREP_CONST. > > Suggested-by: Yury Norov [NVIDIA] <yury.no...@gmail.com> > Signed-off-by: Nicolas Frattaroli <nicolas.frattar...@collabora.com>
Acked-by: Heiko Stuebner <he...@sntech.de>