Blackfin: split kernel/traps.c
The current kernel/traps.c file has grown a bit unwieldy as more debugging functionality has been added over time, so split it up into more logical files. There should be no functional changes here, just minor whitespace tweaking. This should make future extensions easier to manage. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:

committed by
Mike Frysinger

parent
bb84dbf69b
commit
2a12c4632d
45
arch/blackfin/kernel/exception.c
Normal file
45
arch/blackfin/kernel/exception.c
Normal file
@@ -0,0 +1,45 @@
|
||||
/* Basic functions for adding/removing custom exception handlers
|
||||
*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <asm/irq_handler.h>
|
||||
|
||||
int bfin_request_exception(unsigned int exception, void (*handler)(void))
|
||||
{
|
||||
void (*curr_handler)(void);
|
||||
|
||||
if (exception > 0x3F)
|
||||
return -EINVAL;
|
||||
|
||||
curr_handler = ex_table[exception];
|
||||
|
||||
if (curr_handler != ex_replaceable)
|
||||
return -EBUSY;
|
||||
|
||||
ex_table[exception] = handler;
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(bfin_request_exception);
|
||||
|
||||
int bfin_free_exception(unsigned int exception, void (*handler)(void))
|
||||
{
|
||||
void (*curr_handler)(void);
|
||||
|
||||
if (exception > 0x3F)
|
||||
return -EINVAL;
|
||||
|
||||
curr_handler = ex_table[exception];
|
||||
|
||||
if (curr_handler != handler)
|
||||
return -EBUSY;
|
||||
|
||||
ex_table[exception] = ex_replaceable;
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(bfin_free_exception);
|
Reference in New Issue
Block a user