drivers: Fixing the 2 drivers for PCIe IRQ connection

Now these 2 drivers should be working properly in case of IRQ remapping.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
This commit is contained in:
Tomasz Bursztyka 2021-03-16 09:33:41 +01:00 committed by Anas Nashif
commit f7a2ff4f8d
2 changed files with 13 additions and 11 deletions

View file

@ -690,7 +690,7 @@ static int i2c_dw_initialize(const struct device *dev)
static void i2c_config_##n(const struct device *port) \
{ \
ARG_UNUSED(port); \
IRQ_CONNECT(DT_INST_IRQN(n), DT_INST_IRQ(n, priority), \
IRQ_CONNECT(DT_INST_IRQN(n), DT_INST_IRQ(n, priority), \
i2c_dw_isr, DEVICE_DT_INST_GET(n), \
I2C_DW_IRQ_FLAGS(n)); \
irq_enable(DT_INST_IRQN(n)); \
@ -709,7 +709,8 @@ static int i2c_dw_initialize(const struct device *dev)
if (irq == PCIE_CONF_INTR_IRQ_NONE) { \
return; \
} \
irq_connect_dynamic(irq, DT_INST_IRQ(n, priority), \
pcie_connect_dynamic_irq(DT_INST_REG_ADDR(n), irq, \
DT_INST_IRQ(n, priority), \
(void (*)(const void *))i2c_dw_isr, \
DEVICE_DT_INST_GET(n), \
I2C_DW_IRQ_FLAGS(n)); \

View file

@ -1043,14 +1043,14 @@ static const struct uart_driver_api uart_ns16550_driver_api = {
_CONCAT(UART_NS16550_IRQ_FLAGS_SENSE, DT_INST_IRQ_HAS_CELL(n, sense))(n)
/* not PCI(e) */
#define UART_NS16550_IRQ_CONFIG_PCIE0(n) \
static void irq_config_func##n(const struct device *dev) \
{ \
ARG_UNUSED(dev); \
IRQ_CONNECT(DT_INST_IRQN(n), DT_INST_IRQ(n, priority), \
uart_ns16550_isr, DEVICE_DT_INST_GET(n), \
UART_NS16550_IRQ_FLAGS(n)); \
irq_enable(DT_INST_IRQN(n)); \
#define UART_NS16550_IRQ_CONFIG_PCIE0(n) \
static void irq_config_func##n(const struct device *dev) \
{ \
ARG_UNUSED(dev); \
IRQ_CONNECT(DT_INST_IRQN(n), DT_INST_IRQ(n, priority), \
uart_ns16550_isr, DEVICE_DT_INST_GET(n), \
UART_NS16550_IRQ_FLAGS(n)); \
irq_enable(DT_INST_IRQN(n)); \
}
/* PCI(e) with auto IRQ detection */
@ -1066,7 +1066,8 @@ static const struct uart_driver_api uart_ns16550_driver_api = {
if (irq == PCIE_CONF_INTR_IRQ_NONE) { \
return; \
} \
irq_connect_dynamic(irq, DT_INST_IRQ(n, priority), \
pcie_connect_dynamic_irq(DT_INST_REG_ADDR(n), irq, \
DT_INST_IRQ(n, priority), \
(void (*)(const void *))uart_ns16550_isr, \
DEVICE_DT_INST_GET(n), \
UART_NS16550_IRQ_FLAGS(n)); \