/arch/blackfin/kernel/exception.c
https://bitbucket.org/thekraven/iscream_thunderc-2.6.35 · C · 45 lines · 26 code · 13 blank · 6 comment · 6 complexity · eebae36049cd8392f6e4093833bb1b2f MD5 · raw file
- /* 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);