mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
MIPS: Provide more elevant interface cu2_notifier for CP2 extensions.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: David Daney <ddaney@caviumnetworks.com> Patchwork: https://patchwork.linux-mips.org/patch/1504/
This commit is contained in:
parent
ea7a8463be
commit
4483b15916
3 changed files with 14 additions and 11 deletions
|
@ -41,12 +41,8 @@ static int cnmips_cu2_call(struct notifier_block *nfb, unsigned long action,
|
|||
return NOTIFY_OK; /* Let default notifier send signals */
|
||||
}
|
||||
|
||||
static struct notifier_block cnmips_cu2_notifier = {
|
||||
.notifier_call = cnmips_cu2_call,
|
||||
};
|
||||
|
||||
static int cnmips_cu2_setup(void)
|
||||
{
|
||||
return register_cu2_notifier(&cnmips_cu2_notifier);
|
||||
return cu2_notifier(cnmips_cu2_call, 0);
|
||||
}
|
||||
early_initcall(cnmips_cu2_setup);
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
#ifndef __ASM_COP2_H
|
||||
#define __ASM_COP2_H
|
||||
|
||||
#include <linux/notifier.h>
|
||||
|
||||
enum cu2_ops {
|
||||
CU2_EXCEPTION,
|
||||
CU2_LWC2_OP,
|
||||
|
@ -20,4 +22,14 @@ enum cu2_ops {
|
|||
extern int register_cu2_notifier(struct notifier_block *nb);
|
||||
extern int cu2_notifier_call_chain(unsigned long val, void *v);
|
||||
|
||||
#define cu2_notifier(fn, pri) \
|
||||
({ \
|
||||
static struct notifier_block fn##_nb __cpuinitdata = { \
|
||||
.notifier_call = fn, \
|
||||
.priority = pri \
|
||||
}; \
|
||||
\
|
||||
register_cu2_notifier(&fn##_nb); \
|
||||
})
|
||||
|
||||
#endif /* __ASM_COP2_H */
|
||||
|
|
|
@ -907,11 +907,6 @@ static int default_cu2_call(struct notifier_block *nfb, unsigned long action,
|
|||
return NOTIFY_OK;
|
||||
}
|
||||
|
||||
static struct notifier_block default_cu2_notifier = {
|
||||
.notifier_call = default_cu2_call,
|
||||
.priority = 0x80000000, /* Run last */
|
||||
};
|
||||
|
||||
asmlinkage void do_cpu(struct pt_regs *regs)
|
||||
{
|
||||
unsigned int __user *epc;
|
||||
|
@ -1734,5 +1729,5 @@ void __init trap_init(void)
|
|||
|
||||
sort_extable(__start___dbe_table, __stop___dbe_table);
|
||||
|
||||
register_cu2_notifier(&default_cu2_notifier);
|
||||
cu2_notifier(default_cu2_call, 0x80000000); /* Run last */
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue