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

login
register
mail settings
Submitter Thomas Chou
Date Nov. 5, 2012, 5:13 a.m.
Message ID <1352092421-31973-1-git-send-email-thomas@wytron.com.tw>
Download mbox | patch
Permalink /patch/197141/
State Accepted
Headers show

Comments

Thomas Chou - Nov. 5, 2012, 5:13 a.m.
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@wytron.com.tw>
Cc: Marek Vasut <marex@denx.de>
---
 include/nios2.h | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

Patch

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