[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