Re: [PATCH 1/2] irqchip: remove sigma tango driver

2021-01-21 Thread Måns Rullgård
Arnd Bergmann  writes:

> From: Arnd Bergmann 
>
> The tango platform is getting removed, so the driver is no
> longer needed.
>
> Cc: Marc Gonzalez 
> Cc: Mans Rullgard 
> Signed-off-by: Arnd Bergmann 

Acked-by: Mans Rullgard 

> ---
>  .../sigma,smp8642-intc.txt|  48 
>  drivers/irqchip/Kconfig   |   5 -
>  drivers/irqchip/Makefile  |   1 -
>  drivers/irqchip/irq-tango.c   | 227 --
>  4 files changed, 281 deletions(-)
>  delete mode 100644 
> Documentation/devicetree/bindings/interrupt-controller/sigma,smp8642-intc.txt
>  delete mode 100644 drivers/irqchip/irq-tango.c
>
> diff --git 
> a/Documentation/devicetree/bindings/interrupt-controller/sigma,smp8642-intc.txt
>  
> b/Documentation/devicetree/bindings/interrupt-controller/sigma,smp8642-intc.txt
> deleted file mode 100644
> index 355c18a3a4d3..
> --- 
> a/Documentation/devicetree/bindings/interrupt-controller/sigma,smp8642-intc.txt
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -Sigma Designs SMP86xx/SMP87xx secondary interrupt controller
> -
> -Required properties:
> -- compatible: should be "sigma,smp8642-intc"
>
> -- reg: physical address of MMIO region
> -- ranges: address space mapping of child nodes
> -- interrupt-controller: boolean
> -- #address-cells: should be <1>
> -- #size-cells: should be <1>
> -
> -One child node per control block with properties:
> -- reg: address of registers for this control block
> -- interrupt-controller: boolean
> -- #interrupt-cells: should be <2>, interrupt index and flags per 
> interrupts.txt
> -- interrupts: interrupt spec of primary interrupt controller
> -
> -Example:
> -
> -interrupt-controller@6e000 {
> - compatible = "sigma,smp8642-intc";
> - reg = <0x6e000 0x400>;
> - ranges = <0x0 0x6e000 0x400>;
> - interrupt-parent = <&gic>;
> - interrupt-controller;
> - #address-cells = <1>;
> - #size-cells = <1>;
> -
> - irq0: interrupt-controller@0 {
> - reg = <0x000 0x100>;
> - interrupt-controller;
> - #interrupt-cells = <2>;
> - interrupts = ;
> - };
> -
> - irq1: interrupt-controller@100 {
> - reg = <0x100 0x100>;
> - interrupt-controller;
> - #interrupt-cells = <2>;
> - interrupts = ;
> - };
> -
> - irq2: interrupt-controller@300 {
> - reg = <0x300 0x100>;
> - interrupt-controller;
> - #interrupt-cells = <2>;
> - interrupts = ;
> - };
> -};
>
> diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
> index 94920a51c628..f95d114c63ed 100644
> --- a/drivers/irqchip/Kconfig
> +++ b/drivers/irqchip/Kconfig
> @@ -260,11 +260,6 @@ config ST_IRQCHIP
>   help
> Enables SysCfg Controlled IRQs on STi based platforms.
>
> -config TANGO_IRQ
> - bool
> - select IRQ_DOMAIN
> - select GENERIC_IRQ_CHIP
> -
>  config TB10X_IRQC
>   bool
>   select IRQ_DOMAIN
> diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile
> index 0ac93bfaec61..084e11774071 100644
> --- a/drivers/irqchip/Makefile
> +++ b/drivers/irqchip/Makefile
> @@ -55,7 +55,6 @@ obj-$(CONFIG_VERSATILE_FPGA_IRQ)+= irq-versatile-fpga.o
>  obj-$(CONFIG_ARCH_NSPIRE)+= irq-zevio.o
>  obj-$(CONFIG_ARCH_VT8500)+= irq-vt8500.o
>  obj-$(CONFIG_ST_IRQCHIP) += irq-st.o
> -obj-$(CONFIG_TANGO_IRQ)  += irq-tango.o
>  obj-$(CONFIG_TB10X_IRQC) += irq-tb10x.o
>  obj-$(CONFIG_TS4800_IRQ) += irq-ts4800.o
>  obj-$(CONFIG_XTENSA) += irq-xtensa-pic.o
> diff --git a/drivers/irqchip/irq-tango.c b/drivers/irqchip/irq-tango.c
> deleted file mode 100644
> index 34290f09b853..
> --- a/drivers/irqchip/irq-tango.c
> +++ /dev/null
> @@ -1,227 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-or-later
> -/*
> - * Copyright (C) 2014 Mans Rullgard 
> - */
> -
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -
> -#define IRQ0_CTL_BASE0x
> -#define IRQ1_CTL_BASE0x0100
> -#define EDGE_CTL_BASE0x0200
> -#define IRQ2_CTL_BASE0x0300
> -
> -#define IRQ_CTL_HI   0x18
> -#define EDGE_CTL_HI  0x20
> -
> -#define IRQ_STATUS   0x00
> -#define IRQ_RAWSTAT  0x04
> -#define IRQ_EN_SET   0x08
> -#define IRQ_EN_CLR   0x0c
> -#define IRQ_SOFT_SET 0x10
> -#define IRQ_SOFT_CLR 0x14
> -
> -#define EDGE_STATUS  0x00
> -#define EDGE_RAWSTAT 0x04
> -#define EDGE_CFG_RISE0x08
> -#define EDGE_CFG_FALL0x0c
> -#define EDGE_CFG_RISE_SET0x10
> -#define EDGE_CFG_RISE_CLR0x14
> -#define EDGE_CFG_FALL_SET0x18
> -#define EDGE_CFG_FALL_CLR0x1c
> -
> -struct tangox_irq_chip {
> - void __iomem *base;
> - unsigned long ctl

[PATCH 1/2] irqchip: remove sigma tango driver

2021-01-20 Thread Arnd Bergmann
From: Arnd Bergmann 

The tango platform is getting removed, so the driver is no
longer needed.

Cc: Marc Gonzalez 
Cc: Mans Rullgard 
Signed-off-by: Arnd Bergmann 
---
 .../sigma,smp8642-intc.txt|  48 
 drivers/irqchip/Kconfig   |   5 -
 drivers/irqchip/Makefile  |   1 -
 drivers/irqchip/irq-tango.c   | 227 --
 4 files changed, 281 deletions(-)
 delete mode 100644 
Documentation/devicetree/bindings/interrupt-controller/sigma,smp8642-intc.txt
 delete mode 100644 drivers/irqchip/irq-tango.c

diff --git 
a/Documentation/devicetree/bindings/interrupt-controller/sigma,smp8642-intc.txt 
b/Documentation/devicetree/bindings/interrupt-controller/sigma,smp8642-intc.txt
deleted file mode 100644
index 355c18a3a4d3..
--- 
a/Documentation/devicetree/bindings/interrupt-controller/sigma,smp8642-intc.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-Sigma Designs SMP86xx/SMP87xx secondary interrupt controller
-
-Required properties:
-- compatible: should be "sigma,smp8642-intc"
-- reg: physical address of MMIO region
-- ranges: address space mapping of child nodes
-- interrupt-controller: boolean
-- #address-cells: should be <1>
-- #size-cells: should be <1>
-
-One child node per control block with properties:
-- reg: address of registers for this control block
-- interrupt-controller: boolean
-- #interrupt-cells: should be <2>, interrupt index and flags per interrupts.txt
-- interrupts: interrupt spec of primary interrupt controller
-
-Example:
-
-interrupt-controller@6e000 {
-   compatible = "sigma,smp8642-intc";
-   reg = <0x6e000 0x400>;
-   ranges = <0x0 0x6e000 0x400>;
-   interrupt-parent = <&gic>;
-   interrupt-controller;
-   #address-cells = <1>;
-   #size-cells = <1>;
-
-   irq0: interrupt-controller@0 {
-   reg = <0x000 0x100>;
-   interrupt-controller;
-   #interrupt-cells = <2>;
-   interrupts = ;
-   };
-
-   irq1: interrupt-controller@100 {
-   reg = <0x100 0x100>;
-   interrupt-controller;
-   #interrupt-cells = <2>;
-   interrupts = ;
-   };
-
-   irq2: interrupt-controller@300 {
-   reg = <0x300 0x100>;
-   interrupt-controller;
-   #interrupt-cells = <2>;
-   interrupts = ;
-   };
-};
diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index 94920a51c628..f95d114c63ed 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -260,11 +260,6 @@ config ST_IRQCHIP
help
  Enables SysCfg Controlled IRQs on STi based platforms.
 
-config TANGO_IRQ
-   bool
-   select IRQ_DOMAIN
-   select GENERIC_IRQ_CHIP
-
 config TB10X_IRQC
bool
select IRQ_DOMAIN
diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile
index 0ac93bfaec61..084e11774071 100644
--- a/drivers/irqchip/Makefile
+++ b/drivers/irqchip/Makefile
@@ -55,7 +55,6 @@ obj-$(CONFIG_VERSATILE_FPGA_IRQ)  += irq-versatile-fpga.o
 obj-$(CONFIG_ARCH_NSPIRE)  += irq-zevio.o
 obj-$(CONFIG_ARCH_VT8500)  += irq-vt8500.o
 obj-$(CONFIG_ST_IRQCHIP)   += irq-st.o
-obj-$(CONFIG_TANGO_IRQ)+= irq-tango.o
 obj-$(CONFIG_TB10X_IRQC)   += irq-tb10x.o
 obj-$(CONFIG_TS4800_IRQ)   += irq-ts4800.o
 obj-$(CONFIG_XTENSA)   += irq-xtensa-pic.o
diff --git a/drivers/irqchip/irq-tango.c b/drivers/irqchip/irq-tango.c
deleted file mode 100644
index 34290f09b853..
--- a/drivers/irqchip/irq-tango.c
+++ /dev/null
@@ -1,227 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- * Copyright (C) 2014 Mans Rullgard 
- */
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#define IRQ0_CTL_BASE  0x
-#define IRQ1_CTL_BASE  0x0100
-#define EDGE_CTL_BASE  0x0200
-#define IRQ2_CTL_BASE  0x0300
-
-#define IRQ_CTL_HI 0x18
-#define EDGE_CTL_HI0x20
-
-#define IRQ_STATUS 0x00
-#define IRQ_RAWSTAT0x04
-#define IRQ_EN_SET 0x08
-#define IRQ_EN_CLR 0x0c
-#define IRQ_SOFT_SET   0x10
-#define IRQ_SOFT_CLR   0x14
-
-#define EDGE_STATUS0x00
-#define EDGE_RAWSTAT   0x04
-#define EDGE_CFG_RISE  0x08
-#define EDGE_CFG_FALL  0x0c
-#define EDGE_CFG_RISE_SET  0x10
-#define EDGE_CFG_RISE_CLR  0x14
-#define EDGE_CFG_FALL_SET  0x18
-#define EDGE_CFG_FALL_CLR  0x1c
-
-struct tangox_irq_chip {
-   void __iomem *base;
-   unsigned long ctl;
-};
-
-static inline u32 intc_readl(struct tangox_irq_chip *chip, int reg)
-{
-   return readl_relaxed(chip->base + reg);
-}
-
-static inline void intc_writel(struct tangox_irq_chip *chip, int reg, u32 val)
-{
-   writel_relaxed(val, chip->base + reg);
-}
-
-static void t