[coreboot-gerrit] Patch merged into coreboot/master: 086b369 armv7: replace read/write macros with inlines

gerrit at coreboot.org gerrit at coreboot.org
Wed Apr 10 00:05:03 CEST 2013


the following patch was just integrated into master:
commit 086b369dfc6421c698cd5a386e75fde68cb838dc
Author: David Hendricks <dhendrix at chromium.org>
Date:   Mon Apr 8 20:01:18 2013 -0700

    armv7: replace read/write macros with inlines
    
    This enables type checking for safety as to help prevent errors like
    http://review.coreboot.org/#/c/3038/ . Now compilation fails if the
    wrong type is passed into readb/readw/readl/writeb/writew/writel
    or other macros in io.h.
    
    This also deprecates readw/writew. The previous definition was 16-bits
    which is incorrect since wordsize on ARMv7 is 32-bits and there was
    only 1 instance of writew (#if 0'd anyway). Going forward we should
    always use read{8,16,32} and write{8,16,32} where N specifies the
    exact length rather than relying on ambiguous definition of wordsize.
    
    Since many macros relied on __raw_*, which were basically the same
    (minus data memory barrier instructions), this patch also gets rid
    of __raw_*. There were parts of the code which ended up using these
    macros consecutively, for example:
    	setbits_le32(&regs->ch_cfg, SPI_CH_RST);
    	clrbits_le32(&regs->ch_cfg, SPI_CH_RST);
    
    In such cases the safe versions of readl() and writel() should be
    used anyway.
    
    Note: This also fixes two dubious casts as to avoid breaking
    compilation.
    
    Change-Id: I8850933f68ea3a9b615d00ebd422f7c242268f1c
    Signed-off-by: David Hendricks <dhendrix at chromium.org>
    Reviewed-on: http://review.coreboot.org/3045
    Tested-by: build bot (Jenkins)
    Reviewed-by: Ronald G. Minnich <rminnich at gmail.com>

Build-Tested: build bot (Jenkins) at Tue Apr  9 22:37:51 2013, giving +1
Reviewed-By: Ronald G. Minnich <rminnich at gmail.com> at Wed Apr 10 00:04:57 2013, giving +2
See http://review.coreboot.org/3045 for details.

-gerrit



More information about the coreboot-gerrit mailing list