[U-Boot] [PATCH] nios2: use builtin functions for control registers access

Thomas Chou thomas at wytron.com.tw
Mon Nov 5 06:13:41 CET 2012


The commit 51926d5ee0be029fb45f10f42756df97279f8ad3
  COMMON: Use __stringify() instead of rest of implementations
forgot to update the wrctl funtion, and causes compilation error.

But there are builtin functions for control registers access in
nios2 comipiler. It is convenient to use them instead.

Signed-off-by: Thomas Chou <thomas at wytron.com.tw>
Cc: Marek Vasut <marex at denx.de>
---
 include/nios2.h | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/include/nios2.h b/include/nios2.h
index df8126a..5da7c87 100644
--- a/include/nios2.h
+++ b/include/nios2.h
@@ -24,8 +24,6 @@
 #ifndef __NIOS2_H__
 #define __NIOS2_H__
 
-#include <linux/stringify.h>
-
 /*------------------------------------------------------------------------
  * Control registers -- use with wrctl() & rdctl()
  *----------------------------------------------------------------------*/
@@ -39,14 +37,8 @@
  * Access to control regs
  *----------------------------------------------------------------------*/
 
-#define rdctl(reg)\
-	({unsigned int val;\
-	asm volatile("rdctl %0, ctl" __stringify(reg) \
-		: "=r" (val) ); val;})
-
-#define wrctl(reg,val)\
-	asm volatile( "wrctl ctl" _str_(reg) ",%0"\
-		: : "r" (val))
+#define rdctl(reg) __builtin_rdctl(reg)
+#define wrctl(reg,val) __builtin_wrctl(reg,val)
 
 /*------------------------------------------------------------------------
  * Control reg bit masks
-- 
1.7.11.7



More information about the U-Boot mailing list