[lkml]   [2014]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH] asm-generic/io.h: Add default configuration for readX/writeX_relaxed
Define default readX/writeX_relaxed IO helper functions
for all archs which use asm-generic/io.h.
Using COMPILE_TEST, moving drivers out of arch/arm and
removing architecture dependencies in Kconfig is causing
that more and more drivers is using _relaxed IO helper
functions which is causing compilation failures on architectures
which don't define them.

Signed-off-by: Michal Simek <>

git:// xnext/io
4b9d4a7ed112d0b68b654f09b87ad16ccd644a47 asm-generic/io.h: Add default configuration for readX/writeX_relaxed

elapsed time: 59m

configs tested: 119

sparc defconfig
sparc64 allmodconfig
sparc64 allnoconfig
sparc64 defconfig
avr32 atngw100_defconfig
avr32 atstk1006_defconfig
frv defconfig
mn10300 asb2364_defconfig
openrisc or1ksim_defconfig
tile tilegx_defconfig
um i386_defconfig
um x86_64_defconfig
alpha defconfig
parisc allnoconfig
parisc b180_defconfig
parisc c3000_defconfig
parisc defconfig
arm allmodconfig
arm allnoconfig
arm arm5
arm arm67
arm at91_dt_defconfig
arm at_hdmac
arm ep93xx
arm imx_v6_v7_defconfig
arm iop-adma
arm marzen_defconfig
arm mmp
arm omap2plus_defconfig
arm prima2_defconfig
arm s3c2410_defconfig
arm sa1100
arm samsung
arm sh
arm spear13xx_defconfig
arm tegra_defconfig
x86_64 allnoconfig
sh allnoconfig
sh rsk7269_defconfig
sh sh7785lcr_32bit_defconfig
sh titan_defconfig
x86_64 randconfig-c0-0407
x86_64 randconfig-c1-0407
x86_64 randconfig-c2-0407
x86_64 randconfig-c3-0407
ia64 alldefconfig
ia64 allmodconfig
ia64 allnoconfig
ia64 defconfig
microblaze allyesconfig
microblaze mmu_defconfig
microblaze nommu_defconfig
mips allmodconfig
mips allnoconfig
mips fuloong2e_defconfig
mips jz4740
mips txx9
i386 allyesconfig
i386 alldefconfig
i386 allmodconfig
i386 allnoconfig
i386 defconfig
m32r m32104ut_defconfig
m32r mappi3.smp_defconfig
m32r opsput_defconfig
m32r usrv_defconfig
xtensa common_defconfig
xtensa iss_defconfig
i386 randconfig-fd0-0407
i386 randconfig-fd1-0407
i386 randconfig-fd2-0407
i386 randconfig-fd3-0407
powerpc chroma_defconfig
powerpc corenet64_smp_defconfig
powerpc gamecube_defconfig
powerpc linkstation_defconfig
powerpc wii_defconfig
i386 randconfig-iv0-0407
i386 randconfig-iv1-0407
i386 randconfig-iv2-0407
i386 randconfig-iv3-0407
x86_64 allmodconfig
x86_64 randconfig-sb0-0407
x86_64 randconfig-sb1-0407
x86_64 randconfig-sb2-0407
x86_64 randconfig-sb3-0407
m68k allmodconfig
m68k amiga_defconfig
m68k m5475evb_defconfig
m68k multi_defconfig
blackfin BF526-EZBRD_defconfig
blackfin BF533-EZKIT_defconfig
blackfin BF561-EZKIT-SMP_defconfig
blackfin TCM-BF537_defconfig
cris etrax-100lx_v2_defconfig
i386 randconfig-r0-0407
i386 randconfig-r1-0407
i386 randconfig-r2-0407
i386 randconfig-r3-0407
s390 allmodconfig
s390 allnoconfig
s390 defconfig
x86_64 randconfig-s0-03291922
x86_64 randconfig-s1-03291922
x86_64 randconfig-s2-03291922
x86_64 randconfig-s3-03291922
x86_64 randconfig-s4-03291922
x86_64 randconfig-s5-03291922
arm jornada720_defconfig
ia64 sim_defconfig
x86_64 lkp
x86_64 rhel
powerpc allmodconfig
powerpc allnoconfig
powerpc defconfig
powerpc ppc64_defconfig
x86_64 acpi-redef
x86_64 allyesdebian
x86_64 nfsroot
include/asm-generic/io.h | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h
index d5afe96..0b1de87 100644
--- a/include/asm-generic/io.h
+++ b/include/asm-generic/io.h
@@ -73,6 +73,18 @@ static inline void __raw_writeb(u8 b, volatile void __iomem *addr)

+#ifndef readb_relaxed
+#define readb_relaxed readb
+#ifndef readw_relaxed
+#define readw_relaxed readw
+#ifndef readl_relaxed
+#define readl_relaxed readl
#ifndef __raw_writew
static inline void __raw_writew(u16 b, volatile void __iomem *addr)
@@ -91,6 +103,18 @@ static inline void __raw_writel(u32 b, volatile void __iomem *addr)
#define writew(b,addr) __raw_writew(__cpu_to_le16(b),addr)
#define writel(b,addr) __raw_writel(__cpu_to_le32(b),addr)

+#ifndef writeb_relaxed
+#define writeb_relaxed writeb
+#ifndef writew_relaxed
+#define writew_relaxed writew
+#ifndef writel_relaxed
+#define writel_relaxed writel
#ifdef CONFIG_64BIT
#ifndef __raw_readq
static inline u64 __raw_readq(const volatile void __iomem *addr)
[unhandled content-type:application/pgp-signature]
 \ /
  Last update: 2014-04-08 10:01    [W:0.043 / U:10.040 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site