Commit 27350afd authored by Russell King's avatar Russell King Committed by Russell King

[ARM] EBSA110: Add readsw/readsl/writesw/writesl

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 7ab3f8d5
...@@ -102,6 +102,26 @@ EXPORT_SYMBOL(__readb); ...@@ -102,6 +102,26 @@ EXPORT_SYMBOL(__readb);
EXPORT_SYMBOL(__readw); EXPORT_SYMBOL(__readw);
EXPORT_SYMBOL(__readl); EXPORT_SYMBOL(__readl);
void readsw(void __iomem *addr, void *data, int len)
{
void __iomem *a = __isamem_convert_addr(addr);
BUG_ON((unsigned long)addr & 1);
__raw_readsw(a, data, len);
}
EXPORT_SYMBOL(readsw);
void readsl(void __iomem *addr, void *data, int len)
{
void __iomem *a = __isamem_convert_addr(addr);
BUG_ON((unsigned long)addr & 3);
__raw_readsl(a, data, len);
}
EXPORT_SYMBOL(readsl);
void __writeb(u8 val, void __iomem *addr) void __writeb(u8 val, void __iomem *addr)
{ {
void __iomem *a = __isamem_convert_addr(addr); void __iomem *a = __isamem_convert_addr(addr);
...@@ -137,6 +157,26 @@ EXPORT_SYMBOL(__writeb); ...@@ -137,6 +157,26 @@ EXPORT_SYMBOL(__writeb);
EXPORT_SYMBOL(__writew); EXPORT_SYMBOL(__writew);
EXPORT_SYMBOL(__writel); EXPORT_SYMBOL(__writel);
void writesw(void __iomem *addr, void *data, int len)
{
void __iomem *a = __isamem_convert_addr(addr);
BUG_ON((unsigned long)addr & 1);
__raw_writesw(a, data, len);
}
EXPORT_SYMBOL(writesw);
void writesl(void __iomem *addr, void *data, int len)
{
void __iomem *a = __isamem_convert_addr(addr);
BUG_ON((unsigned long)addr & 3);
__raw_writesl(a, data, len);
}
EXPORT_SYMBOL(writesl);
#define SUPERIO_PORT(p) \ #define SUPERIO_PORT(p) \
(((p) >> 3) == (0x3f8 >> 3) || \ (((p) >> 3) == (0x3f8 >> 3) || \
((p) >> 3) == (0x2f8 >> 3) || \ ((p) >> 3) == (0x2f8 >> 3) || \
......
...@@ -81,4 +81,12 @@ extern void outsb(unsigned int port, const void *buf, int sz); ...@@ -81,4 +81,12 @@ extern void outsb(unsigned int port, const void *buf, int sz);
extern void outsw(unsigned int port, const void *buf, int sz); extern void outsw(unsigned int port, const void *buf, int sz);
extern void outsl(unsigned int port, const void *buf, int sz); extern void outsl(unsigned int port, const void *buf, int sz);
/* can't support writesb atm */
extern void writesw(void __iomem *addr, const void *data, int wordlen);
extern void writesl(void __iomem *addr, const void *data, int longlen);
/* can't support readsb atm */
extern void readsw(const void __iomem *addr, void *data, int wordlen);
extern void readsl(const void __iomem *addr, void *data, int longlen);
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment