summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorKuan-Wei Chiu <[email protected]>2025-12-22 17:42:55 +0000
committerTom Rini <[email protected]>2026-01-06 13:04:03 -0600
commiteea1c6ec4ead013fcdbc1f4ee1a5f595d58ca303 (patch)
tree4dd81d082bdc14c5ea5ac4af76b1464d7bc482d8 /scripts
parente21edf2620749f1390c9ac3ebe329a6fd261c65a (diff)
checkpatch: Add check for space indentation in Kconfig
U-Boot requires Kconfig options to be indented with tabs, whereas Linux allows spaces. Add a U-Boot specific check to warn when spaces are used for indentation in Kconfig files. To ensure this check is executed, move the u_boot_line() invocation in process() to occur before the valid source file check. Previously, Kconfig files were skipped by the file extension filter before the U-Boot specific checks could run. Example warning: WARNING: Kconfig indentation should use tabs + bool Link: https://lore.kernel.org/u-boot/20251222162026.GA847766@bill-the-cat/ Signed-off-by: Kuan-Wei Chiu <[email protected]> Reviewed-by: Tom Rini <[email protected]>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/checkpatch.pl14
1 files changed, 10 insertions, 4 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index c755880ef93..7e4d6cd227c 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2753,6 +2753,12 @@ sub u_boot_line {
ERROR("CONFIG_xPL_BUILD",
"Do not use CONFIG_xPL_BUILD in device trees\n" . $herecurr);
}
+
+ # Kconfig should use tabs for indentation
+ if ($realfile =~ /Kconfig/ && $line =~ /^\+ /) {
+ WARN("KCONFIG_INDENT",
+ "Kconfig indentation should use tabs\n" . $herecurr);
+ }
}
sub exclude_global_initialisers {
@@ -3943,6 +3949,10 @@ sub process {
"It's generally not useful to have the filename in the file\n" . $herecurr);
}
+ if ($u_boot) {
+ u_boot_line($realfile, $line, $rawline, $herecurr);
+ }
+
# check we are in a valid source file if not then ignore this hunk
next if ($realfile !~ /\.(h|c|rs|s|S|sh|dtsi|dts|env)$/);
@@ -4034,10 +4044,6 @@ sub process {
"Avoid using '.L' prefixed local symbol names for denoting a range of code via 'SYM_*_START/END' annotations; see Documentation/core-api/asm-annotations.rst\n" . $herecurr);
}
- if ($u_boot) {
- u_boot_line($realfile, $line, $rawline, $herecurr);
- }
-
# check we are in a valid source file C or perl if not then ignore this hunk
next if ($realfile !~ /\.(h|c|pl|dtsi|dts)$/);