blob: 3532e2c5f098ae46a4a79f7455cd004d699dd4a9 [file] [log] [blame]
Ralf Baechle69f3a7d2009-11-24 01:24:58 +00001/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2009 Wind River Systems,
7 * written by Ralf Baechle <ralf@linux-mips.org>
8 */
9#ifndef __ASM_COP2_H
10#define __ASM_COP2_H
11
Ralf Baechle4483b152010-08-05 13:25:59 +010012#include <linux/notifier.h>
13
Ralf Baechle69f3a7d2009-11-24 01:24:58 +000014enum cu2_ops {
15 CU2_EXCEPTION,
16 CU2_LWC2_OP,
17 CU2_LDC2_OP,
18 CU2_SWC2_OP,
19 CU2_SDC2_OP,
20};
21
22extern int register_cu2_notifier(struct notifier_block *nb);
23extern int cu2_notifier_call_chain(unsigned long val, void *v);
24
Ralf Baechle4483b152010-08-05 13:25:59 +010025#define cu2_notifier(fn, pri) \
26({ \
David Daney4c7106c2010-09-23 11:23:29 -070027 static struct notifier_block fn##_nb = { \
Ralf Baechle4483b152010-08-05 13:25:59 +010028 .notifier_call = fn, \
29 .priority = pri \
30 }; \
31 \
32 register_cu2_notifier(&fn##_nb); \
33})
34
Ralf Baechle69f3a7d2009-11-24 01:24:58 +000035#endif /* __ASM_COP2_H */