Hi Andy, > On Wed, Oct 27, 2021 at 12:00:16PM +0200, Krzysztof Wilczyński wrote: > > > Use GENMASK() as __GENMASK() is for internal use only. > > > > To add, for posterity, that using __GENMASK() bypasses the > > GENMASK_INPUT_CHECK() macro that adds extra validation. > > In general, yes, but here we have a variable... > > > > - u32 val = __GENMASK(31, msi->legacy_shift); > > > + u32 val = GENMASK(31, msi->legacy_shift); > > ...which make me thing that the whole construction is ugly > (and I truly believe the code is very ugly here, because > the idea behind GENMASK() is to be used with constants). > > So, what about > > u32 val = ~(BIT(msi->legacy_shift) - 1); > > instead? Sorry for late reply! Thankfully, you've sent a v2 using the BIT() macro already. Thank you! Krzysztof