nios2: use builtin functions for control registers access
authorThomas Chou <thomas@wytron.com.tw>
Fri, 9 Nov 2012 06:29:15 +0000 (14:29 +0800)
committerThomas Chou <thomas@wytron.com.tw>
Sat, 10 Nov 2012 11:45:58 +0000 (19:45 +0800)
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

index df8126a66e4753f84f4299e8a15f78e173c7b57b..cbca0dc01fca50ec88d247f60d25c1b2ec3c1872 100644 (file)
@@ -24,8 +24,6 @@
 #ifndef __NIOS2_H__
 #define __NIOS2_H__
 
-#include <linux/stringify.h>
-
 /*------------------------------------------------------------------------
  * Control registers -- use with wrctl() & rdctl()
  *----------------------------------------------------------------------*/
  * 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