• Robin Murphy's avatar
    io-64-nonatomic: Add relaxed accessor variants · e511267b
    Robin Murphy authored
    Whilst commit 9439eb3a ("asm-generic: io: implement relaxed
    accessor macros as conditional wrappers") makes the *_relaxed forms of
    I/O accessors universally available to drivers, in cases where writeq()
    is implemented via the io-64-nonatomic helpers, writeq_relaxed() will
    end up falling back to writel() regardless of whether writel_relaxed()
    is available (identically for s/write/read/).
    
    Add corresponding relaxed forms of the nonatomic helpers to delegate
    to the equivalent 32-bit accessors as appropriate. We also need to fix
    io.h to avoid defining default relaxed variants if the basic accessors
    themselves don't exist.
    
    CC: Christoph Hellwig <hch@lst.de>
    CC: Darren Hart <dvhart@linux.intel.com>
    CC: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
    Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarRobin Murphy <robin.murphy@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    e511267b
io.h 18.3 KB