On Sun, Jun 04, 2023 at 11:06:32AM +0300, Arınç ÜNAL wrote:
Even better are:
#define MT7531_MIRROR_PORT_GET(x) FIELD_GET(MT7531_MIRROR_MASK, x)
+#define MT7531_MIRROR_PORT_SET(x) (((x) & 0x7) << 16)
and here: (((x) << 16) & GENMASK(18, 16))
#define MT7531_MIRROR_PORT_SET(x) FIELD_PREP(MT7531_MIRROR_MASK, x)
No need to add parens around "x" in either of these uses as we're not
doing anything with x other than passing it into another macro.
Thanks. I suppose the GENMASK, FIELD_PREP, and FIELD_GET macros can be
widely used on mt7530.h? Like GENMASK(2, 0) on MT7530_MIRROR_MASK and
FIELD_PREP(MT7530_MIRROR_MASK, x) on MT7530_MIRROR_PORT(x)?
I suppose the answer would be "yes, they can be used", but then, I'm not
really sure what answer you're expecting.