Added and documented 4 new message types: - INCLUDE_LINUX - INDENTED_LABEL - IF_0 - IF_1 Signed-off-by: Utkarsh Verma <utkarshverma294@xxxxxxxxx> --- Documentation/dev-tools/checkpatch.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Documentation/dev-tools/checkpatch.rst b/Documentation/dev-tools/checkpatch.rst index f0956e9ea2d8..ea343a7a5b46 100644 --- a/Documentation/dev-tools/checkpatch.rst +++ b/Documentation/dev-tools/checkpatch.rst @@ -435,6 +435,11 @@ API usage **EXPORT_SYMBOL** EXPORT_SYMBOL should immediately follow the symbol to be exported. + **INCLUDE_LINUX** + Whenever asm/file.h is included and linux/file.h exists, a + conversion can be made when linux/file.h includes asm/file.h. + However this is not always the case (See signal.h). + **IN_ATOMIC** in_atomic() is not for driver use so any such use is reported as an ERROR. Also in_atomic() is often used to determine if sleeping is permitted, @@ -661,6 +666,10 @@ Indentation and Line Breaks See: https://lore.kernel.org/lkml/1328311239.21255.24.camel@joe2Laptop/ + **INDENTED_LABEL** + goto labels either should not have any indentation or only a single + space indentation. + **SWITCH_CASE_INDENT_LEVEL** switch should be at the same indent as case. Example:: @@ -790,6 +799,19 @@ Macros, Attributes and Symbols **DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON** do {} while(0) macros should not have a trailing semicolon. + **IF_0** + The code enclosed within #if 0 and #endif is not executed and is used + for temporarily removing the segments of code with the intention of + using it in the future, much like comments. But comments cannot be + nested, so #if 0 is preferred. But if the code inside #if 0 and #endif + doesn't seem to be anymore required then remove it. + + **IF_1** + The code enclosed within #if 1 and #endif is always executed, so the + #if 1 and #endif statements are redundant, thus remove it. + It is only useful for debugging purposes, it can quickly disable the + code enclosed within itself by changing #if 1 to #if 0 + **INIT_ATTRIBUTE** Const init definitions should use __initconst instead of __initdata. -- 2.25.1