diff --git a/drivers/bluetooth/uart.c b/drivers/bluetooth/uart.c index 515ce2c5f9a..847e3ba8df5 100644 --- a/drivers/bluetooth/uart.c +++ b/drivers/bluetooth/uart.c @@ -257,7 +257,7 @@ static void bt_uart_setup(struct device *uart, struct uart_init_info *info) uart_irq_rx_disable(uart); uart_irq_tx_disable(uart); - IRQ_CONFIG(bluetooth, uart_irq_get(uart)); + IRQ_CONFIG(bluetooth, uart_irq_get(uart), 0); irq_enable(uart_irq_get(uart)); /* Drain the fifo */ diff --git a/drivers/console/uart_console.c b/drivers/console/uart_console.c index 4838c1e2d9f..9ee791dd81c 100644 --- a/drivers/console/uart_console.c +++ b/drivers/console/uart_console.c @@ -176,7 +176,7 @@ static void console_input_init(void) uart_irq_rx_disable(UART_CONSOLE_DEV); uart_irq_tx_disable(UART_CONSOLE_DEV); - IRQ_CONFIG(console, uart_irq_get(UART_CONSOLE_DEV)); + IRQ_CONFIG(console, uart_irq_get(UART_CONSOLE_DEV), 0); irq_enable(uart_irq_get(UART_CONSOLE_DEV)); /* Drain the fifo */ diff --git a/drivers/gpio/gpio_dw.c b/drivers/gpio/gpio_dw.c index b28f183af70..0f72e181a3c 100644 --- a/drivers/gpio/gpio_dw.c +++ b/drivers/gpio/gpio_dw.c @@ -377,7 +377,7 @@ void gpio_config_0_irq(struct device *port) #ifdef CONFIG_GPIO_DW_0_IRQ_DIRECT ARG_UNUSED(shared_irq_dev); - IRQ_CONFIG(gpio_dw_0, config->irq_num); + IRQ_CONFIG(gpio_dw_0, config->irq_num, 0); irq_enable(config->irq_num); #elif defined(CONFIG_GPIO_DW_0_IRQ_SHARED) ARG_UNUSED(config); @@ -440,7 +440,7 @@ void gpio_config_1_irq(struct device *port) #ifdef CONFIG_GPIO_DW_1_IRQ_DIRECT ARG_UNUSED(shared_irq_dev); - IRQ_CONFIG(gpio_dw_1, config->irq_num); + IRQ_CONFIG(gpio_dw_1, config->irq_num, 0); irq_enable(config->irq_num); #elif defined(CONFIG_GPIO_DW_1_IRQ_SHARED) ARG_UNUSED(config); diff --git a/drivers/i2c/i2c_dw.c b/drivers/i2c/i2c_dw.c index 482a789dde6..d20e54942d5 100644 --- a/drivers/i2c/i2c_dw.c +++ b/drivers/i2c/i2c_dw.c @@ -854,7 +854,7 @@ void i2c_config_0(struct device *port) #if defined(CONFIG_I2C_DW_0_IRQ_DIRECT) ARG_UNUSED(shared_irq_dev); - IRQ_CONFIG(i2c_dw_0, config->interrupt_vector); + IRQ_CONFIG(i2c_dw_0, config->interrupt_vector, 0); irq_enable(config->interrupt_vector); #elif defined(CONFIG_I2C_DW_0_IRQ_SHARED) ARG_UNUSED(config); diff --git a/drivers/shared_irq/shared_irq.c b/drivers/shared_irq/shared_irq.c index bd62e8126ca..8462cc05b59 100644 --- a/drivers/shared_irq/shared_irq.c +++ b/drivers/shared_irq/shared_irq.c @@ -151,7 +151,7 @@ void shared_irq_config_0_irq(struct device *port) { struct shared_irq_config *config = port->config->config_info; - IRQ_CONFIG(shared_irq_0, config->irq_num); + IRQ_CONFIG(shared_irq_0, config->irq_num, 0); } void shared_irq_isr_0(void *unused) @@ -183,7 +183,7 @@ void shared_irq_config_1_irq(struct device *port) { struct shared_irq_config *config = port->config->config_info; - IRQ_CONFIG(shared_irq_1, config->irq_num); + IRQ_CONFIG(shared_irq_1, config->irq_num, 0); } void shared_irq_isr_1(void *unused) diff --git a/drivers/simple/uart.c b/drivers/simple/uart.c index e4310032765..61f0fef8356 100644 --- a/drivers/simple/uart.c +++ b/drivers/simple/uart.c @@ -76,7 +76,7 @@ static void uart_simple_setup(struct device *uart, struct uart_init_info *info) uart_irq_rx_disable(uart); uart_irq_tx_disable(uart); - IRQ_CONFIG(uart_simple, uart_irq_get(uart)); + IRQ_CONFIG(uart_simple, uart_irq_get(uart), 0); irq_enable(uart_irq_get(uart)); /* Drain the fifo */ diff --git a/drivers/spi/intel_spi.c b/drivers/spi/intel_spi.c index 0d1f1021340..b1dd3928fc4 100644 --- a/drivers/spi/intel_spi.c +++ b/drivers/spi/intel_spi.c @@ -462,7 +462,7 @@ IRQ_CONNECT_STATIC(spi_intel_irq_port_0, CONFIG_SPI_INTEL_PORT_0_IRQ, void spi_config_0_irq(struct device *dev) { struct spi_intel_config *config = dev->config->config_info; - IRQ_CONFIG(spi_intel_irq_port_0, config->irq); + IRQ_CONFIG(spi_intel_irq_port_0, config->irq, 0); } #endif /* CONFIG_SPI_INTEL_PORT_0 */ @@ -505,7 +505,7 @@ IRQ_CONNECT_STATIC(spi_intel_irq_port_1, CONFIG_SPI_INTEL_PORT_1_IRQ, void spi_config_1_irq(struct device *dev) { struct spi_intel_config *config = dev->config->config_info; - IRQ_CONFIG(spi_intel_irq_port_1, config->irq); + IRQ_CONFIG(spi_intel_irq_port_1, config->irq, 0); } #endif /* CONFIG_SPI_INTEL_PORT_1 */ diff --git a/drivers/timer/hpet.c b/drivers/timer/hpet.c index 6494c701acb..2801180a8a6 100644 --- a/drivers/timer/hpet.c +++ b/drivers/timer/hpet.c @@ -613,7 +613,7 @@ int _sys_clock_driver_init(struct device *device) * has to be programmed into the interrupt controller. */ - IRQ_CONFIG(hpet, CONFIG_HPET_TIMER_IRQ); + IRQ_CONFIG(hpet, CONFIG_HPET_TIMER_IRQ, 0); /* enable the IRQ in the interrupt controller */ diff --git a/drivers/timer/loapic_timer.c b/drivers/timer/loapic_timer.c index 2e3c6806d77..28180f6c136 100644 --- a/drivers/timer/loapic_timer.c +++ b/drivers/timer/loapic_timer.c @@ -599,7 +599,7 @@ int _sys_clock_driver_init(struct device *device) * still * has to be programmed into the interrupt controller. */ - IRQ_CONFIG(loapic, CONFIG_LOAPIC_TIMER_IRQ); + IRQ_CONFIG(loapic, CONFIG_LOAPIC_TIMER_IRQ, 0); /* Everything has been configured. It is now safe to enable the * interrupt */ diff --git a/include/arch/arm/cortex_m/irq.h b/include/arch/arm/cortex_m/irq.h index e791253016d..a017b8b28d5 100644 --- a/include/arch/arm/cortex_m/irq.h +++ b/include/arch/arm/cortex_m/irq.h @@ -83,7 +83,8 @@ extern void _irq_priority_set(unsigned int irq, unsigned int prio); * @return N/A * */ -#define IRQ_CONFIG(device, irq) _irq_priority_set(irq, _##device##_int_priority) +#define IRQ_CONFIG(device, irq, priority) \ + _irq_priority_set(irq, _##device##_int_priority) #endif /* _ASMLANGUAGE */ diff --git a/include/arch/x86/arch.h b/include/arch/x86/arch.h index d88b63e7a57..494d8fa310b 100644 --- a/include/arch/x86/arch.h +++ b/include/arch/x86/arch.h @@ -173,7 +173,7 @@ typedef struct s_isrList { * @return N/A * */ -#define IRQ_CONFIG(device, irq) \ +#define IRQ_CONFIG(device, irq, priority) \ do { \ _SysIntVecProgram(_##device##_int_vector, irq); \ _IntVecMarkAllocated(_##device##_int_vector); \