[kernel] r18265 - in dists/trunk/linux-2.6/debian: . patches/bugfix/arm patches/series

Arnaud Patard rtp-guest at alioth.debian.org
Sun Nov 13 19:27:58 UTC 2011


Author: rtp-guest
Date: Sun Nov 13 19:27:56 2011
New Revision: 18265

Log:
add io{read,write}{16,32}be functions to ixp4xx

Added:
   dists/trunk/linux-2.6/debian/patches/bugfix/arm/ixp4xx_iobe.patch
Modified:
   dists/trunk/linux-2.6/debian/changelog
   dists/trunk/linux-2.6/debian/patches/series/base

Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog	Sun Nov 13 19:20:11 2011	(r18264)
+++ dists/trunk/linux-2.6/debian/changelog	Sun Nov 13 19:27:56 2011	(r18265)
@@ -24,6 +24,9 @@
   * [x86] Add amilo-rfkill driver for some Fujitsu-Siemens Amilo laptops
     (Closes: #631664)
 
+  [ Arnaud Patard ]
+  * [arm] add missing ioread/write be functions to ixp4xx to fix FTBFS
+
  -- Ben Hutchings <ben at decadent.org.uk>  Fri, 04 Nov 2011 15:05:47 +0000
 
 linux-2.6 (3.1.0-1~experimental.1) experimental; urgency=low

Added: dists/trunk/linux-2.6/debian/patches/bugfix/arm/ixp4xx_iobe.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/arm/ixp4xx_iobe.patch	Sun Nov 13 19:27:56 2011	(r18265)
@@ -0,0 +1,103 @@
+ixp4xx: add io{read,write}{16,32}be functions
+
+Some driver are now requiring some be io functions, add noted in
+commit (06901bd83412db5a31de7526e637101ed0c2c472). Otherwise, it may lead
+to build errors like this one :
+
+drivers/net/mlx4/en_tx.c: In function ‘mlx4_en_xmit’:
+drivers/net/mlx4/en_tx.c:815: error: implicit declaration of function ‘iowrite32be’
+make[3]: *** [drivers/net/mlx4/en_tx.o] Error 1
+make[2]: *** [drivers/net/mlx4] Error 2
+make[1]: *** [drivers/net] Error 2
+
+Signed-off-by: Arnaud Patard <arnaud.patard at rtp-net.org>
+
+Index: linux-3.1/arch/arm/mach-ixp4xx/include/mach/io.h
+===================================================================
+--- linux-3.1.orig/arch/arm/mach-ixp4xx/include/mach/io.h	2011-11-13 14:14:50.662853902 +0100
++++ linux-3.1/arch/arm/mach-ixp4xx/include/mach/io.h	2011-11-13 14:19:38.522841236 +0100
+@@ -387,6 +387,20 @@ static inline unsigned int ioread16(cons
+ #endif
+ }
+ 
++#define	ioread16be(p)			ioread16be(p)
++static inline unsigned int ioread16be(const void __iomem *addr)
++{
++	unsigned long port = (unsigned long __force)addr;
++	if (__is_io_address(port))
++		return	(unsigned int)inw(port & PIO_MASK);
++	else
++#ifndef CONFIG_IXP4XX_INDIRECT_PCI
++		return be16_to_cpu((__force __be16)__raw_readw(addr));
++#else
++		return be16_to_cpu((__force __le16)(unsigned int)__indirect_readw(addr));
++#endif
++}
++
+ #define	ioread16_rep(p, v, c)		ioread16_rep(p, v, c)
+ static inline void ioread16_rep(const void __iomem *addr, void *vaddr,
+ 				u32 count)
+@@ -417,6 +431,21 @@ static inline unsigned int ioread32(cons
+ 	}
+ }
+ 
++#define	ioread32be(p)			ioread32be(p)
++static inline unsigned int ioread32be(const void __iomem *addr)
++{
++	unsigned long port = (unsigned long __force)addr;
++	if (__is_io_address(port))
++		return	(unsigned int)inl(port & PIO_MASK);
++	else {
++#ifndef CONFIG_IXP4XX_INDIRECT_PCI
++		return be32_to_cpu((__force __be32)__raw_readl(addr));
++#else
++		return be32_to_cpu((__force __be32)(unsigned int)__indirect_readl(addr));
++#endif
++	}
++}
++
+ #define	ioread32_rep(p, v, c)		ioread32_rep(p, v, c)
+ static inline void ioread32_rep(const void __iomem *addr, void *vaddr,
+ 				u32 count)
+@@ -475,6 +504,20 @@ static inline void iowrite16(u16 value,
+ #endif
+ }
+ 
++#define	iowrite16be(v, p)			iowrite16be(v, p)
++static inline void iowrite16be(u16 value, void __iomem *addr)
++{
++	unsigned long port = (unsigned long __force)addr;
++	if (__is_io_address(port))
++		outw(value, port & PIO_MASK);
++	else
++#ifndef CONFIG_IXP4XX_INDIRECT_PCI
++		__raw_writew(cpu_to_be16(value), addr);
++#else
++		__indirect_writew(cpu_to_be16(value), addr);
++#endif
++}
++
+ #define	iowrite16_rep(p, v, c)		iowrite16_rep(p, v, c)
+ static inline void iowrite16_rep(void __iomem *addr, const void *vaddr,
+ 				 u32 count)
+@@ -504,6 +547,20 @@ static inline void iowrite32(u32 value,
+ #endif
+ }
+ 
++#define	iowrite32be(v, p)			iowrite32be(v, p)
++static inline void iowrite32be(u32 value, void __iomem *addr)
++{
++	unsigned long port = (unsigned long __force)addr;
++	if (__is_io_address(port))
++		outl(value, port & PIO_MASK);
++	else
++#ifndef CONFIG_IXP4XX_INDIRECT_PCI
++		__raw_writel((u32 __force)cpu_to_be32(value), addr);
++#else
++		__indirect_writel((u32 __force)cpu_to_be32(value), addr);
++#endif
++}
++
+ #define	iowrite32_rep(p, v, c)		iowrite32_rep(p, v, c)
+ static inline void iowrite32_rep(void __iomem *addr, const void *vaddr,
+ 				 u32 count)

Modified: dists/trunk/linux-2.6/debian/patches/series/base
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/base	Sun Nov 13 19:20:11 2011	(r18264)
+++ dists/trunk/linux-2.6/debian/patches/series/base	Sun Nov 13 19:27:56 2011	(r18265)
@@ -62,3 +62,4 @@
 
 # Defer until we're sure about the system call number
 #+ bugfix/ia64/ia64-Add-accept4-syscall.patch
++ bugfix/arm/ixp4xx_iobe.patch



More information about the Kernel-svn-changes mailing list