1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * (C) Copyright 2007 Michal Simek
5 * Michal SIMEK <monstr@monstr.cz>
8 typedef volatile struct microblaze_intc_t {
9 int isr; /* interrupt status register */
10 int ipr; /* interrupt pending register */
11 int ier; /* interrupt enable register */
12 int iar; /* interrupt acknowledge register */
13 int sie; /* set interrupt enable bits */
14 int cie; /* clear interrupt enable bits */
15 int ivr; /* interrupt vector register */
16 int mer; /* master enable register */
20 interrupt_handler_t *handler; /* pointer to interrupt rutine */
22 int count; /* number of interrupt */
26 * Register and unregister interrupt handler rutines
28 * @param irq IRQ number
29 * @param hdlr Interrupt handler rutine
30 * @param arg Pointer to argument which is passed to int. handler rutine
31 * @return 0 if registration pass, 1 if unregistration pass,
32 * or an error code < 0 otherwise
34 int install_interrupt_handler(int irq, interrupt_handler_t *hdlr,