From 78ae42d86bb8a60a8bc5c2816dcb66c35c1091cb Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Tue, 17 Mar 2020 10:58:48 -0500 Subject: [PATCH] drivers: gpio: 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/gpio/gpio_dw.c | 29 +++++++++++++++++++++++++---- soc/arc/snps_arc_hsdk/dts_fixup.h | 5 ----- soc/arc/snps_emsdp/dts_fixup.h | 6 ------ soc/arc/snps_emsk/dts_fixup.h | 8 -------- soc/xtensa/intel_s1000/dts_fixup.h | 2 -- 5 files changed, 25 insertions(+), 25 deletions(-) diff --git a/drivers/gpio/gpio_dw.c b/drivers/gpio/gpio_dw.c index cec321145d8..d0832038c6f 100644 --- a/drivers/gpio/gpio_dw.c +++ b/drivers/gpio/gpio_dw.c @@ -616,6 +616,11 @@ DEVICE_AND_API_INIT(gpio_dw_0, DT_INST_0_SNPS_DESIGNWARE_GPIO_LABEL, &api_funcs); #endif +#if defined(DT_INST_0_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS) +#define INST_0_IRQ_FLAGS DT_INST_0_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS +#else +#define INST_0_IRQ_FLAGS 0 +#endif static void gpio_config_0_irq(struct device *port) { #if (DT_INST_0_SNPS_DESIGNWARE_GPIO_IRQ_0 > 0) @@ -625,7 +630,7 @@ static void gpio_config_0_irq(struct device *port) IRQ_CONNECT(DT_INST_0_SNPS_DESIGNWARE_GPIO_IRQ_0, DT_INST_0_SNPS_DESIGNWARE_GPIO_IRQ_0_PRIORITY, gpio_dw_isr, DEVICE_GET(gpio_dw_0), - DT_INST_0_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS); + INST_0_IRQ_FLAGS); irq_enable(config->irq_num); #elif defined(CONFIG_GPIO_DW_0_IRQ_SHARED) struct device *shared_irq_dev; @@ -680,6 +685,12 @@ DEVICE_AND_API_INIT(gpio_dw_1, DT_INST_1_SNPS_DESIGNWARE_GPIO_LABEL, &api_funcs); #endif + +#if defined(DT_INST_1_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS) +#define INST_1_IRQ_FLAGS DT_INST_1_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS +#else +#define INST_1_IRQ_FLAGS 0 +#endif static void gpio_config_1_irq(struct device *port) { #if (DT_INST_1_SNPS_DESIGNWARE_GPIO_IRQ_0 > 0) @@ -689,7 +700,7 @@ static void gpio_config_1_irq(struct device *port) IRQ_CONNECT(DT_INST_1_SNPS_DESIGNWARE_GPIO_IRQ_0, DT_INST_1_SNPS_DESIGNWARE_GPIO_IRQ_0_PRIORITY, gpio_dw_isr, DEVICE_GET(gpio_dw_1), - DT_INST_1_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS); + INST_1_IRQ_FLAGS); irq_enable(config->irq_num); #elif defined(CONFIG_GPIO_DW_1_IRQ_SHARED) struct device *shared_irq_dev; @@ -743,6 +754,11 @@ DEVICE_AND_API_INIT(gpio_dw_2, DT_INST_2_SNPS_DESIGNWARE_GPIO_LABEL, &api_funcs); #endif +#if defined(DT_INST_2_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS) +#define INST_2_IRQ_FLAGS DT_INST_2_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS +#else +#define INST_2_IRQ_FLAGS 0 +#endif static void gpio_config_2_irq(struct device *port) { #if (DT_INST_2_SNPS_DESIGNWARE_GPIO_IRQ_0 > 0) @@ -752,7 +768,7 @@ static void gpio_config_2_irq(struct device *port) IRQ_CONNECT(DT_INST_2_SNPS_DESIGNWARE_GPIO_IRQ_0, DT_INST_2_SNPS_DESIGNWARE_GPIO_IRQ_0_PRIORITY, gpio_dw_isr, DEVICE_GET(gpio_dw_2), - DT_INST_2_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS); + INST_2_IRQ_FLAGS); irq_enable(config->irq_num); #elif defined(CONFIG_GPIO_DW_2_IRQ_SHARED) struct device *shared_irq_dev; @@ -806,6 +822,11 @@ DEVICE_AND_API_INIT(gpio_dw_3, DT_INST_3_SNPS_DESIGNWARE_GPIO_LABEL, &api_funcs); #endif +#if defined(DT_INST_3_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS) +#define INST_3_IRQ_FLAGS DT_INST_3_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS +#else +#define INST_3_IRQ_FLAGS 0 +#endif static void gpio_config_3_irq(struct device *port) { #if (DT_INST_3_SNPS_DESIGNWARE_GPIO_IRQ_0 > 0) @@ -815,7 +836,7 @@ static void gpio_config_3_irq(struct device *port) IRQ_CONNECT(DT_INST_3_SNPS_DESIGNWARE_GPIO_IRQ_0, DT_INST_3_SNPS_DESIGNWARE_GPIO_IRQ_0_PRIORITY, gpio_dw_isr, DEVICE_GET(gpio_dw_3), - DT_INST_3_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS); + INST_3_IRQ_FLAGS); irq_enable(config->irq_num); #elif defined(CONFIG_GPIO_DW_3_IRQ_SHARED) struct device *shared_irq_dev; diff --git a/soc/arc/snps_arc_hsdk/dts_fixup.h b/soc/arc/snps_arc_hsdk/dts_fixup.h index ab84954323a..86ca8ff8bdf 100644 --- a/soc/arc/snps_arc_hsdk/dts_fixup.h +++ b/soc/arc/snps_arc_hsdk/dts_fixup.h @@ -6,11 +6,6 @@ /* SoC level DTS fixup file */ -/* - * GPIO configuration - */ -#define DT_INST_0_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS 0 - /* * SPI configuration */ diff --git a/soc/arc/snps_emsdp/dts_fixup.h b/soc/arc/snps_emsdp/dts_fixup.h index 53f15c0c47c..9fec006833d 100644 --- a/soc/arc/snps_emsdp/dts_fixup.h +++ b/soc/arc/snps_emsdp/dts_fixup.h @@ -13,10 +13,4 @@ #define DT_ICCM_BASE_ADDRESS DT_ARC_ICCM_60000000_BASE_ADDRESS #define DT_ICCM_SIZE (DT_ARC_ICCM_60000000_SIZE >> 10) -/* - * GPIO configuration - */ -#define DT_INST_0_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS 0 -#define DT_INST_1_SNPS_DESIGNWARE_GPIO_IRQ_0_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 0b02cfb2dc0..002ce6bc364 100644 --- a/soc/arc/snps_emsk/dts_fixup.h +++ b/soc/arc/snps_emsk/dts_fixup.h @@ -12,14 +12,6 @@ #define DT_DDR_BASE_ADDRESS DT_MMIO_SRAM_10000000_BASE_ADDRESS #define DT_DDR_SIZE (DT_MMIO_SRAM_10000000_SIZE >> 10) -/* - * GPIO configuration - */ -#define DT_INST_0_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS 0 -#define DT_INST_1_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS 0 -#define DT_INST_2_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS 0 -#define DT_INST_3_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS 0 - /* * SPI configuration */ diff --git a/soc/xtensa/intel_s1000/dts_fixup.h b/soc/xtensa/intel_s1000/dts_fixup.h index ca6e85458d4..93c7f338988 100644 --- a/soc/xtensa/intel_s1000/dts_fixup.h +++ b/soc/xtensa/intel_s1000/dts_fixup.h @@ -29,8 +29,6 @@ #define DT_INST_0_SNPS_DESIGNWARE_SPI_IRQ_FLAGS 0 -#define DT_INST_0_SNPS_DESIGNWARE_GPIO_IRQ_0_FLAGS 0 - #define DT_PINMUX_BASE_ADDR \ DT_INTEL_S1000_PINMUX_81C30_BASE_ADDRESS #define DT_PINMUX_CTRL_REG_COUNT \