Re: [PATCH 01/15] ARM: kill off set_irq_flags usage

2015-06-13 Thread Wan ZongShun
2015-06-10 2:26 GMT+08:00 Rob Herring r...@kernel.org:
 set_irq_flags is ARM specific with custom flags which have genirq
 equivalents. Convert drivers to use the genirq interfaces directly, so we
 can kill off set_irq_flags. The translation of flags is as follows:

 IRQF_VALID - !IRQ_NOREQUEST
 IRQF_PROBE - !IRQ_NOPROBE
 IRQF_NOAUTOEN - IRQ_NOAUTOEN

 For IRQs managed by an irqdomain, the irqdomain core code handles clearing
 and setting IRQ_NOREQUEST already, so there is no need to do this in
 .map() functions and we can simply remove the set_irq_flags calls. Some
 users also set IRQ_NOPROBE and this has been maintained although it is not
 clear that is really needed. There appears to be a great deal of blind
 Cc: Robert Jarzmik robert.jarz...@free.fr
 Cc: Simtec Linux Team li...@simtec.co.uk
 Cc: Kukjin Kim kg...@kernel.org
 Cc: Krzysztof Kozlowski k.kozlow...@samsung.com
 Cc: Wan ZongShun mcuos@gmail.com

For Nuvoton W90x900
Acked-by: Wan ZongShun mcuos@gmail.com

 Cc: linux-arm-ker...@lists.infradead.org
 Cc: linux-o...@vger.kernel.org
 +++ b/arch/arm/mach-w90x900/irq.c
 @@ -211,6 +211,6 @@ void __init nuc900_init_irq(void)
 for (irqno = IRQ_WDT; irqno = IRQ_ADC; irqno++) {
 irq_set_chip_and_handler(irqno, nuc900_irq_chip,
  handle_level_irq);
 -   set_irq_flags(irqno, IRQF_VALID);
 +   irq_clear_status_flags(irqno, IRQ_NOREQUEST);
 }
  }
 --
 2.1.0




-- 
---
Vincent Wan(Zongshun)
www.mcuos.com
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 01/15] ARM: kill off set_irq_flags usage

2015-06-12 Thread Krzysztof Kozlowski
On 10.06.2015 03:26, Rob Herring wrote:
 set_irq_flags is ARM specific with custom flags which have genirq
 equivalents. Convert drivers to use the genirq interfaces directly, so we
 can kill off set_irq_flags. The translation of flags is as follows:
 
 IRQF_VALID - !IRQ_NOREQUEST
 IRQF_PROBE - !IRQ_NOPROBE
 IRQF_NOAUTOEN - IRQ_NOAUTOEN
 
 For IRQs managed by an irqdomain, the irqdomain core code handles clearing
 and setting IRQ_NOREQUEST already, so there is no need to do this in
 .map() functions and we can simply remove the set_irq_flags calls. Some
 users also set IRQ_NOPROBE and this has been maintained although it is not
 clear that is really needed. There appears to be a great deal of blind
 copy and paste of this code.
 
 Signed-off-by: Rob Herring r...@kernel.org
 Cc: Russell King li...@arm.linux.org.uk
 Cc: Sekhar Nori nsek...@ti.com
 Cc: Kevin Hilman khil...@deeprootsystems.com
 Cc: Jason Cooper ja...@lakedaemon.net
 Cc: Andrew Lunn and...@lunn.ch
 Cc: Sebastian Hesselbarth sebastian.hesselba...@gmail.com
 Cc: Gregory Clement gregory.clem...@free-electrons.com
 Cc: Hans Ulli Kroll ulli.kr...@googlemail.com
 Cc: Shawn Guo shawn@linaro.org
 Cc: Sascha Hauer ker...@pengutronix.de
 Cc: Imre Kaloz ka...@openwrt.org
 Cc: Krzysztof Halasa khal...@piap.pl
 Cc: Greg Ungerer g...@uclinux.org
 Cc: Roland Stigge sti...@antcom.de
 Cc: Tony Lindgren t...@atomide.com
 Cc: Daniel Mack dan...@zonque.org
 Cc: Haojian Zhuang haojian.zhu...@gmail.com
 Cc: Robert Jarzmik robert.jarz...@free.fr
 Cc: Simtec Linux Team li...@simtec.co.uk
 Cc: Kukjin Kim kg...@kernel.org
 Cc: Krzysztof Kozlowski k.kozlow...@samsung.com
 Cc: Wan ZongShun mcuos@gmail.com
 Cc: linux-arm-ker...@lists.infradead.org
 Cc: linux-o...@vger.kernel.org
 Cc: linux-samsung-soc@vger.kernel.org
 ---
  arch/arm/common/it8152.c |  2 +-
  arch/arm/common/locomo.c |  2 +-
  arch/arm/common/sa.c |  4 ++--
  arch/arm/mach-davinci/cp_intc.c  |  2 +-
  arch/arm/mach-dove/irq.c |  2 +-
  arch/arm/mach-ebsa110/core.c |  2 +-
  arch/arm/mach-footbridge/common.c|  2 +-
  arch/arm/mach-footbridge/isa-irq.c   |  8 
  arch/arm/mach-gemini/gpio.c  |  2 +-
  arch/arm/mach-gemini/irq.c   |  2 +-
  arch/arm/mach-imx/3ds_debugboard.c   |  2 +-
  arch/arm/mach-imx/mach-mx31ads.c |  2 +-
  arch/arm/mach-iop13xx/irq.c  |  2 +-
  arch/arm/mach-iop32x/irq.c   |  2 +-
  arch/arm/mach-iop33x/irq.c   |  2 +-
  arch/arm/mach-ixp4xx/common.c|  2 +-
  arch/arm/mach-ks8695/irq.c   |  2 +-
  arch/arm/mach-lpc32xx/irq.c  |  2 +-
  arch/arm/mach-netx/generic.c |  2 +-
  arch/arm/mach-omap1/fpga.c   |  2 +-
  arch/arm/mach-omap1/irq.c|  2 +-
  arch/arm/mach-pxa/balloon3.c |  2 +-
  arch/arm/mach-pxa/irq.c  |  1 -
  arch/arm/mach-pxa/lpd270.c   |  2 +-
  arch/arm/mach-pxa/pcm990-baseboard.c |  2 +-
  arch/arm/mach-pxa/pxa3xx.c   |  2 +-
  arch/arm/mach-pxa/viper.c|  2 +-
  arch/arm/mach-pxa/zeus.c |  2 +-
  arch/arm/mach-rpc/ecard.c|  2 +-
  arch/arm/mach-rpc/irq.c  | 16 
  arch/arm/mach-s3c24xx/bast-irq.c |  2 +-
  arch/arm/mach-s3c64xx/common.c   |  2 +-
  arch/arm/mach-sa1100/irq.c   |  1 -
  arch/arm/mach-sa1100/neponset.c  |  4 ++--
  arch/arm/mach-w90x900/irq.c  |  2 +-
  35 files changed, 45 insertions(+), 47 deletions(-)

