diff options
Diffstat (limited to 'arch/sparc64/kernel/traps.c')
| -rw-r--r-- | arch/sparc64/kernel/traps.c | 17 | 
1 files changed, 9 insertions, 8 deletions
diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c index df612e4f75f..ff090bb9734 100644 --- a/arch/sparc64/kernel/traps.c +++ b/arch/sparc64/kernel/traps.c @@ -43,18 +43,19 @@  #include <linux/kmod.h>  #endif -struct notifier_block *sparc64die_chain; -static DEFINE_SPINLOCK(die_notifier_lock); +ATOMIC_NOTIFIER_HEAD(sparc64die_chain);  int register_die_notifier(struct notifier_block *nb)  { -	int err = 0; -	unsigned long flags; -	spin_lock_irqsave(&die_notifier_lock, flags); -	err = notifier_chain_register(&sparc64die_chain, nb); -	spin_unlock_irqrestore(&die_notifier_lock, flags); -	return err; +	return atomic_notifier_chain_register(&sparc64die_chain, nb);  } +EXPORT_SYMBOL(register_die_notifier); + +int unregister_die_notifier(struct notifier_block *nb) +{ +	return atomic_notifier_chain_unregister(&sparc64die_chain, nb); +} +EXPORT_SYMBOL(unregister_die_notifier);  /* When an irrecoverable trap occurs at tl > 0, the trap entry   * code logs the trap state registers at every level in the trap  |