blob: c3bef50f37a82585a52dbc8b263b3c5bc67cf9ca [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
18extern void (*__wbflush)(void);
19extern 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 */