Update of /cvsroot/gc-linux/linux/include/asm-ppc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16634/include/asm-ppc
Modified Files:
io.h
Log Message:
Merge 2.6.11
Index: io.h
===================================================================
RCS file: /cvsroot/gc-linux/linux/include/asm-ppc/io.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- io.h 4 Jan 2005 21:39:31 -0000 1.5
+++ io.h 3 Mar 2005 21:12:52 -0000 1.6
@@ -133,7 +133,10 @@
{
__asm__ __volatile__("stw%U0%X0 %1,%0; eieio" : "=m" (*addr) : "r" (val));
}
-
+#if defined (CONFIG_8260_PCI9)
+#define readb(addr) in_8((volatile u8 *)(addr))
+#define writeb(b,addr) out_8((volatile u8 *)(addr), (b))
+#else
static inline __u8 readb(volatile void __iomem *addr)
{
return in_8(addr);
@@ -142,6 +145,8 @@
{
out_8(addr, b);
}
+#endif
+
#if defined(CONFIG_APUS) || defined(CONFIG_GAMECUBE)
static inline __u16 readw(volatile void __iomem *addr)
{
@@ -159,6 +164,12 @@
{
*(__force volatile __u32 *)(addr) = b;
}
+#elif defined (CONFIG_8260_PCI9)
+/* Use macros if PCI9 workaround enabled */
+#define readw(addr) in_le16((volatile u16 *)(addr))
+#define readl(addr) in_le32((volatile u32 *)(addr))
+#define writew(b,addr) out_le16((volatile u16 *)(addr),(b))
+#define writel(b,addr) out_le32((volatile u32 *)(addr),(b))
#else
static inline __u16 readw(volatile void __iomem *addr)
{
@@ -182,15 +193,15 @@
#define readw_relaxed(addr) readw(addr)
#define readl_relaxed(addr) readl(addr)
-static inline __u8 __raw_readb(volatile void __iomem *addr)
+static inline __u8 __raw_readb(const volatile void __iomem *addr)
{
return *(__force volatile __u8 *)(addr);
}
-static inline __u16 __raw_readw(volatile void __iomem *addr)
+static inline __u16 __raw_readw(const volatile void __iomem *addr)
{
return *(__force volatile __u16 *)(addr);
}
-static inline __u32 __raw_readl(volatile void __iomem *addr)
+static inline __u32 __raw_readl(const volatile void __iomem *addr)
{
return *(__force volatile __u32 *)(addr);
}
@@ -332,11 +343,16 @@
#define IO_SPACE_LIMIT ~0
+#if defined (CONFIG_8260_PCI9)
+#define memset_io(a,b,c) memset((void *)(a),(b),(c))
+#define memcpy_fromio(a,b,c) memcpy((a),(void *)(b),(c))
+#define memcpy_toio(a,b,c) memcpy((void *)(a),(b),(c))
+#else
static inline void memset_io(volatile void __iomem *addr, unsigned char val, int count)
{
memset((void __force *)addr, val, count);
}
-static inline void memcpy_fromio(void *dst, volatile void __iomem *src, int count)
+static inline void memcpy_fromio(void *dst,const volatile void __iomem *src, int count)
{
memcpy(dst, (void __force *) src, count);
}
@@ -344,6 +360,9 @@
{
memcpy((void __force *) dst, src, count);
}
+#endif
+
+#define eth_io_copy_and_sum(a,b,c,d) eth_copy_and_sum((a),(void __force *)(void __iomem *)(b),(c),(d))
/*
* Map in an area of physical address space, for accessing
@@ -488,32 +507,32 @@
static inline void ioread8_rep(void __iomem *addr, void *dst, unsigned long count)
{
- _insb((u8 __force *) addr, dst, count);
+ _insb(addr, dst, count);
}
static inline void ioread16_rep(void __iomem *addr, void *dst, unsigned long count)
{
- _insw_ns((u16 __force *) addr, dst, count);
+ _insw_ns(addr, dst, count);
}
static inline void ioread32_rep(void __iomem *addr, void *dst, unsigned long count)
{
- _insl_ns((u32 __force *) addr, dst, count);
+ _insl_ns(addr, dst, count);
}
static inline void iowrite8_rep(void __iomem *addr, const void *src, unsigned long count)
{
- _outsb((u8 __force *) addr, src, count);
+ _outsb(addr, src, count);
}
static inline void iowrite16_rep(void __iomem *addr, const void *src, unsigned long count)
{
- _outsw_ns((u16 __force *) addr, src, count);
+ _outsw_ns(addr, src, count);
}
static inline void iowrite32_rep(void __iomem *addr, const void *src, unsigned long count)
{
- _outsl_ns((u32 __force *) addr, src, count);
+ _outsl_ns(addr, src, count);
}
/* Create a virtual mapping cookie for an IO port range */
|