kbuild: add checks for include of linux/types in userspace headers
If we see __[us](8|16|32|64) then we must include <linux/types.h> If wee see include of <asm/types.h> then we recommend <linux/types.h> Original script from Mike but modified by me. Cc: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
521b0c774d
commit
483b41218f
|
@ -34,9 +34,11 @@ foreach my $file (@files) {
|
||||||
$lineno = 0;
|
$lineno = 0;
|
||||||
while ($line = <FH>) {
|
while ($line = <FH>) {
|
||||||
$lineno++;
|
$lineno++;
|
||||||
check_include();
|
&check_include();
|
||||||
check_prototypes();
|
&check_asm_types();
|
||||||
check_config();
|
&check_sizetypes();
|
||||||
|
&check_prototypes();
|
||||||
|
&check_config();
|
||||||
}
|
}
|
||||||
close FH;
|
close FH;
|
||||||
}
|
}
|
||||||
|
@ -73,3 +75,42 @@ sub check_config
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $linux_asm_types;
|
||||||
|
sub check_asm_types()
|
||||||
|
{
|
||||||
|
if ($lineno == 1) {
|
||||||
|
$linux_asm_types = 0;
|
||||||
|
} elsif ($linux_asm_types >= 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($line =~ m/^\s*#\s*include\s+<asm\/types.h>/) {
|
||||||
|
$linux_asm_types = 1;
|
||||||
|
printf STDERR "$filename:$lineno: " .
|
||||||
|
"include of <linux/types.h> is preferred over <asm/types.h>\n"
|
||||||
|
# Warn until headers are all fixed
|
||||||
|
#$ret = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
my $linux_types;
|
||||||
|
sub check_sizetypes
|
||||||
|
{
|
||||||
|
if ($lineno == 1) {
|
||||||
|
$linux_types = 0;
|
||||||
|
} elsif ($linux_types >= 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($line =~ m/^\s*#\s*include\s+<linux\/types.h>/) {
|
||||||
|
$linux_types = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($line =~ m/__[us](8|16|32|64)\b/) {
|
||||||
|
printf STDERR "$filename:$lineno: " .
|
||||||
|
"found __[us]{8,16,32,64} type " .
|
||||||
|
"without #include <linux/types.h>\n";
|
||||||
|
$linux_types = 2;
|
||||||
|
# Warn until headers are all fixed
|
||||||
|
#$ret = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue