···1111 *1212 * While read{b,w,l,q} and write{b,w,l,q} contain memory barriers1313 * automatically, there are also __raw versions, which do not.1414- *1515- * Historically, we have also had ctrl_in{b,w,l,q}/ctrl_out{b,w,l,q} for1616- * SuperH specific I/O (raw I/O to on-chip CPU peripherals). In practice1717- * these have the same semantics as the __raw variants, and as such, all1818- * new code should be using the __raw versions.1914 */2015#include <linux/errno.h>2116#include <asm/cache.h>···225230__BUILD_IOPORT_STRING(q, u64)226231227232#endif228228-229229-/*230230- * Legacy SuperH on-chip I/O functions231231- *232232- * These are all deprecated, all new (and especially cross-platform) code233233- * should be using the __raw_xxx() routines directly.234234- */235235-static inline u8 __deprecated ctrl_inb(unsigned long addr)236236-{237237- return __raw_readb(addr);238238-}239239-240240-static inline u16 __deprecated ctrl_inw(unsigned long addr)241241-{242242- return __raw_readw(addr);243243-}244244-245245-static inline u32 __deprecated ctrl_inl(unsigned long addr)246246-{247247- return __raw_readl(addr);248248-}249249-250250-static inline u64 __deprecated ctrl_inq(unsigned long addr)251251-{252252- return __raw_readq(addr);253253-}254254-255255-static inline void __deprecated ctrl_outb(u8 v, unsigned long addr)256256-{257257- __raw_writeb(v, addr);258258-}259259-260260-static inline void __deprecated ctrl_outw(u16 v, unsigned long addr)261261-{262262- __raw_writew(v, addr);263263-}264264-265265-static inline void __deprecated ctrl_outl(u32 v, unsigned long addr)266266-{267267- __raw_writel(v, addr);268268-}269269-270270-static inline void __deprecated ctrl_outq(u64 v, unsigned long addr)271271-{272272- __raw_writeq(v, addr);273273-}274233275234#define IO_SPACE_LIMIT 0xffffffff276235