common: Move enable/disable_interrupts out of common.h
[oweals/u-boot.git] / arch / microblaze / include / asm / microblaze_intc.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * (C) Copyright 2007 Michal Simek
4  *
5  * Michal  SIMEK <monstr@monstr.cz>
6  */
7
8 #include <irq_func.h>
9
10 typedef volatile struct microblaze_intc_t {
11         int isr; /* interrupt status register */
12         int ipr; /* interrupt pending register */
13         int ier; /* interrupt enable register */
14         int iar; /* interrupt acknowledge register */
15         int sie; /* set interrupt enable bits */
16         int cie; /* clear interrupt enable bits */
17         int ivr; /* interrupt vector register */
18         int mer; /* master enable register */
19 } microblaze_intc_t;
20
21 struct irq_action {
22         interrupt_handler_t *handler; /* pointer to interrupt rutine */
23         void *arg;
24         int count; /* number of interrupt */
25 };
26
27 /**
28  * Register and unregister interrupt handler rutines
29  *
30  * @param irq   IRQ number
31  * @param hdlr  Interrupt handler rutine
32  * @param arg   Pointer to argument which is passed to int. handler rutine
33  * @return      0 if registration pass, 1 if unregistration pass,
34  *              or an error code < 0 otherwise
35  */
36 int install_interrupt_handler(int irq, interrupt_handler_t *hdlr,
37                                        void *arg);