diff options
-rw-r--r-- | arch/arm/include/asm/io.h | 1 | ||||
-rw-r--r-- | arch/powerpc/include/asm/io.h | 10 | ||||
-rw-r--r-- | arch/sandbox/include/asm/io.h | 1 | ||||
-rw-r--r-- | drivers/spi/ath79_spi.c | 6 | ||||
-rw-r--r-- | include/asm-generic/io.h | 2 |
5 files changed, 15 insertions, 5 deletions
diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h index b442a37b9c..0507db1a9c 100644 --- a/arch/arm/include/asm/io.h +++ b/arch/arm/include/asm/io.h @@ -8,7 +8,6 @@ #define memset_io memset_io #include <asm-generic/io.h> -#include <asm-generic/bitio.h> /* * String version of IO memory access ops: diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h index 8488c36f65..30d0987023 100644 --- a/arch/powerpc/include/asm/io.h +++ b/arch/powerpc/include/asm/io.h @@ -132,6 +132,7 @@ static inline void __raw_writel(unsigned int v, volatile void __iomem *addr) /* * 8, 16 and 32 bit, big and little endian I/O operations, with barrier. */ +#define in_8 in_8 static inline u8 in_8(const volatile u8 __iomem *addr) { u8 ret; @@ -141,11 +142,13 @@ static inline u8 in_8(const volatile u8 __iomem *addr) return ret; } +#define out_8 out_8 static inline void out_8(volatile u8 __iomem *addr, u8 val) { __asm__ __volatile__("sync;stb%U0%X0 %1,%0" : "=m" (*addr) : "r" (val)); } +#define in_le16 in_le16 static inline u16 in_le16(const volatile u16 __iomem *addr) { u16 ret; @@ -155,6 +158,7 @@ static inline u16 in_le16(const volatile u16 __iomem *addr) return ret; } +#define in_be16 in_be16 static inline u16 in_be16(const volatile u16 __iomem *addr) { u16 ret; @@ -164,17 +168,20 @@ static inline u16 in_be16(const volatile u16 __iomem *addr) return ret; } +#define out_le16 out_le16 static inline void out_le16(volatile u16 __iomem *addr, u16 val) { __asm__ __volatile__("sync; sthbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr)); } +#define out_be16 out_be16 static inline void out_be16(volatile u16 __iomem *addr, u16 val) { __asm__ __volatile__("sync;sth%U0%X0 %1,%0" : "=m" (*addr) : "r" (val)); } +#define in_le32 in_le32 static inline u32 in_le32(const volatile u32 __iomem *addr) { u32 ret; @@ -184,6 +191,7 @@ static inline u32 in_le32(const volatile u32 __iomem *addr) return ret; } +#define in_be32 in_be32 static inline u32 in_be32(const volatile u32 __iomem *addr) { u32 ret; @@ -193,12 +201,14 @@ static inline u32 in_be32(const volatile u32 __iomem *addr) return ret; } +#define out_le32 out_le32 static inline void out_le32(volatile u32 __iomem *addr, u32 val) { __asm__ __volatile__("sync; stwbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr)); } +#define out_be32 out_be32 static inline void out_be32(volatile u32 __iomem *addr, u32 val) { __asm__ __volatile__("sync;stw%U0%X0 %1,%0" : "=m" (*addr) : "r" (val)); diff --git a/arch/sandbox/include/asm/io.h b/arch/sandbox/include/asm/io.h index 9f9cd3a42a..3e5c0580bc 100644 --- a/arch/sandbox/include/asm/io.h +++ b/arch/sandbox/include/asm/io.h @@ -8,7 +8,6 @@ extern unsigned char __pci_iobase[IO_SPACE_LIMIT]; #include <asm-generic/io.h> -#include <asm-generic/bitio.h> static inline void *phys_to_virt(unsigned long phys) { diff --git a/drivers/spi/ath79_spi.c b/drivers/spi/ath79_spi.c index e47896be62..2a4e32a4cc 100644 --- a/drivers/spi/ath79_spi.c +++ b/drivers/spi/ath79_spi.c @@ -55,7 +55,7 @@ static inline void ath79_spi_wr(struct ath79_spi *sp, u32 val, int reg) __raw_writel(val, sp->regs + reg); } -static inline void setbits(struct ath79_spi *sp, int bits, int on) +static inline void ath79_spi_setbits(struct ath79_spi *sp, int bits, int on) { /* * We are the only user of SCSPTR so no locking is required. @@ -82,14 +82,14 @@ static inline void setsck(struct spi_device *spi, int on) { struct ath79_spi *sc = ath79_spidev_to_sp(spi); - setbits(sc, AR71XX_SPI_IOC_CLK, on); + ath79_spi_setbits(sc, AR71XX_SPI_IOC_CLK, on); } static inline void setmosi(struct spi_device *spi, int on) { struct ath79_spi *sc = ath79_spidev_to_sp(spi); - setbits(sc, AR71XX_SPI_IOC_DO, on); + ath79_spi_setbits(sc, AR71XX_SPI_IOC_DO, on); } static inline u32 getmiso(struct spi_device *spi) diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h index a4b0dc4b43..47f8c3ec1b 100644 --- a/include/asm-generic/io.h +++ b/include/asm-generic/io.h @@ -479,4 +479,6 @@ static inline void memcpy_toio(volatile void __iomem *addr, const void *buffer, } #endif +#include <asm-generic/bitio.h> + #endif /* __ASM_GENERIC_IO_H */ |