Skip to content

Commit 9dc3091

Browse files
nmenontorvalds
authored andcommitted
scripts/kernel-doc: handle struct member __aligned without numbers
Commit ef5da59 ("scripts/kernel-doc: handle struct member __aligned") permits "char something [123] __aligned(8);". However, by using \d we constraint ourselves with integers. This is not always the case. In fact, it might be better to do char something[123] __aligned(sizeof(u16)); For example, With wireless_dev defining: u8 address[ETH_ALEN] __aligned(sizeof(u16)); With \d, scripts/kernel-doc erroneously says: Warning(include/net/cfg80211.h:2618): Excess struct/union/enum/typedef member 'address' description in 'wireless_dev' This is because the regex __aligned\s*\(\d+\) fails match at \d as sizeof is used. So replace \d with . to indicate "something" in kernel-doc to ignore __aligned(SOMETHING) in structs. With this change, we can use integers OR sizeof() or macros as we please. Signed-off-by: Nishanth Menon <nm@ti.com> Cc: Fengguang Wu <fengguang.wu@intel.com> Cc: Johannes Berg <johannes.berg@intel.com> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Michal Marek <mmarek@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent ff6a6da commit 9dc3091

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

scripts/kernel-doc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1750,7 +1750,7 @@ sub dump_struct($$) {
17501750
# strip kmemcheck_bitfield_{begin,end}.*;
17511751
$members =~ s/kmemcheck_bitfield_.*?;//gos;
17521752
# strip attributes
1753-
$members =~ s/__aligned\s*\(\d+\)//gos;
1753+
$members =~ s/__aligned\s*\(.+\)//gos;
17541754

17551755
create_parameterlist($members, ';', $file);
17561756
check_sections($file, $declaration_name, "struct", $sectcheck, $struct_actual, $nested);

0 commit comments

Comments
 (0)