Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4483b159 authored by Ralf Baechle's avatar Ralf Baechle
Browse files

MIPS: Provide more elevant interface cu2_notifier for CP2 extensions.

parent ea7a8463
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -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);
+12 −0
Original line number Diff line number Diff line
@@ -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 */
+1 −6
Original line number Diff line number Diff line
@@ -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  */
}