rt-thread/bsp/allwinner/libraries/sunxi-hal/hal/source/intc/hal_intc.c

32 lines
583 B
C
Raw Normal View History

#include <stdint.h>
#include <hal_interrupt.h>
#include <hal_intc.h>
#include "intc.h"
static irqreturn_t intc_dispatcher(int dev, void *arg)
{
interrupt_entry();
return IRQ_HANDLED;
}
hal_intc_status_t hal_intc_init(uint32_t irq_no)
{
hal_intc_status_t ret = HAL_INTC_STATUS_OK;
/* initialize interrupt manager */
interrupt_init();
/* register intc main dispatcher handler */
if (request_irq(irq_no, intc_dispatcher, 0, NULL, NULL) < 0) {
ret = HAL_INTC_STATUS_FAIL;
goto end;
}
enable_irq(irq_no);
end:
return ret;
}