checkpatch: Don't allow common.h and dm.h in headers
These headers should not be included in other header files. Add a checkpatch rule and test for this. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
4620d46bf0
commit
23552ba142
@ -2322,7 +2322,7 @@ sub get_raw_comment {
|
|||||||
|
|
||||||
# Checks specific to U-Boot
|
# Checks specific to U-Boot
|
||||||
sub u_boot_line {
|
sub u_boot_line {
|
||||||
my ($realfile, $line, $herecurr) = @_;
|
my ($realfile, $line, $rawline, $herecurr) = @_;
|
||||||
|
|
||||||
# ask for a test if a new uclass ID is added
|
# ask for a test if a new uclass ID is added
|
||||||
if ($realfile =~ /uclass-id.h/ && $line =~ /^\+/) {
|
if ($realfile =~ /uclass-id.h/ && $line =~ /^\+/) {
|
||||||
@ -2353,6 +2353,12 @@ sub u_boot_line {
|
|||||||
ERROR("DEFINE_CONFIG_CMD",
|
ERROR("DEFINE_CONFIG_CMD",
|
||||||
"All commands are managed by Kconfig\n" . $herecurr);
|
"All commands are managed by Kconfig\n" . $herecurr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Don't put common.h and dm.h in header files
|
||||||
|
if ($realfile =~ /\.h$/ && $rawline =~ /^\+#include\s*<(common|dm)\.h>*/) {
|
||||||
|
ERROR("BARRED_INCLUDE_IN_HDR",
|
||||||
|
"Avoid including common.h and dm.h in header files\n" . $herecurr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub process {
|
sub process {
|
||||||
@ -3296,7 +3302,7 @@ sub process {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($u_boot) {
|
if ($u_boot) {
|
||||||
u_boot_line($realfile, $line, $herecurr);
|
u_boot_line($realfile, $line, $rawline, $herecurr);
|
||||||
}
|
}
|
||||||
|
|
||||||
# check we are in a valid source file C or perl if not then ignore this hunk
|
# check we are in a valid source file C or perl if not then ignore this hunk
|
||||||
|
@ -398,6 +398,13 @@ index 0000000..2234c87
|
|||||||
pm.add_line('common/main.c', '#undef CONFIG_CMD_WHICH')
|
pm.add_line('common/main.c', '#undef CONFIG_CMD_WHICH')
|
||||||
self.checkSingleMessage(pm, 'DEFINE_CONFIG_CMD', 'error')
|
self.checkSingleMessage(pm, 'DEFINE_CONFIG_CMD', 'error')
|
||||||
|
|
||||||
|
def testBarredIncludeInHdr(self):
|
||||||
|
"""Test for using a barred include in a header file"""
|
||||||
|
pm = PatchMaker()
|
||||||
|
#pm.add_line('include/myfile.h', '#include <common.h>')
|
||||||
|
pm.add_line('include/myfile.h', '#include <dm.h>')
|
||||||
|
self.checkSingleMessage(pm, 'BARRED_INCLUDE_IN_HDR', 'error')
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
Loading…
Reference in New Issue
Block a user