| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 14 |  | 
|  | 15 | #ifdef CONFIG_CPU_HAS_WB | 
|  | 16 |  | 
|  | 17 | extern void (*__wbflush)(void); | 
|  | 18 | extern void wbflush_setup(void); | 
|  | 19 |  | 
|  | 20 | #define wbflush()			\ | 
|  | 21 | do {				\ | 
|  | 22 | __sync();		\ | 
|  | 23 | __wbflush();		\ | 
|  | 24 | } while (0) | 
|  | 25 |  | 
|  | 26 | #else /* !CONFIG_CPU_HAS_WB */ | 
|  | 27 |  | 
|  | 28 | #define wbflush_setup() do { } while (0) | 
|  | 29 |  | 
|  | 30 | #define wbflush() fast_iob() | 
|  | 31 |  | 
|  | 32 | #endif /* !CONFIG_CPU_HAS_WB */ | 
|  | 33 |  | 
|  | 34 | #endif /* _ASM_WBFLUSH_H */ |