Skip to content
  • Joe Perches's avatar
    checkpatch: attempt to find missing switch/case break; · c34c09a8
    Joe Perches authored
    switch case statements missing a break statement are an unfortunately
    common error.
    
    e.g.:
      commit 4a2c94c9
    
     ("HID: kye: Add report fixup for Genius Manticore Keyboard")
    
    case blocks should end in a break/return/goto/continue.
    
    If a fall-through is used, it should have a comment showing that it is
    intentional.  Ideally that comment should be something like:
    "/* fall-through */"
    
    Add a test to look for missing break statements.
    
    This looks only at the context lines before an inserted case so it's
    possible to have false positives when the context contains a close brace
    and the break is before the brace and not part of the patch context.
    
    Looking at recent patches, this is a pretty rare occurrence.  The normal
    kernel style uses a break as the last line of the previous block.
    
    Signed-off-by: default avatarJoe Perches <joe@perche.com>
    Cc: Andy Whitcroft <apw@shadowen.org>
    Cc: Jiri Kosina <jkosina@suse.cz>
    Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Cc: Dave Jones <davej@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    c34c09a8