Re: [PATCH v5 1/7] bits: split the definition of the asm and non-asm GENMASK()

From: Vincent Mailhol
Date: Thu Mar 06 2025 - 10:08:06 EST


On 06/03/2025 at 22:05, Andy Shevchenko wrote:
> On Thu, Mar 06, 2025 at 08:29:52PM +0900, Vincent Mailhol via B4 Relay wrote:
>> From: Vincent Mailhol <mailhol.vincent@xxxxxxxxxx>
>>
>> In an upcoming change, GENMASK() and its friends will indirectly
>> depend on sizeof() which is not available in asm.
>>
>> Instead of adding further complexity to __GENMASK() to make it work
>> for both asm and non asm, just split the definition of the two
>> variants.
>
> ...
>
>> -/*
>> - * BUILD_BUG_ON_ZERO is not available in h files included from asm files,
>> - * disable the input check if that is the case.
>> - */
>
> I believe this comment is still valid...
>
>> +#else /* defined(__ASSEMBLY__) */
>
>
> ...here.
>
> Otherwise justify its removal in the commit message.

OK. I will restore the comment in v6, but will move it to the #else
branch, like this:

#else /* defined(__ASSEMBLY__) */

/*
* BUILD_BUG_ON_ZERO is not available in h files included from asm
* files, so no input checks in assembly.
*/
#define GENMASK(h, l) __GENMASK(h, l)
#define GENMASK_ULL(h, l) __GENMASK_ULL(h, l)

#endif /* !defined(__ASSEMBLY__) */

>> +#define GENMASK(h, l) __GENMASK(h, l)
>> +#define GENMASK_ULL(h, l) __GENMASK_ULL(h, l)
>> +
>> +#endif /* !defined(__ASSEMBLY__) */
>

Yours sincerely,
Vincent Mailhol