For the s3c24xx and s3c64xx it looks fine:
Acked-by: Krzysztof Kozlowski k.kozlow...@samsung.com

Best regards,
Krzysztof
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 01/15] ARM: kill off set_irq_flags usage

2015-06-12 Thread Hans Ulli Kroll


On Fri, 12 Jun 2015, Rob Herring wrote:

 On Fri, Jun 12, 2015 at 9:05 AM, Hans Ulli Kroll
 ulli.kr...@googlemail.com wrote:
 
 
  On Tue, 9 Jun 2015, Rob Herring wrote:
 
  set_irq_flags is ARM specific with custom flags which have genirq
  equivalents. Convert drivers to use the genirq interfaces directly, so we
  can kill off set_irq_flags. The translation of flags is as follows:
 
  IRQF_VALID - !IRQ_NOREQUEST
  IRQF_PROBE - !IRQ_NOPROBE
  IRQF_NOAUTOEN - IRQ_NOAUTOEN
 
  For IRQs managed by an irqdomain, the irqdomain core code handles clearing
  and setting IRQ_NOREQUEST already, so there is no need to do this in
  .map() functions and we can simply remove the set_irq_flags calls. Some
  users also set IRQ_NOPROBE and this has been maintained although it is not
  clear that is really needed. There appears to be a great deal of blind
  copy and paste of this code.
 
 
  for mach-gemini
  Signed-off-by: Hans Ulli Kroll ulli.kr...@googlemail.com
 
 You mean acked-by, right?
 
 Rob
 

Yeah

Acked-by: Hans Ulli Kroll ulli.kr...@googlemail.com

Ulli
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 01/15] ARM: kill off set_irq_flags usage

2015-06-09 Thread Rob Herring
set_irq_flags is ARM specific with custom flags which have genirq
equivalents. Convert drivers to use the genirq interfaces directly, so we
can kill off set_irq_flags. The translation of flags is as follows:

IRQF_VALID - !IRQ_NOREQUEST
IRQF_PROBE - !IRQ_NOPROBE
IRQF_NOAUTOEN - IRQ_NOAUTOEN

For IRQs managed by an irqdomain, the irqdomain core code handles clearing
and setting IRQ_NOREQUEST already, so there is no need to do this in
.map() functions and we can simply remove the set_irq_flags calls. Some
users also set IRQ_NOPROBE and this has been maintained although it is not
clear that is really needed. There appears to be a great deal of blind
copy and paste of this code.

