diff --git a/drivers/interrupt_controller/intc_dw.c b/drivers/interrupt_controller/intc_dw.c index e0f5d24f4a8..3037d70f4f5 100644 --- a/drivers/interrupt_controller/intc_dw.c +++ b/drivers/interrupt_controller/intc_dw.c @@ -46,7 +46,7 @@ static int dw_ictl_initialize(struct device *dev) static void dw_ictl_isr(void *arg) { - struct device *devt = (struct device *)arg; + struct device *dev = (struct device *)arg; const struct dw_ictl_config *config = dev->config->config_info; volatile struct dw_ictl_registers * const regs = (struct dw_ictl_registers *)config->base_addr; @@ -62,7 +62,7 @@ static void dw_ictl_isr(void *arg) static inline void dw_ictl_intr_enable(struct device *dev, unsigned int irq) { - const struct dw_ictl_config *config = dev->config->config_info + const struct dw_ictl_config *config = dev->config->config_info; volatile struct dw_ictl_registers * const regs = (struct dw_ictl_registers *)config->base_addr; @@ -75,7 +75,7 @@ static inline void dw_ictl_intr_enable(struct device *dev, unsigned int irq) static inline void dw_ictl_intr_disable(struct device *dev, unsigned int irq) { - const struct dw_ictl_config *config = dev->config->config_info + const struct dw_ictl_config *config = dev->config->config_info; volatile struct dw_ictl_registers * const regs = (struct dw_ictl_registers *)config->base_addr; @@ -126,7 +126,6 @@ static int dw_ictl_intr_get_line_state(struct device *dev, unsigned int irq) static void dw_ictl_config_irq(struct device *dev); static const struct dw_ictl_config dw_config = { - .irq_num = DT_INTC_DW_0_BASE_ADDR, .numirqs = DT_INTC_DW_0_NUM_IRQS, .isr_table_offset = CONFIG_DW_ISR_TBL_OFFSET, .config_func = dw_ictl_config_irq, diff --git a/drivers/interrupt_controller/intc_dw.h b/drivers/interrupt_controller/intc_dw.h index 1e64607ce4b..c21fe24bf0c 100644 --- a/drivers/interrupt_controller/intc_dw.h +++ b/drivers/interrupt_controller/intc_dw.h @@ -16,6 +16,7 @@ extern "C" { typedef void (*dw_ictl_config_irq_t)(struct device *dev); struct dw_ictl_config { + u32_t base_addr; u32_t numirqs; u32_t isr_table_offset; dw_ictl_config_irq_t config_func; diff --git a/dts/xtensa/intel/intel_s1000.dtsi b/dts/xtensa/intel/intel_s1000.dtsi index 3f62d32a1c5..d37974f85c3 100644 --- a/dts/xtensa/intel/intel_s1000.dtsi +++ b/dts/xtensa/intel/intel_s1000.dtsi @@ -95,6 +95,7 @@ interrupts = <6 0 0>; num-irqs = <9>; interrupt-parent = <&cavs0>; + label = "DW_INTC"; }; gpio0: gpio@80c00 { diff --git a/soc/xtensa/intel_s1000/dts_fixup.h b/soc/xtensa/intel_s1000/dts_fixup.h index 994f1d89117..cf245508d04 100644 --- a/soc/xtensa/intel_s1000/dts_fixup.h +++ b/soc/xtensa/intel_s1000/dts_fixup.h @@ -38,7 +38,7 @@ #define DT_INTC_DW_0_BASE_ADDR \ DT_SNPS_DESIGNWARE_INTC_81800_BASE_ADDRESS #define DT_INTC_DW_0_NAME DT_SNPS_DESIGNWARE_INTC_81800_LABEL -#define DT_INTC_DW_0_IRQ DDT_SNPS_DESIGNWARE_INTC_81800_IRQ_0 +#define DT_INTC_DW_0_IRQ DT_SNPS_DESIGNWARE_INTC_81800_IRQ_0 #define DT_INTC_DW_0_IRQ_PRI \ DT_SNPS_DESIGNWARE_INTC_81800_IRQ_0_PRIORITY #define DT_INTC_DW_0_IRQ_FLAGS \ diff --git a/soc/xtensa/intel_s1000/soc.h b/soc/xtensa/intel_s1000/soc.h index 3ab337fd18b..48919f702ab 100644 --- a/soc/xtensa/intel_s1000/soc.h +++ b/soc/xtensa/intel_s1000/soc.h @@ -43,7 +43,7 @@ #define IOAPIC_HIGH 0 /* DW interrupt controller */ -#define DW_ICTL_IRQ_CAVS_OFFSET CAVS_IRQ_NUMBER(DT_DW_ICTL_IRQ) +#define DW_ICTL_IRQ_CAVS_OFFSET CAVS_IRQ_NUMBER(DT_INTC_DW_0_IRQ) #define DW_ICTL_NUM_IRQS 9 /* GPIO */