From 47968e30cf31c22416e7b01caaaa528d025570c8 Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Tue, 17 Mar 2020 08:28:02 -0500 Subject: [PATCH] drivers: spi: dw: handle flags differences in driver Towards cleaning up (and hopefully removing dts_fixup.h in the near future). We need to move the handling of different names for the irq flag propety into the driver and out of dts_fixup.h. Signed-off-by: Kumar Gala --- drivers/spi/spi_dw.c | 28 ++++++++++++++++++++++++---- soc/arc/snps_arc_hsdk/dts_fixup.h | 17 ----------------- soc/arc/snps_emsk/dts_fixup.h | 7 ------- soc/xtensa/intel_s1000/dts_fixup.h | 2 -- 4 files changed, 24 insertions(+), 30 deletions(-) delete mode 100644 soc/arc/snps_arc_hsdk/dts_fixup.h diff --git a/drivers/spi/spi_dw.c b/drivers/spi/spi_dw.c index c760a9e8a2c..9e1c417bd60 100644 --- a/drivers/spi/spi_dw.c +++ b/drivers/spi/spi_dw.c @@ -570,10 +570,15 @@ DEVICE_AND_API_INIT(spi_dw_port_0, DT_INST_0_SNPS_DESIGNWARE_SPI_LABEL, void spi_config_0_irq(void) { #ifdef CONFIG_SPI_DW_PORT_0_INTERRUPT_SINGLE_LINE +#if defined(DT_INST_0_SNPS_DESIGNWARE_SPI_IRQ_FLAGS) +#define INST_0_IRQ_FLAGS DT_INST_0_SNPS_DESIGNWARE_SPI_IRQ_FLAGS +#else +#define INST_0_IRQ_FLAGS 0 +#endif IRQ_CONNECT(DT_INST_0_SNPS_DESIGNWARE_SPI_IRQ_0, DT_INST_0_SNPS_DESIGNWARE_SPI_IRQ_0_PRIORITY, spi_dw_isr, DEVICE_GET(spi_dw_port_0), - DT_INST_0_SNPS_DESIGNWARE_SPI_IRQ_FLAGS); + INST_0_IRQ_FLAGS); irq_enable(DT_INST_0_SNPS_DESIGNWARE_SPI_IRQ_0); #else IRQ_CONNECT(DT_INST_0_SNPS_DESIGNWARE_SPI_IRQ_RX_AVAIL, @@ -631,10 +636,15 @@ DEVICE_AND_API_INIT(spi_dw_port_1, DT_INST_1_SNPS_DESIGNWARE_SPI_LABEL, void spi_config_1_irq(void) { #ifdef CONFIG_SPI_DW_PORT_1_INTERRUPT_SINGLE_LINE +#if defined(DT_INST_1_SNPS_DESIGNWARE_SPI_IRQ_FLAGS) +#define INST_1_IRQ_FLAGS DT_INST_1_SNPS_DESIGNWARE_SPI_IRQ_FLAGS +#else +#define INST_1_IRQ_FLAGS 0 +#endif IRQ_CONNECT(DT_INST_1_SNPS_DESIGNWARE_SPI_IRQ_0, DT_INST_1_SNPS_DESIGNWARE_SPI_IRQ_0_PRIORITY, spi_dw_isr, DEVICE_GET(spi_dw_port_1), - DT_INST_1_SNPS_DESIGNWARE_SPI_IRQ_FLAGS); + INST_1_IRQ_FLAGS); irq_enable(DT_INST_1_SNPS_DESIGNWARE_SPI_IRQ_0); #else IRQ_CONNECT(DT_INST_1_SNPS_DESIGNWARE_SPI_IRQ_RX_AVAIL, @@ -692,10 +702,15 @@ DEVICE_AND_API_INIT(spi_dw_port_2, DT_INST_2_SNPS_DESIGNWARE_SPI_LABEL, void spi_config_2_irq(void) { #ifdef CONFIG_SPI_DW_PORT_2_INTERRUPT_SINGLE_LINE +#if defined(DT_INST_2_SNPS_DESIGNWARE_SPI_IRQ_FLAGS) +#define INST_2_IRQ_FLAGS DT_INST_2_SNPS_DESIGNWARE_SPI_IRQ_FLAGS +#else +#define INST_2_IRQ_FLAGS 0 +#endif IRQ_CONNECT(DT_INST_2_SNPS_DESIGNWARE_SPI_IRQ_0, DT_INST_2_SNPS_DESIGNWARE_SPI_IRQ_0_PRIORITY, spi_dw_isr, DEVICE_GET(spi_dw_port_2), - DT_INST_2_SNPS_DESIGNWARE_SPI_IRQ_FLAGS); + INST_2_IRQ_FLAGS); irq_enable(DT_INST_2_SNPS_DESIGNWARE_SPI_IRQ_0); #else IRQ_CONNECT(DT_INST_2_SNPS_DESIGNWARE_SPI_IRQ_RX_AVAIL, @@ -753,10 +768,15 @@ DEVICE_AND_API_INIT(spi_dw_port_3, DT_INST_3_SNPS_DESIGNWARE_SPI_LABEL, void spi_config_3_irq(void) { #ifdef CONFIG_SPI_DW_PORT_3_INTERRUPT_SINGLE_LINE +#if defined(DT_INST_3_SNPS_DESIGNWARE_SPI_IRQ_FLAGS) +#define INST_3_IRQ_FLAGS DT_INST_3_SNPS_DESIGNWARE_SPI_IRQ_FLAGS +#else +#define INST_3_IRQ_FLAGS 0 +#endif IRQ_CONNECT(DT_INST_3_SNPS_DESIGNWARE_SPI_IRQ_0, DT_INST_3_SNPS_DESIGNWARE_SPI_IRQ_0_PRIORITY, spi_dw_isr, DEVICE_GET(spi_dw_port_3), - DT_INST_3_SNPS_DESIGNWARE_SPI_IRQ_FLAGS); + INST_3_IRQ_FLAGS); irq_enable(DT_INST_3_SNPS_DESIGNWARE_SPI_IRQ_0); #else IRQ_CONNECT(DT_INST_3_SNPS_DESIGNWARE_SPI_IRQ_RX_AVAIL, diff --git a/soc/arc/snps_arc_hsdk/dts_fixup.h b/soc/arc/snps_arc_hsdk/dts_fixup.h deleted file mode 100644 index 86ca8ff8bdf..00000000000 --- a/soc/arc/snps_arc_hsdk/dts_fixup.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) 2019 Synopsys, Inc. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - */ - -/* SoC level DTS fixup file */ - -/* - * SPI configuration - */ - -#define DT_INST_0_SNPS_DESIGNWARE_SPI_IRQ_FLAGS 0 -#define DT_INST_1_SNPS_DESIGNWARE_SPI_IRQ_FLAGS 0 -#define DT_INST_2_SNPS_DESIGNWARE_SPI_IRQ_FLAGS 0 - -/* End of SoC Level DTS fixup file */ diff --git a/soc/arc/snps_emsk/dts_fixup.h b/soc/arc/snps_emsk/dts_fixup.h index 002ce6bc364..61726c96604 100644 --- a/soc/arc/snps_emsk/dts_fixup.h +++ b/soc/arc/snps_emsk/dts_fixup.h @@ -12,11 +12,4 @@ #define DT_DDR_BASE_ADDRESS DT_MMIO_SRAM_10000000_BASE_ADDRESS #define DT_DDR_SIZE (DT_MMIO_SRAM_10000000_SIZE >> 10) -/* - * SPI configuration - */ - -#define DT_INST_0_SNPS_DESIGNWARE_SPI_IRQ_FLAGS 0 -#define DT_INST_1_SNPS_DESIGNWARE_SPI_IRQ_FLAGS 0 - /* End of SoC Level DTS fixup file */ diff --git a/soc/xtensa/intel_s1000/dts_fixup.h b/soc/xtensa/intel_s1000/dts_fixup.h index 93c7f338988..79dc33ad7eb 100644 --- a/soc/xtensa/intel_s1000/dts_fixup.h +++ b/soc/xtensa/intel_s1000/dts_fixup.h @@ -27,8 +27,6 @@ #define DT_CAVS_ICTL_3_IRQ_PRI DT_INTEL_CAVS_INTC_78830_IRQ_0_PRIORITY #define DT_CAVS_ICTL_3_IRQ_FLAGS DT_INTEL_CAVS_INTC_78830_IRQ_0_SENSE -#define DT_INST_0_SNPS_DESIGNWARE_SPI_IRQ_FLAGS 0 - #define DT_PINMUX_BASE_ADDR \ DT_INTEL_S1000_PINMUX_81C30_BASE_ADDRESS #define DT_PINMUX_CTRL_REG_COUNT \