Skip to content
  • Kim Phillips's avatar
    common/fdt_support.c: sparse fixes · 8aa5ec6e
    Kim Phillips authored
    
    
    trivial:
    
    fdt_support.c:89:64: warning: Using plain integer as NULL pointer
    fdt_support.c:325:65: warning: Using plain integer as NULL pointer
    fdt_support.c:352:65: warning: Using plain integer as NULL pointer
    
    For the following bad constant expression, We hardcode the max. number of
    memory banks to four for the foreseeable future, and add an error with
    instructions on what to do once it's exceeded:
    
    fdt_support.c:397:22: error: bad constant expression
    
    For the rest below, sparse found a couple of wrong endian conversions
    in of_bus_default_translate() and fdt_get_base_address(), but
    otherwise the rest is mostly annotation fixes:
    
    fdt_support.c:64:24: warning: cast to restricted __be32
    fdt_support.c:192:21: warning: incorrect type in assignment (different base types)
    fdt_support.c:192:21:    expected unsigned int [unsigned] [usertype] tmp
    fdt_support.c:192:21:    got restricted __be32 [usertype] <noident>
    fdt_support.c:201:21: warning: incorrect type in assignment (different base types)
    fdt_support.c:201:21:    expected unsigned int [unsigned] [addressable] [usertype] tmp
    fdt_support.c:201:21:    got restricted __be32 [usertype] <noident>
    fdt_support.c:304:13: warning: incorrect type in assignment (different base types)
    fdt_support.c:304:13:    expected unsigned int [unsigned] [usertype] val
    fdt_support.c:304:13:    got restricted __be32 [usertype] <noident>
    fdt_support.c:333:13: warning: incorrect type in assignment (different base types)
    fdt_support.c:333:13:    expected unsigned int [unsigned] [usertype] val
    fdt_support.c:333:13:    got restricted __be32 [usertype] <noident>
    fdt_support.c:359:13: warning: incorrect type in assignment (different base types)
    fdt_support.c:359:13:    expected unsigned int [unsigned] [usertype] val
    fdt_support.c:359:13:    got restricted __be32 [usertype] <noident>
    fdt_support.c:373:21: warning: cast to restricted __be32
    fdt_support.c:963:48: warning: incorrect type in argument 1 (different base types)
    fdt_support.c:963:48:    expected restricted __be32 const [usertype] *p
    fdt_support.c:963:48:    got unsigned int [usertype] *<noident>
    fdt_support.c:971:48: warning: incorrect type in argument 1 (different base types)
    fdt_support.c:971:48:    expected restricted __be32 const [usertype] *p
    fdt_support.c:971:48:    got unsigned int [usertype] *<noident>
    fdt_support.c:984:29: warning: incorrect type in argument 1 (different base types)
    fdt_support.c:984:29:    expected restricted __be32 const [usertype] *cell
    fdt_support.c:984:29:    got unsigned int [usertype] *addr
    fdt_support.c:996:32: warning: incorrect type in argument 1 (different base types)
    fdt_support.c:996:32:    expected restricted __be32 const [usertype] *cell
    fdt_support.c:996:32:    got unsigned int [usertype] *addr
    fdt_support.c:1041:41: warning: incorrect type in argument 1 (different base types)
    fdt_support.c:1041:41:    expected restricted __be32 const [usertype] *cell
    fdt_support.c:1041:41:    got unsigned int [usertype] *addr
    fdt_support.c:1053:41: warning: incorrect type in argument 2 (different base types)
    fdt_support.c:1053:41:    expected restricted __be32 const [usertype] *range
    fdt_support.c:1053:41:    got unsigned int const [usertype] *[assigned] ranges
    fdt_support.c:1064:53: warning: incorrect type in argument 2 (different base types)
    fdt_support.c:1064:53:    expected restricted __be32 const [usertype] *addr
    fdt_support.c:1064:53:    got unsigned int [usertype] *addr
    fdt_support.c:1110:50: warning: incorrect type in argument 2 (different base types)
    fdt_support.c:1110:50:    expected restricted __be32 const [usertype] *addr
    fdt_support.c:1110:50:    got unsigned int *<noident>
    fdt_support.c:1121:49: warning: incorrect type in argument 1 (different base types)
    fdt_support.c:1121:49:    expected restricted __be32 const [usertype] *cell
    fdt_support.c:1121:49:    got unsigned int *<noident>
    fdt_support.c:1147:60: warning: incorrect type in argument 2 (different base types)
    fdt_support.c:1147:60:    expected restricted __be32 const [usertype] *addr
    fdt_support.c:1147:60:    got unsigned int *<noident>
    fdt_support.c:1081:5: warning: symbol '__of_translate_address' was not declared. Should it be static?
    fdt_support.c:1154:5: error: symbol 'fdt_translate_address' redeclared with different type (originally declared at include/fdt_support.h:95) - incompatible argument 3 (different base types)
    fdt_support.c: In function 'fdt_node_offset_by_compat_reg':
    fdt_support.c:1173:17: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    
    See also linux kernel commit 0131d897 "of/address: use proper
    endianess in get_flags".
    
    Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
    Cc: Jerry Van Baren <gvb.uboot@gmail.com>
    8aa5ec6e