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:
parent
5b3d94510c
commit
f7a2ff4f8d
2 changed files with 13 additions and 11 deletions
|
@ -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)); \
|
||||
|
|
|
@ -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)); \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue