Skip to content
  • Kim Phillips's avatar
    include/linux/byteorder: import latest endian definitions from linux · eef1cf2d
    Kim Phillips authored
    
    
    u-boot's byteorder headers did not contain endianness attributions
    for use with sparse, causing a lot of false positives.  Import the
    kernel's latest definitions, and enable them by including compiler.h
    and types.h.  They come with 'const' added for some swab functions, so
    fix those up, too:
    
    include/linux/byteorder/big_endian.h:46:2: warning: passing argument 1 of '__swab64p' discards 'const' qualifier from pointer target type [enabled by default]
    
    Also, note: u-boot's historic __BYTE_ORDER definition has been
    preserved (for the time being at least).
    
    We also remove ad-hoc barrier() definitions, since we're including
    compiler.h in files that hadn't in the past:
    
    macb.c:54:0: warning: "barrier" redefined [enabled by default]
    
    In addition, including compiler.h in byteorder changes the 'noinline'
    definition to expand to __attribute__((noinline)).  This fixes
    arch/powerpc/lib/bootm.c:
    
    bootm.c:329:16: error: attribute '__attribute__': unknown attribute
    bootm.c:329:16: error: expected ')' before '__attribute__'
    bootm.c:329:25: error: expected identifier or '(' before ')' token
    
    powerpc sparse builds yield:
    
    include/common.h:356:22: error: marked inline, but without a definition
    
    the unknown-reason inlining without a definition is considered obsolete
    given it was part of the 2002 initial commit, and no arm version was
    'fixed.'
    
    also fixed:
    ydirectenv.h:60:0: warning: "inline" redefined [enabled by default]
    
    and:
    
    Configuring for devconcenter - Board: intip, Options: DEVCONCENTER
    make[1]: *** [4xx_ibm_ddr2_autocalib.o] Error 1
    make: *** [arch/powerpc/cpu/ppc4xx/libppc4xx.o] Error 2
    powerpc-fsl-linux-size: './u-boot': No such file
    4xx_ibm_ddr2_autocalib.c: In function 'DQS_autocalibration':
    include/asm/ppc4xx-sdram.h:1407:13: sorry, unimplemented: inlining failed in call to 'ppc4xx_ibm_ddr2_register_dump': function body not available
    4xx_ibm_ddr2_autocalib.c:1243:32: sorry, unimplemented: called from here
    
    and:
    
    In file included from crc32.c:50:0:
    crc32table.h:4:1: warning: implicit declaration of function '___constant_swab32' [-Wimplicit-function-declaration]
    crc32table.h:4:1: error: initializer element is not constant
    crc32table.h:4:1: error: (near initialization for 'crc32table_le[0]')
    
    Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
    [trini: Remove '#endif' in include/common.h around setenv portion]
    Signed-off-by: default avatarTom Rini <trini@ti.com>
    eef1cf2d