Re: [PATCH v1 1/1] PCI: brcmstb: Use GENMASK() as __GENMASK() is for internal use only
From: Andy Shevchenko
Date: Wed Oct 27 2021 - 06:27:47 EST
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?
> Thank you!
>
> Reviewed-by: Krzysztof Wilczyński <kw@xxxxxxxxx>
Thank you!
--
With Best Regards,
Andy Shevchenko