Signed-off-by: Rob Herring r...@kernel.org
Cc: Russell King li...@arm.linux.org.uk
Cc: Sekhar Nori nsek...@ti.com
Cc: Kevin Hilman khil...@deeprootsystems.com
Cc: Jason Cooper ja...@lakedaemon.net
Cc: Andrew Lunn and...@lunn.ch
Cc: Sebastian Hesselbarth sebastian.hesselba...@gmail.com
Cc: Gregory Clement gregory.clem...@free-electrons.com
Cc: Hans Ulli Kroll ulli.kr...@googlemail.com
Cc: Shawn Guo shawn@linaro.org
Cc: Sascha Hauer ker...@pengutronix.de
Cc: Imre Kaloz ka...@openwrt.org
Cc: Krzysztof Halasa khal...@piap.pl
Cc: Greg Ungerer g...@uclinux.org
Cc: Roland Stigge sti...@antcom.de
Cc: Tony Lindgren t...@atomide.com
Cc: Daniel Mack dan...@zonque.org
Cc: Haojian Zhuang haojian.zhu...@gmail.com
Cc: Robert Jarzmik robert.jarz...@free.fr
Cc: Simtec Linux Team li...@simtec.co.uk
Cc: Kukjin Kim kg...@kernel.org
Cc: Krzysztof Kozlowski k.kozlow...@samsung.com
Cc: Wan ZongShun mcuos@gmail.com
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-o...@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
---
 arch/arm/common/it8152.c |  2 +-
 arch/arm/common/locomo.c |  2 +-
 arch/arm/common/sa.c |  4 ++--
 arch/arm/mach-davinci/cp_intc.c  |  2 +-
 arch/arm/mach-dove/irq.c |  2 +-
 arch/arm/mach-ebsa110/core.c |  2 +-
 arch/arm/mach-footbridge/common.c|  2 +-
 arch/arm/mach-footbridge/isa-irq.c   |  8 
 arch/arm/mach-gemini/gpio.c  |  2 +-
 arch/arm/mach-gemini/irq.c   |  2 +-
 arch/arm/mach-imx/3ds_debugboard.c   |  2 +-
 arch/arm/mach-imx/mach-mx31ads.c |  2 +-
 arch/arm/mach-iop13xx/irq.c  |  2 +-
 arch/arm/mach-iop32x/irq.c   |  2 +-
 arch/arm/mach-iop33x/irq.c   |  2 +-
 arch/arm/mach-ixp4xx/common.c|  2 +-
 arch/arm/mach-ks8695/irq.c   |  2 +-
 arch/arm/mach-lpc32xx/irq.c  |  2 +-
 arch/arm/mach-netx/generic.c |  2 +-
 arch/arm/mach-omap1/fpga.c   |  2 +-
 arch/arm/mach-omap1/irq.c|  2 +-
 arch/arm/mach-pxa/balloon3.c |  2 +-
 arch/arm/mach-pxa/irq.c  |  1 -
 arch/arm/mach-pxa/lpd270.c   |  2 +-
 arch/arm/mach-pxa/pcm990-baseboard.c |  2 +-
 arch/arm/mach-pxa/pxa3xx.c   |  2 +-
 arch/arm/mach-pxa/viper.c|  2 +-
 arch/arm/mach-pxa/zeus.c |  2 +-
 arch/arm/mach-rpc/ecard.c|  2 +-
 arch/arm/mach-rpc/irq.c  | 16 
 arch/arm/mach-s3c24xx/bast-irq.c |  2 +-
 arch/arm/mach-s3c64xx/common.c   |  2 +-
 arch/arm/mach-sa1100/irq.c   |  1 -
 arch/arm/mach-sa1100/neponset.c  |  4 ++--
 arch/arm/mach-w90x900/irq.c  |  2 +-
 35 files changed, 45 insertions(+), 47 deletions(-)

diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c
index 5114b68..96dabcb 100644
--- a/arch/arm/common/it8152.c
+++ b/arch/arm/common/it8152.c
@@ -91,7 +91,7 @@ void it8152_init_irq(void)
for (irq = IT8152_IRQ(0); irq = IT8152_LAST_IRQ; irq++) {
irq_set_chip_and_handler(irq, it8152_irq_chip,
 handle_level_irq);
-   set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
+   irq_clear_status_flags(irq, IRQ_NOREQUEST | IRQ_NOPROBE);
}
 }
 
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c
index b55c362..339fc41 100644
--- a/arch/arm/common/locomo.c
+++ b/arch/arm/common/locomo.c
@@ -205,7 +205,7 @@ static void locomo_setup_irq(struct locomo *lchip)
for ( ; irq = lchip-irq_base + 3; irq++) {
irq_set_chip_and_handler(irq, locomo_chip, handle_level_irq);
irq_set_chip_data(irq, lchip);
-   set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
+   irq_clear_status_flags(irq, IRQ_NOREQUEST | IRQ_NOPROBE);
}
 }
 
diff --git a/arch/arm/common/sa.c b/arch/arm/common/sa.c
index 5cc779c..139aa3c 100644
--- a/arch/arm/common/sa.c
+++ b/arch/arm/common/sa.c
@@ -486,7 +486,7 @@ static int sa_setup_irq(struct sa *sachip, unsigned 
irq_base)
irq_set_chip_and_handler(irq, sa_low_chip,
 handle_edge_irq);
irq_set_chip_data(irq, sachip);
-   set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
+