1. 20 Jul, 2015 3 commits
  2. 16 Jul, 2015 14 commits
  3. 12 Jul, 2015 3 commits
  4. 11 Jul, 2015 20 commits
    • Jiang Liu's avatar
      irqchip: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc · 5b29264c
      Jiang Liu authored
      Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we
      already have a pointer to corresponding irq_desc.
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
      Link: http://lkml.kernel.org/r/1433391238-19471-11-git-send-email-jiang.liu@linux.intel.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      5b29264c
    • Jiang Liu's avatar
      irqchip/mips-gic: Use access helper irq_data_get_affinity_mask() · 72f86db4
      Jiang Liu authored
      Use access helper irq_data_get_affinity_mask() to hide implementation
      details of struct irq_desc.
      
      [ tglx: Verified with coccinelle ]
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1433145945-789-30-git-send-email-jiang.liu@linux.intel.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      72f86db4
    • Thomas Gleixner's avatar
      irqchip/vic: Consolidate chained IRQ handler install/remove · 9f213541
      Thomas Gleixner authored
      Chained irq handlers usually set up handler data as well. We now have
      a function to set both under irq_desc->lock. Replace the two calls
      with one.
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      |
      -irq_set_handler_data(E1, E2);
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      ...
      |
      -irq_set_handler_data(E1, E2);
      ...
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      9f213541
    • Thomas Gleixner's avatar
      irqchip/versatile: Consolidate chained IRQ handler install/remove · fcd3c5be
      Thomas Gleixner authored
      Chained irq handlers usually set up handler data as well. We now have
      a function to set both under irq_desc->lock. Replace the two calls
      with one.
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      |
      -irq_set_handler_data(E1, E2);
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      ...
      |
      -irq_set_handler_data(E1, E2);
      ...
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      fcd3c5be
    • Thomas Gleixner's avatar
      irqchip/tb10x: Consolidate chained IRQ handler install/remove · 22890b0d
      Thomas Gleixner authored
      Chained irq handlers usually set up handler data as well. We now have
      a function to set both under irq_desc->lock. Replace the two calls
      with one.
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      |
      -irq_set_handler_data(E1, E2);
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      ...
      |
      -irq_set_handler_data(E1, E2);
      ...
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      22890b0d
    • Thomas Gleixner's avatar
      irqchip/sunxi-nmi: Consolidate chained IRQ handler install/remove · 3200a712
      Thomas Gleixner authored
      Chained irq handlers usually set up handler data as well. We now have
      a function to set both under irq_desc->lock. Replace the two calls
      with one.
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      |
      -irq_set_handler_data(E1, E2);
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      ...
      |
      -irq_set_handler_data(E1, E2);
      ...
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
      Cc: linux-arm-kernel@lists.infradead.org
      3200a712
    • Thomas Gleixner's avatar
      irqchip/orion: Consolidate chained IRQ handler install/remove · 07d22c23
      Thomas Gleixner authored
      Chained irq handlers usually set up handler data as well. We now have
      a function to set both under irq_desc->lock. Replace the two calls
      with one.
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      |
      -irq_set_handler_data(E1, E2);
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      ...
      |
      -irq_set_handler_data(E1, E2);
      ...
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      07d22c23
    • Thomas Gleixner's avatar
      irqchip/metag: Consolidate chained IRQ handler install/remove · 832b404e
      Thomas Gleixner authored
      Chained irq handlers usually set up handler data as well. We now have
      a function to set both under irq_desc->lock. Replace the two calls
      with one.
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      |
      -irq_set_handler_data(E1, E2);
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      ...
      |
      -irq_set_handler_data(E1, E2);
      ...
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: James Hogan <james.hogan@imgtec.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: linux-metag@vger.kernel.org
      832b404e
    • Thomas Gleixner's avatar
      irqchip/imgpdc: Consolidate chained IRQ handler install/remove · bc4d2c07
      Thomas Gleixner authored
      Chained irq handlers usually set up handler data as well. We now have
      a function to set both under irq_desc->lock. Replace the two calls
      with one.
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      |
      -irq_set_handler_data(E1, E2);
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      ...
      |
      -irq_set_handler_data(E1, E2);
      ...
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      bc4d2c07
    • Thomas Gleixner's avatar
      irqchip/gic: Consolidate chained IRQ handler install/remove · 4d83fcf8
      Thomas Gleixner authored
      Chained irq handlers usually set up handler data as well. We now have
      a function to set both under irq_desc->lock. Replace the two calls
      with one.
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      |
      -irq_set_handler_data(E1, E2);
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      ...
      |
      -irq_set_handler_data(E1, E2);
      ...
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      4d83fcf8
    • Thomas Gleixner's avatar
      irqchip/brcmstb-l2: Consolidate chained IRQ handler install/remove · f286c173
      Thomas Gleixner authored
      Chained irq handlers usually set up handler data as well. We now have
      a function to set both under irq_desc->lock. Replace the two calls
      with one.
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      |
      -irq_set_handler_data(E1, E2);
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      ...
      |
      -irq_set_handler_data(E1, E2);
      ...
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Kevin Cernekee <cernekee@gmail.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: linux-mips@linux-mips.org
      f286c173
    • Thomas Gleixner's avatar
      irqchip/bcm7120-l2: Consolidate chained IRQ handler install/remove · 99e32ab1
      Thomas Gleixner authored
      Chained irq handlers usually set up handler data as well. We now have
      a function to set both under irq_desc->lock. Replace the two calls
      with one.
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      |
      -irq_set_handler_data(E1, E2);
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      ...
      |
      -irq_set_handler_data(E1, E2);
      ...
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Kevin Cernekee <cernekee@gmail.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: linux-mips@linux-mips.org
      99e32ab1
    • Thomas Gleixner's avatar
      irqchip/bcm7038-l1: Consolidate chained IRQ handler install/remove · 3a7946ee
      Thomas Gleixner authored
      Chained irq handlers usually set up handler data as well. We now have
      a function to set both under irq_desc->lock. Replace the two calls
      with one.
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      |
      -irq_set_handler_data(E1, E2);
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      ...
      |
      -irq_set_handler_data(E1, E2);
      ...
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Kevin Cernekee <cernekee@gmail.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: linux-mips@linux-mips.org
      3a7946ee
    • Thomas Gleixner's avatar
      irqchip/exynos-combiner: Consolidate chained IRQ handler install/remove · 741ff966
      Thomas Gleixner authored
      Chained irq handlers usually set up handler data as well. We now have
      a function to set both under irq_desc->lock. Replace the two calls
      with one.
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      |
      -irq_set_handler_data(E1, E2);
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_handler_data(E1, E2) != 0)
      -   BUG();
      ...
      |
      -irq_set_handler_data(E1, E2);
      ...
      )
      -irq_set_chained_handler(E1, E3);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      741ff966
    • Jiang Liu's avatar
      genirq: Remove the irq argument from setup_affinity() · a8a98eac
      Jiang Liu authored
      Unused except for the alpha wrapper, which can retrieve if from the
      irq descriptor.
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Link: http://lkml.kernel.org/r/1433391238-19471-21-git-send-email-jiang.liu@linux.intel.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      a8a98eac
    • Jiang Liu's avatar
      genirq: Provide and use __irq_can_set_affinity() · e019c249
      Jiang Liu authored
      Provide a irq_desc based variant of irq_can_set_affinity() to avoid a
      redundant lookup for the core code users.
      
      [ tglx: Split out from combo patch ]
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      e019c249
    • Jiang Liu's avatar
      genirq: Remove the irq argument from note_interrupt() · 0dcdbc97
      Jiang Liu authored
      Only required for the slow path. Retrieve it from irq descriptor if
      necessary.
      
      [ tglx: Split out from combo patch. Left [try_]misrouted_irq()
        	untouched as there is no win in the slow path ]
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Kevin Cernekee <cernekee@gmail.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Link: http://lkml.kernel.org/r/1433391238-19471-19-git-send-email-jiang.liu@linux.intel.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      0dcdbc97
    • Jiang Liu's avatar
      genirq: Remove irq argument from try_one_irq() · c1e5bd8c
      Jiang Liu authored
      Unused argument.
      
      [ tglx: Split out from combo patch ]
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      c1e5bd8c
    • Jiang Liu's avatar
      genirq: Remove irq argument from report_bad_irq() · 02d00eaa
      Jiang Liu authored
      Not really a hotpath, so __report_bad_irq() can retrieve the irq
      number from the irq descriptor.
      
      [ tglx: Split out from combo patch ]
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      02d00eaa
    • Jiang Liu's avatar
      genirq: Remove irq argument from suspend/resume_irq() · b80f5f3f
      Jiang Liu authored
      Unused argument in both functions.
      
      [ tglx: Split out from combo patch ]
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      b80f5f3f