• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef __ASM_ARM_IO_H
2 #define __ASM_ARM_IO_H
3 
4 #include <types.h>
5 #include <barriers.h>
6 
7 #define __arch_getl(a)			(*(volatile unsigned int *)(a))
8 #define __arch_putl(v,a)        (*(volatile unsigned int *)(a) = (v))
9 
10 #define mb()        dsb()
11 #define __iormb()   dmb()
12 #define __iowmb()   dmb()
13 
14 #define writel(v,c) ({ u32 __v = v; __iowmb(); __arch_putl(__v,c); __v; })
15 #define readl(c)    ({ u32 __v = __arch_getl(c); __iormb(); __v; })
16 
17 #endif  /* __ASM_ARM_IO_H */
18