Merge master.kernel.org:/home/rmk/linux-2.6-arm
[linux-2.6] / include / asm-mips / wbflush.h
1 /*
2  * Header file for using the wbflush routine
3  *
4  * This file is subject to the terms and conditions of the GNU General Public
5  * License.  See the file "COPYING" in the main directory of this archive
6  * for more details.
7  *
8  * Copyright (c) 1998 Harald Koerfgen
9  * Copyright (C) 2002 Maciej W. Rozycki
10  */
11 #ifndef _ASM_WBFLUSH_H
12 #define _ASM_WBFLUSH_H
13
14 #include <linux/config.h>
15
16 #ifdef CONFIG_CPU_HAS_WB
17
18 extern void (*__wbflush)(void);
19 extern void wbflush_setup(void);
20
21 #define wbflush()                       \
22         do {                            \
23                 __sync();               \
24                 __wbflush();            \
25         } while (0)
26
27 #else /* !CONFIG_CPU_HAS_WB */
28
29 #define wbflush_setup() do { } while (0)
30
31 #define wbflush() fast_iob()
32
33 #endif /* !CONFIG_CPU_HAS_WB */
34
35 #endif /* _ASM_WBFLUSH_H */