diff mbox series

[v4,01/15] scripts: checkpatch: Add __aligned to the list of attribute notes

Message ID 1c5c93ecbd8c46a338b22a4ef52e51648e333c01.1702746240.git.marcelo.schmitt1@gmail.com
State Accepted
Commit 2f9dadba5ba02e1510a04ce57ebfb9e08fd872a8
Headers show
Series Add support for AD7091R-2/-4/-8 | expand

Commit Message

Marcelo Schmitt Dec. 16, 2023, 5:45 p.m. UTC
Checkpatch presumes attributes marked with __aligned(alignment) are part
of a function declaration and throws a warning stating that those
compiler attributes should have an identifier name which is not correct.
Add __aligned compiler attributes to the list of attribute notes
so they don't cause warnings anymore.

Signed-off-by: Marcelo Schmitt <marcelo.schmitt@analog.com>
---
Any expression that evaluates to an integer that is a power of 2 can be
within __aligned parenthesis.
I can't see how we could use a regex to check code meets such constraint (if possible).

Some additional exotic uses of __aligned are:
drivers/net/wireless/quantenna/qtnfmac/bus.h:72:   char bus_priv[] __aligned(sizeof(void *));
include/linux/netdevice.h:225:} __aligned(4 * sizeof(unsigned long)); 

The regex
			__aligned\s*\(.*\)
seems to match all use cases. 

We might not catch invalid arguments to __aligned, but it looks like making
checkpath confidently report those wouldn't be feasible anyway.

The patch that would trigger the mentioned warning in now
patch number 13 (iio: adc: Add support for AD7091R-8).

 scripts/checkpatch.pl | 1 +
 1 file changed, 1 insertion(+)
diff mbox series

Patch

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 25fdb7fda112..d56c98146da3 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -512,6 +512,7 @@  our $Attribute	= qr{
 			__ro_after_init|
 			__kprobes|
 			$InitAttribute|
+			__aligned\s*\(.*\)|
 			____cacheline_aligned|
 			____cacheline_aligned_in_smp|
 			____cacheline_internodealigned_in_smp|