checkpatch.pl: Make CONFIG_IS_ENABLED(CONFIG_*) an error

CONFIG_IS_ENABLED() takes the kconfig name without the CONFIG_ prefix,
e.g. CONFIG_IS_ENABLED(CLK) for CONFIG_CLK. Make including the prefix
an error in checkpatch.pl so calls in the wrong format aren't
accidentally reintroduced.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Alper Nebi Yasak 2020-10-05 09:57:30 +03:00 committed by Tom Rini
parent 957a3e5493
commit b9cca2c57a
2 changed files with 12 additions and 0 deletions

View File

@ -2365,6 +2365,12 @@ sub u_boot_line {
ERROR("DISABLE_FDT_OR_INITRD_RELOC",
"fdt or initrd relocation disabled at boot time\n" . $herecurr);
}
# Do not use CONFIG_ prefix in CONFIG_IS_ENABLED() calls
if ($line =~ /^\+.*CONFIG_IS_ENABLED\(CONFIG_\w*\).*/) {
ERROR("CONFIG_IS_ENABLED_CONFIG",
"CONFIG_IS_ENABLED() takes values without the CONFIG_ prefix\n" . $herecurr);
}
}
sub process {

View File

@ -405,6 +405,12 @@ index 0000000..2234c87
pm.add_line('include/myfile.h', '#include <dm.h>')
self.checkSingleMessage(pm, 'BARRED_INCLUDE_IN_HDR', 'error')
def testConfigIsEnabledConfig(self):
"""Test for accidental CONFIG_IS_ENABLED(CONFIG_*) calls"""
pm = PatchMaker()
pm.add_line('common/main.c', 'if (CONFIG_IS_ENABLED(CONFIG_CLK))')
self.checkSingleMessage(pm, 'CONFIG_IS_ENABLED_CONFIG', 'error')
if __name__ == "__main__":
unittest.main()