     23 Initializer entry defined twice
     82 Using plain integer as NULL pointer
      4 arithmetics on pointers to functions
     81 array of flexible structures
      7 bad assignment to restricted type
      4 cast between address spaces (__percpu -> __rcu)
      5 cast from non-scalar
    239 cast from restricted type
    480 cast removes address space '__iomem' of expression
      1 cast removes address space '__percpu' of expression
     16 cast removes address space '__rcu' of expression
     23 cast removes address space '__user' of expression
      5 cast to non-scalar
   2831 cast to restricted type
    754 cast truncates bits from constant value
    331 context imbalance - different lock contexts for basic block
    435 context imbalance - unexpected unlock
    242 context imbalance - wrong count at exit
    136 dereference of noderef expression
      1 directive in macro's argument list
      1 dubious one-bit signed bitfield
     12 dubious: !x & y
      5 dubious: !x | y
     57 dubious: x & !y
     20 dubious: x | !y
     25 function with external linkage has definition
      2 implicit cast from nocast type
    435 incompatible types in comparison expression (different address spaces)
      7 incompatible types in comparison expression (different base types)
      1 incompatible types in conditional expression (different address spaces)
      7 incompatible types in conditional expression (different base types)
    975 incorrect type in argument (different address spaces)
    369 incorrect type in argument (different base types)
    335 incorrect type in assignment (different address spaces)
   3301 incorrect type in assignment (different base types)
      1 incorrect type in assignment (different modifiers)
     94 incorrect type in initializer (different address spaces)
    162 incorrect type in initializer (different base types)
      6 incorrect type in initializer (incompatible argument (different address spaces))
     27 incorrect type in return expression (different address spaces)
     25 incorrect type in return expression (different base types)
    239 invalid assignment
     37 invalid bitfield specifier for type restricted type.
      7 invalid initializer
      1 marked inline, but without a definition
      1 missing braces around initializer
      1 mixed bitwiseness
      1 multiple address spaces given
      4 no generic selection for ...
      2 no newline at end of file
      4 obsolete array initializer, use C99 syntax
    830 restricted type degrades to integer
      4 static assertion failed
      5 subtraction of different types can't work (different address spaces)
      2 subtraction of functions? Share your drugs
      1 switch with no cases
      1 symbol redeclared with different type (incompatible argument (different address spaces))
      1 symbol redeclared with different type (incompatible argument (different base types))
    663 symbol was not declared. Should it be static?
      3 trying to concatenate long character string (8191 bytes max)
