Re: [RFC v1 15/25] genirq: Kill the first parameter 'irq' of irq_flow_handler_t

2015-05-20 Thread Thomas Gleixner
On Wed, 20 May 2015, Jiang Liu wrote:

 On 2015/5/20 23:28, Thomas Gleixner wrote:
  On Wed, 20 May 2015, Jiang Liu wrote:
  -static void locomo_handler(unsigned int irq, struct irq_desc *desc)
  +static void locomo_handler(struct irq_desc *desc)
   {
 struct locomo *lchip = irq_desc_get_chip_data(desc);
  +  unsigned int irq;
 int req, i;
  
  That leaves irq unitialized 
 That should be OK, 'irq' here is just a local variable.
 Actually it may be changed as:
 if (req) {
 /* generate the next interrupt(s) */
 -irq = lchip-irq_base;
 +unsigned int irq = lchip-irq_base;

Indeed. 
--
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: [RFC v1 15/25] genirq: Kill the first parameter 'irq' of irq_flow_handler_t

2015-05-20 Thread Jiang Liu
On 2015/5/20 23:28, Thomas Gleixner wrote:
 On Wed, 20 May 2015, Jiang Liu wrote:
 -static void locomo_handler(unsigned int irq, struct irq_desc *desc)
 +static void locomo_handler(struct irq_desc *desc)
  {
  struct locomo *lchip = irq_desc_get_chip_data(desc);
 +unsigned int irq;
  int req, i;
 
 That leaves irq unitialized 
That should be OK, 'irq' here is just a local variable.
Actually it may be changed as:
if (req) {
/* generate the next interrupt(s) */
-irq = lchip-irq_base;
+unsigned int irq = lchip-irq_base;
for (i = 0; i = 3; i++, irq++) {
if (req  (0x0100  i)) {
generic_handle_irq(irq);
}

}
}

 
 Thanks,
 
   tglx
 
--
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: [RFC v1 15/25] genirq: Kill the first parameter 'irq' of irq_flow_handler_t

2015-05-20 Thread Hans Ulli Kroll


On Wed, 20 May 2015, Jiang Liu wrote:

 Now most IRQ flow handlers make no use of the first parameter 'irq'.
 And for those who do make use of 'irq', we could easily get the irq
 number through irq_desc-irq_data-irq. So kill the first parameter
 'irq' of irq_flow_handler_t.
 
 To ease review, I have split the changes into several parts, though
 they should be merge as one to support bisecting.
 
 Signed-off-by: Jiang Liu jiang@linux.intel.com
 ---
  arch/arm/common/it8152.c   |2 +-
  arch/arm/common/locomo.c   |3 ++-
  arch/arm/common/sa.c   |4 ++--
  arch/arm/include/asm/hardware/it8152.h |2 +-
  arch/arm/include/asm/mach/irq.h|4 ++--
  arch/arm/mach-dove/irq.c   |5 +++--
  arch/arm/mach-footbridge/isa-irq.c |4 ++--
  arch/arm/mach-gemini/gpio.c|2 +-
  arch/arm/mach-imx/3ds_debugboard.c |2 +-
  arch/arm/mach-imx/mach-mx31ads.c   |2 +-
  arch/arm/mach-iop13xx/msi.c|2 +-
  arch/arm/mach-lpc32xx/irq.c|4 ++--
  arch/arm/mach-omap1/fpga.c |2 +-
  arch/arm/mach-omap2/prm_common.c   |2 +-
  arch/arm/mach-pxa/balloon3.c   |3 ++-
  arch/arm/mach-pxa/cm-x2xx-pci.c|4 ++--
  arch/arm/mach-pxa/lpd270.c |3 ++-
  arch/arm/mach-pxa/pcm990-baseboard.c   |1 +
  arch/arm/mach-pxa/viper.c  |3 ++-
  arch/arm/mach-pxa/zeus.c   |3 ++-
  arch/arm/mach-rpc/ecard.c  |2 +-
  arch/arm/mach-s3c64xx/common.c |8 
  arch/arm/mach-sa1100/neponset.c|2 +-
  arch/arm/plat-orion/gpio.c |2 +-
  24 files changed, 39 insertions(+), 32 deletions(-)
 
 diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c
 index 5114b68e99d5..aaa206181f92 100644
 --- a/arch/arm/common/it8152.c
 +++ b/arch/arm/common/it8152.c
 @@ -95,7 +95,7 @@ void it8152_init_irq(void)
   }
  }
  
 -void it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
 +void it8152_irq_demux(struct irq_desc *desc)
  {
 int bits_pd, bits_lp, bits_ld;
 int i;
 diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c
 index 02af4a07ceca..99d4535d7cc6 100644
 --- a/arch/arm/common/locomo.c
 +++ b/arch/arm/common/locomo.c
 @@ -138,9 +138,10 @@ static struct locomo_dev_info locomo_devices[] = {
   },
  };
  
 -static void locomo_handler(unsigned int irq, struct irq_desc *desc)
 +static void locomo_handler(struct irq_desc *desc)
  {
   struct locomo *lchip = irq_desc_get_chip_data(desc);
 + unsigned int irq;
   int req, i;
  
   /* Acknowledge the parent IRQ */
 diff --git a/arch/arm/common/sa.c b/arch/arm/common/sa.c
 index 0d0844fa54c2..762dfe7081f0 100644
 --- a/arch/arm/common/sa.c
 +++ b/arch/arm/common/sa.c
 @@ -197,7 +197,7 @@ static struct sa_dev_info sa_devices[] = {
   * will call us again if there are more interrupts to process.
   */
  static void
 -sa_irq_handler(unsigned int irq, struct irq_desc *desc)
 +sa_irq_handler(struct irq_desc *desc)
  {
   unsigned int stat0, stat1, i;
   struct sa *sachip = irq_desc_get_handler_data(desc);
 @@ -213,7 +213,7 @@ sa_irq_handler(unsigned int irq, struct irq_desc 
 *desc)
   sa_writel(stat1, mapbase + SA_INTSTATCLR1);
  
   if (stat0 == 0  stat1 == 0) {
 - do_bad_IRQ(irq, desc);
 + do_bad_IRQ(desc);
   return;
   }
  
 diff --git a/arch/arm/include/asm/hardware/it8152.h 
 b/arch/arm/include/asm/hardware/it8152.h
 index d36a73d7c0e8..076777ff3daa 100644
 --- a/arch/arm/include/asm/hardware/it8152.h
 +++ b/arch/arm/include/asm/hardware/it8152.h
 @@ -106,7 +106,7 @@ extern void __iomem *it8152_base_address;
  struct pci_dev;
  struct pci_sys_data;
  
 -extern void it8152_irq_demux(unsigned int irq, struct irq_desc *desc);
 +extern void it8152_irq_demux(struct irq_desc *desc);
  extern void it8152_init_irq(void);
  extern int it8152_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin);
  extern int it8152_pci_setup(int nr, struct pci_sys_data *sys);
 diff --git a/arch/arm/include/asm/mach/irq.h b/arch/arm/include/asm/mach/irq.h
 index 2092ee1e1300..4703e00283db 100644
 --- a/arch/arm/include/asm/mach/irq.h
 +++ b/arch/arm/include/asm/mach/irq.h
 @@ -23,10 +23,10 @@ extern int show_fiq_list(struct seq_file *, int);
  /*
   * This is for easy migration, but should be changed in the source
   */
 -#define do_bad_IRQ(irq,desc) \
 +#define do_bad_IRQ(desc) \
  do { \
   raw_spin_lock(desc-lock); \
 - handle_bad_irq(irq, desc);  \
 + handle_bad_irq(desc);   \
   raw_spin_unlock(desc-lock);   \
  } while(0)
  
 diff --git a/arch/arm/mach-dove/irq.c b/arch/arm/mach-dove/irq.c
 index 

Re: [RFC v1 15/25] genirq: Kill the first parameter 'irq' of irq_flow_handler_t

2015-05-20 Thread Thomas Gleixner
On Wed, 20 May 2015, Jiang Liu wrote:
 -static void locomo_handler(unsigned int irq, struct irq_desc *desc)
 +static void locomo_handler(struct irq_desc *desc)
  {
   struct locomo *lchip = irq_desc_get_chip_data(desc);
 + unsigned int irq;
   int req, i;

That leaves irq unitialized 

Thanks,

tglx
--
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: [RFC v1 15/25] genirq: Kill the first parameter 'irq' of irq_flow_handler_t

2015-05-20 Thread Robert Jarzmik
Jiang Liu jiang@linux.intel.com writes:

 diff --git a/arch/arm/mach-pxa/pcm990-baseboard.c 
 b/arch/arm/mach-pxa/pcm990-baseboard.c
 index 2897da2a5df6..0d8331f8536e 100644
 --- a/arch/arm/mach-pxa/pcm990-baseboard.c
 +++ b/arch/arm/mach-pxa/pcm990-baseboard.c
 @@ -287,6 +287,7 @@ static struct irq_chip pcm990_irq_chip = {
  static void pcm990_irq_handler(unsigned int irq, struct irq_desc *desc)
  {
   unsigned long pending;
 + unsigned int irq;
That doesn't look good, double irq definition.

Cheers.

-- 
Robert
--
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