/*
* Subject to the GPL, version 2.
*/
#include "xmalloc.h"
struct panic_handler {
void *arg;
pid_t pid;
bool is_enabled;
void (*on_panic)(void *arg);
struct panic_handler *next;
};
static struct panic_handler *panic_handlers;
void panic_handler_add(void (*on_panic)(void *arg), void *arg)
{
struct panic_handler *handler = xmallocz(sizeof(*handler));
handler->arg = arg;
handler->pid = getpid();
handler->is_enabled = true;
handler->on_panic = on_panic;
handler->next = panic_handlers;
panic_handlers = handler;
};
void call_panic_handlers(void)
{
struct panic_handler *it;
pid_t pid = getpid();
for (it = panic_handlers; it; it = it->next) {
if (it->pid == pid && it->is_enabled) {
it->is_enabled = false;
it->on_panic(it->arg);
}
}
}
cgit.png' alt='cgit logo'/>
sh_eth: rename EESIPR bits
Since the commit b0ca2a21f769 ("sh_eth: Add support of SH7763 to sh_eth")
the *enum* declaring the EESIPR bits (interrupt mask) went out of sync with
the *enum* declaring the EESR bits (interrupt status) WRT bit naming and
formatting. I'd like to restore the consistency by using EESIPR as the bit
name prefix, renaming the *enum* to EESIPR_BIT, and (finally) renaming the
bits according to the available Renesas SH77{34|63} manuals; additionally,
reconstruct couple names using the EESR bit declaration above...
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>