mirror of https://gitee.com/openkylin/linux.git
asm-generic/io.h: add reads[bwl]/writes[bwl] helpers
A bunch of arches define reads[bwl]/writes[bwl] helpers for accessing memory mapped registers. Since the Blackfin ones aren't specific to Blackfin code, move them to the common asm-generic/io.h for people. Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
21aa8ec362
commit
efb2d31c1c
|
@ -158,36 +158,6 @@ extern void dma_insb(unsigned long port, void *addr, unsigned short count);
|
||||||
extern void dma_insw(unsigned long port, void *addr, unsigned short count);
|
extern void dma_insw(unsigned long port, void *addr, unsigned short count);
|
||||||
extern void dma_insl(unsigned long port, void *addr, unsigned short count);
|
extern void dma_insl(unsigned long port, void *addr, unsigned short count);
|
||||||
|
|
||||||
static inline void readsl(const void __iomem *addr, void *buf, int len)
|
|
||||||
{
|
|
||||||
insl((unsigned long)addr, buf, len);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void readsw(const void __iomem *addr, void *buf, int len)
|
|
||||||
{
|
|
||||||
insw((unsigned long)addr, buf, len);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void readsb(const void __iomem *addr, void *buf, int len)
|
|
||||||
{
|
|
||||||
insb((unsigned long)addr, buf, len);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void writesl(const void __iomem *addr, const void *buf, int len)
|
|
||||||
{
|
|
||||||
outsl((unsigned long)addr, buf, len);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void writesw(const void __iomem *addr, const void *buf, int len)
|
|
||||||
{
|
|
||||||
outsw((unsigned long)addr, buf, len);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void writesb(const void __iomem *addr, const void *buf, int len)
|
|
||||||
{
|
|
||||||
outsb((unsigned long)addr, buf, len);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Map some physical address range into the kernel address space.
|
* Map some physical address range into the kernel address space.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -211,6 +211,36 @@ static inline void outsl(unsigned long addr, const void *buffer, int count)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static inline void readsl(const void __iomem *addr, void *buf, int len)
|
||||||
|
{
|
||||||
|
insl((unsigned long)addr, buf, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void readsw(const void __iomem *addr, void *buf, int len)
|
||||||
|
{
|
||||||
|
insw((unsigned long)addr, buf, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void readsb(const void __iomem *addr, void *buf, int len)
|
||||||
|
{
|
||||||
|
insb((unsigned long)addr, buf, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void writesl(const void __iomem *addr, const void *buf, int len)
|
||||||
|
{
|
||||||
|
outsl((unsigned long)addr, buf, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void writesw(const void __iomem *addr, const void *buf, int len)
|
||||||
|
{
|
||||||
|
outsw((unsigned long)addr, buf, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void writesb(const void __iomem *addr, const void *buf, int len)
|
||||||
|
{
|
||||||
|
outsb((unsigned long)addr, buf, len);
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef CONFIG_GENERIC_IOMAP
|
#ifndef CONFIG_GENERIC_IOMAP
|
||||||
#define ioread8(addr) readb(addr)
|
#define ioread8(addr) readb(addr)
|
||||||
#define ioread16(addr) readw(addr)
|
#define ioread16(addr) readw(addr)
|
||||||
|
|
Loading…
Reference in New Issue