On 8/25/25 11:28, Nicolas Frattaroli wrote: > The era of hand-rolled HIWORD_UPDATE macros is over, at least for those > drivers that use constant masks. > > Replace the UPDATE macro with bitfield.h's FIELD_PREP, to give us > additional error checking. > > Also, replace the HIWORD_UPDATE macro at the same time with the new > FIELD_PREP_WM16 macro in hw_bitfield.h, which also gives us additional > error checking. > > The UPDATE/HIWORD_UPDATE macros are left as wrappers around the > replacement macros, in order to not rock the boat too much, and keep the > changes easy to review. > > Signed-off-by: Nicolas Frattaroli <nicolas.frattar...@collabora.com> > --- > drivers/media/platform/synopsys/hdmirx/snps_hdmirx.h | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.h > b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.h > index > 220ab99ca61152b36b0a08b398ddefdb985709a5..b26668a98aafd1682b8342cc11f84666a13f07a3 > 100644 > --- a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.h > +++ b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.h > @@ -8,10 +8,12 @@ > #ifndef DW_HDMIRX_H > #define DW_HDMIRX_H > > +#include <linux/bitfield.h> > #include <linux/bitops.h> > +#include <linux/hw_bitfield.h> > > -#define UPDATE(x, h, l) (((x) << (l)) & GENMASK((h), (l))) > -#define HIWORD_UPDATE(v, h, l) (((v) << (l)) | (GENMASK((h), (l)) << > 16)) > +#define UPDATE(x, h, l) (FIELD_PREP(GENMASK((h), (l)), (x))) > +#define HIWORD_UPDATE(v, h, l) (FIELD_PREP_WM16(GENMASK((h), (l)), > (v)))
Nit: the extra parens around FIELD_PREP may be omitted Acked-by: Dmitry Osipenko <dmitry.osipe...@collabora.com> -- Best regards, Dmitry