diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 614999f29aa0..5f71b3050253 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -1244,6 +1244,10 @@ sub process { ERROR("switch and case should be at the same indent\n$hereline$err"); } } + if ($line =~ /^.\s*(?:case\s*.*|default\s*):/g && + $line !~ /\G(?:\s*{)?(?:\s*$;*)(?:\s*\\)?\s*$/g) { + ERROR("trailing statements should be on next line\n" . $herecurr); + } # if/while/etc brace do not go on next line, unless defining a do while loop, # or if that brace on the next line is for something else