Go to the documentation of this file.
19 #include <linux/kernel.h>
20 #include <linux/types.h>
21 #include <linux/compiler.h>
22 #include <linux/export.h>
40 }
while (--count != 0);
41 asm volatile(
"twi 0,%0,0; isync" : :
"r" (
tmp));
54 }
while (--count != 0);
71 }
while (--count != 0);
72 asm volatile(
"twi 0,%0,0; isync" : :
"r" (
tmp));
85 }
while (--count != 0);
102 }
while (--count != 0);
103 asm volatile(
"twi 0,%0,0; isync" : :
"r" (
tmp));
113 asm volatile(
"sync");
116 }
while (--count != 0);
117 asm volatile(
"sync");
121 #define IO_CHECK_ALIGN(v,a) ((((unsigned long)(v)) & ((a) - 1)) == 0)
131 __asm__ __volatile__ (
"sync" : : :
"memory");
133 *((
volatile u8 *)p) =
c;
138 *((
volatile u32 *)p) =
lc;
143 *((
volatile u8 *)p) =
c;
147 __asm__ __volatile__ (
"sync" : : :
"memory");
154 void *vsrc = (
void __force *) src;
156 __asm__ __volatile__ (
"sync" : : :
"memory");
158 *((
u8 *)dest) = *((
volatile u8 *)vsrc);
165 *((
u32 *)dest) = *((
volatile u32 *)vsrc);
172 *((
u8 *)dest) = *((
volatile u8 *)vsrc);
178 __asm__ __volatile__ (
"sync" : : :
"memory");
184 void *vdest = (
void __force *) dest;
186 __asm__ __volatile__ (
"sync" : : :
"memory");
188 *((
volatile u8 *)vdest) = *((
u8 *)src);
194 *((
volatile u32 *)vdest) = *((
volatile u32 *)src);
200 *((
volatile u8 *)vdest) = *((
u8 *)src);
205 __asm__ __volatile__ (
"sync" : : :
"memory");