diff options
Diffstat (limited to 'include/linux/io.h')
-rw-r--r-- | include/linux/io.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/include/linux/io.h b/include/linux/io.h index a104b7e69f..bf1ddbbaa6 100644 --- a/include/linux/io.h +++ b/include/linux/io.h @@ -9,6 +9,50 @@ #include <linux/types.h> #include <asm/io.h> +static inline u8 ioread8(const volatile void __iomem *addr) +{ + return readb(addr); +} + +static inline u16 ioread16(const volatile void __iomem *addr) +{ + return readw(addr); +} + +static inline u32 ioread32(const volatile void __iomem *addr) +{ + return readl(addr); +} + +#ifdef CONFIG_64BIT +static inline u64 ioread64(const volatile void __iomem *addr) +{ + return readq(addr); +} +#endif /* CONFIG_64BIT */ + +static inline void iowrite8(u8 value, volatile void __iomem *addr) +{ + writeb(value, addr); +} + +static inline void iowrite16(u16 value, volatile void __iomem *addr) +{ + writew(value, addr); +} + +static inline void iowrite32(u32 value, volatile void __iomem *addr) +{ + writel(value, addr); +} + +#ifdef CONFIG_64BIT +static inline void iowrite64(u64 value, volatile void __iomem *addr) +{ + writeq(value, addr); +} +#endif /* CONFIG_64BIT */ + #ifndef CONFIG_HAVE_ARCH_IOREMAP static inline void __iomem *ioremap(resource_size_t offset, resource_size_t size) |