1. 02 Jul, 2015 1 commit
    • Joel Porquet's avatar
      irqchip: Move IRQCHIP_DECLARE macro to include/linux/irqchip.h · 91e20b50
      Joel Porquet authored
      At the moment the IRQCHIP_DECLARE macro is only declared locally in
      drivers/irqchip/irqchip.h. It prevents from using it directly in arch/*
      directories whenever irqchip drivers only exist there, which happens in a few
      cases (e.g. arc, arm, microblaze and mips).
      
      This patch makes the macro to be globally defined, i.e. in
      include/linux/irqchip.h, and thus usable for arch-specific declarations of
      irqchip drivers. In this way, it is very similar to what clocksource does (ie
      CLOCKSOURCE_OF_DECLARE is defined in include/linux/clocksource.h).
      
      For now, this patch only moves the declaration of the macro
      IRQCHIP_DECLARE to the global header 'include/linux/irqchip.h' and make
      'drivers/irqchip/irqchip.h' include 'include/linux/irqchip.h'. Later, other
      patches will get rid of 'drivers/irqchip/irqchip.h' and modify all the impacted
      irqchip drivers.
      Signed-off-by: default avatarJoel Porquet <joel@porquet.org>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1435865565-14114-1-git-send-email-joel@porquet.orgSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      91e20b50
  2. 26 Jun, 2015 3 commits
  3. 25 Jun, 2015 23 commits
    • Jiang Liu's avatar
      genirq: Remove irq_node() · 08dad486
      Jiang Liu authored
      Macro irq_node() has no user. Remove it.
      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-3-git-send-email-jiang.liu@linux.intel.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      08dad486
    • Jiang Liu's avatar
      genirq: Clean up outdated comments related to include/linux/irqdesc.h · daf7ab7c
      Jiang Liu authored
      Seems we have little chance to move irqdesc.h from include/linux/ into
      kernel/irq/, so remove the outdated comments.
      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>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Link: http://lkml.kernel.org/r/1433391238-19471-2-git-send-email-jiang.liu@linux.intel.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      daf7ab7c
    • Jiang Liu's avatar
      mn10300: Fix incorrect use of irq_data->affinity · 856b859d
      Jiang Liu authored
      The field affinity in struct irq_data is type of cpumask_var_t, so
      we should pass in data->affinity instead of &data->affinity when
      calling cpumask_xxxx().
      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-am33-list@redhat.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: David Howells <dhowells@redhat.com>
      Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
      Link: http://lkml.kernel.org/r/1433145945-789-14-git-send-email-jiang.liu@linux.intel.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      856b859d
    • Thomas Gleixner's avatar
      MIPS/ralink: Fix race in installing chained IRQ handler · 5c1642e4
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Ralf Baechle <ralf@linux-mips.org>
      Cc: Qais Yousef <qais.yousef@imgtec.com>
      Cc: Andrew Bresticker <abrestic@chromium.org>
      Cc: John Crispin <blogic@openwrt.org>
      Cc: linux-mips@linux-mips.org
      5c1642e4
    • Thomas Gleixner's avatar
      MIPS/pci: Fix race in installing chained IRQ handler · 746ad9a7
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Ralf Baechle <ralf@linux-mips.org>
      Cc: Wolfram Sang <wsa@the-dreams.de>
      Cc: Sergey Ryazanov <ryazanov.s.a@gmail.com>
      Cc: linux-mips@linux-mips.org
      746ad9a7
    • Thomas Gleixner's avatar
      MIPS/ath25: Fix race in installing chained IRQ handler · 08ece35e
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Ralf Baechle <ralf@linux-mips.org>
      Cc: Sergey Ryazanov <ryazanov.s.a@gmail.com>
      Cc: linux-mips@linux-mips.org
      08ece35e
    • Thomas Gleixner's avatar
      MIPS/ath25: Fix race in installing chained IRQ handler · 20f83e71
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Ralf Baechle <ralf@linux-mips.org>
      Cc: Sergey Ryazanov <ryazanov.s.a@gmail.com>
      Cc: linux-mips@linux-mips.org
      20f83e71
    • Thomas Gleixner's avatar
      m68k/psc: Fix race in installing chained IRQ handler · 09c5cb94
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Joshua Thompson <funaho@jurai.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: linux-m68k@lists.linux-m68k.org
      09c5cb94
    • Thomas Gleixner's avatar
      avr32/at32ap: Fix race in installing chained IRQ handler · bf54da7d
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
      bf54da7d
    • Thomas Gleixner's avatar
      sh/intc: Fix race in installing chained IRQ handler · 51b971b1
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Simon Horman <horms@verge.net.au>
      Cc: Magnus Damm <magnus.damm@gmail.com>
      Cc: linux-sh@vger.kernel.org
      51b971b1
    • Thomas Gleixner's avatar
      sh/intc: Fix potential race in installing chained IRQ handler · beab99fe
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by moving the call to
      irq_set_chained_handler() after the function which sets up the handler
      data.
      
      Found by code inspection.
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Simon Horman <horms@verge.net.au>
      Cc: Magnus Damm <magnus.damm@gmail.com>
      Cc: linux-sh@vger.kernel.org
      beab99fe
    • Thomas Gleixner's avatar
      pinctrl/sun4i: Fix race in installing chained IRQ handler · ef80e87d
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Linus Walleij <linus.walleij@linaro.org>
      Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Chen-Yu Tsai <wens@csie.org>
      Cc: Fan Wu <fwu@marvell.com>
      Cc: abdoulaye berthe <berthe.ab@gmail.com>
      Cc: Alexandre Courbot <acourbot@nvidia.com>
      Cc: linux-gpio@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      ef80e87d
    • Thomas Gleixner's avatar
      pinctrl/samsung: Fix race in installing chained IRQ handler · 623a650e
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Thomas Abraham <thomas.abraham@linaro.org>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: linux-gpio@vger.kernel.org
      623a650e
    • Thomas Gleixner's avatar
      pinctrl/samsung: Fix race in installing chained IRQ handler · 0cfc45cf
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Thomas Abraham <thomas.abraham@linaro.org>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: linux-gpio@vger.kernel.org
      0cfc45cf
    • Thomas Gleixner's avatar
      pinctrl/exynos: Fix race in installing chained IRQ handler · bb56fc35
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Thomas Abraham <thomas.abraham@linaro.org>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      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
      Cc: linux-gpio@vger.kernel.org
      bb56fc35
    • Thomas Gleixner's avatar
      pinctrl/st: Fix race in installing chained IRQ handler · 1b11b0cb
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Srinivas Kandagatla <srinivas.kandagatla@gmail.com>
      Cc: Maxime Coquelin <maxime.coquelin@st.com>
      Cc: Patrice Chotard <patrice.chotard@st.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: kernel@stlinux.com
      Cc: linux-gpio@vger.kernel.org
      1b11b0cb
    • Thomas Gleixner's avatar
      pinctrl/adi2: Fix race in installing chained IRQ handler · bb6d6dd3
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Linus Walleij <linus.walleij@linaro.org>
      Cc: linux-gpio@vger.kernel.org
      bb6d6dd3
    • Thomas Gleixner's avatar
      pinctrl/mediatek: Fix race in installing chained IRQ handler · 1e105921
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Linus Walleij <linus.walleij@linaro.org>
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
      Cc: Axel Lin <axel.lin@ingics.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Maoguang Meng <maoguang.meng@mediatek.com>
      Cc: Colin Ian King <colin.king@canonical.com>
      Cc: linux-gpio@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-mediatek@lists.infradead.org
      1e105921
    • Thomas Gleixner's avatar
      PCI/keystone: Fix race in installing chained IRQ handler · 2cf5a03c
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Murali Karicheri <m-karicheri2@ti.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: linux-pci@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      2cf5a03c
    • Thomas Gleixner's avatar
      mfd/asic3: Fix race in installing chained IRQ handler · c30e3047
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      c30e3047
    • Thomas Gleixner's avatar
      gpio/msic: Fix race in installing chained IRQ handler · 3fb250ed
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Linus Walleij <linus.walleij@linaro.org>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: linux-gpio@vger.kernel.org
      3fb250ed
    • Thomas Gleixner's avatar
      gpio/dwapb: Fix race in installing chained IRQ handler · 6218b88d
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Linus Walleij <linus.walleij@linaro.org>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: linux-gpio@vger.kernel.org
      6218b88d
    • Thomas Gleixner's avatar
      gpio/bcm-kona: Fix race in installing chained IRQ handler · b34cc620
      Thomas Gleixner authored
      Fix a race where a pending interrupt could be received and the handler
      called before the handler's data has been setup, by converting to
      irq_set_chained_handler_and_data().
      
      Search and conversion was done with coccinelle:
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      |
      -irq_set_chained_handler(E1, E3);
      )
      -irq_set_handler_data(E1, E2);
      +irq_set_chained_handler_and_data(E1, E3, E2);
      
      @@
      expression E1, E2, E3;
      @@
      (
      -if (irq_set_chained_handler(E1, E3) != 0)
      -   BUG();
      ...
      |
      -irq_set_chained_handler(E1, E3);
      ...
      )
      -irq_set_handler_data(E1, E2);
      +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: Ray Jui <rjui@broadcom.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: bcm-kernel-feedback-list@broadcom.com
      Cc: linux-gpio@vger.kernel.org
      b34cc620
  4. 23 Jun, 2015 10 commits
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 407a2c72
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "The irq departement delivers:
      
         - plug a potential race related to chained interrupt handlers
      
         - core updates which address the needs of the x86 irqdomain conversion
      
         - new irqchip callback to support affinity settings for VCPUs
      
         - the usual pile of updates to interrupt chip drivers
      
         - a few helper functions to allow further cleanups and
           simplifications
      
        I have a largish pile of coccinelle scripted/verified cleanups and
        simplifications pending on top of that, but I prefer to send that
        towards the end of the merge window when the arch/driver changes have
        hit your tree to avoid API change wreckage as far as possible"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits)
        genirq: Remove bogus restriction in irq_move_mask_irq()
        irqchip: atmel-aic5: Add sama5d2 support
        irq: spear-shirq: Fix race in installing chained IRQ handler
        irq: irq-keystone: Fix race in installing chained IRQ handler
        gpio: gpio-tegra: Fix race in installing chained IRQ handler
        gpio: gpio-mxs: Fix race in installing chained IRQ handler
        gpio: gpio-mxc: Fix race in installing chained IRQ handler
        ARM: gemini: Fix race in installing GPIO chained IRQ handler
        GPU: ipu: Fix race in installing IPU chained IRQ handler
        ARM: sa1100: convert SA11x0 related code to use new chained handler helper
        irq: Add irq_set_chained_handler_and_data()
        irqchip: exynos-combiner: Save IRQ enable set on suspend
        genirq: Introduce helper function irq_data_get_affinity_mask()
        genirq: Introduce helper function irq_data_get_node()
        genirq: Introduce struct irq_common_data to host shared irq data
        genirq: Prevent crash in irq_move_irq()
        genirq: Enhance irq_data_to_desc() to support hierarchy irqdomain
        irqchip: gic: Simplify gic_configure_irq by using IRQCHIP_SET_TYPE_MASKED
        irqchip: renesas: intc-irqpin: Improve binding documentation
        genirq: Set IRQCHIP_SKIP_SET_WAKE for no_irq_chip
        ...
      407a2c72
    • Linus Torvalds's avatar
      Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3a95398f
      Linus Torvalds authored
      Pull NOHZ updates from Thomas Gleixner:
       "A few updates to the nohz infrastructure:
      
         - recursion protection for context tracking
      
         - make the TIF_NOHZ inheritance smarter
      
         - isolate cpus which belong to the NOHZ full set"
      
      * 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        nohz: Set isolcpus when nohz_full is set
        nohz: Add tick_nohz_full_add_cpus_to() API
        context_tracking: Inherit TIF_NOHZ through forks instead of context switches
        context_tracking: Protect against recursion
      3a95398f
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 43224b96
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "A rather largish update for everything time and timer related:
      
         - Cache footprint optimizations for both hrtimers and timer wheel
      
         - Lower the NOHZ impact on systems which have NOHZ or timer migration
           disabled at runtime.
      
         - Optimize run time overhead of hrtimer interrupt by making the clock
           offset updates smarter
      
         - hrtimer cleanups and removal of restrictions to tackle some
           problems in sched/perf
      
         - Some more leap second tweaks
      
         - Another round of changes addressing the 2038 problem
      
         - First step to change the internals of clock event devices by
           introducing the necessary infrastructure
      
         - Allow constant folding for usecs/msecs_to_jiffies()
      
         - The usual pile of clockevent/clocksource driver updates
      
        The hrtimer changes contain updates to sched, perf and x86 as they
        depend on them plus changes all over the tree to cleanup API changes
        and redundant code, which got copied all over the place.  The y2038
        changes touch s390 to remove the last non 2038 safe code related to
        boot/persistant clock"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (114 commits)
        clocksource: Increase dependencies of timer-stm32 to limit build wreckage
        timer: Minimize nohz off overhead
        timer: Reduce timer migration overhead if disabled
        timer: Stats: Simplify the flags handling
        timer: Replace timer base by a cpu index
        timer: Use hlist for the timer wheel hash buckets
        timer: Remove FIFO "guarantee"
        timers: Sanitize catchup_timer_jiffies() usage
        hrtimer: Allow hrtimer::function() to free the timer
        seqcount: Introduce raw_write_seqcount_barrier()
        seqcount: Rename write_seqcount_barrier()
        hrtimer: Fix hrtimer_is_queued() hole
        hrtimer: Remove HRTIMER_STATE_MIGRATE
        selftest: Timers: Avoid signal deadlock in leap-a-day
        timekeeping: Copy the shadow-timekeeper over the real timekeeper last
        clockevents: Check state instead of mode in suspend/resume path
        selftests: timers: Add leap-second timer edge testing to leap-a-day.c
        ntp: Do leapsecond adjustment in adjtimex read path
        time: Prevent early expiry of hrtimers[CLOCK_REALTIME] at the leap second edge
        ntp: Introduce and use SECS_PER_DAY macro instead of 86400
        ...
      43224b96
    • Linus Torvalds's avatar
      Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d70b3ef5
      Linus Torvalds authored
      Pull x86 core updates from Ingo Molnar:
       "There were so many changes in the x86/asm, x86/apic and x86/mm topics
        in this cycle that the topical separation of -tip broke down somewhat -
        so the result is a more traditional architecture pull request,
        collected into the 'x86/core' topic.
      
        The topics were still maintained separately as far as possible, so
        bisectability and conceptual separation should still be pretty good -
        but there were a handful of merge points to avoid excessive
        dependencies (and conflicts) that would have been poorly tested in the
        end.
      
        The next cycle will hopefully be much more quiet (or at least will
        have fewer dependencies).
      
        The main changes in this cycle were:
      
         * x86/apic changes, with related IRQ core changes: (Jiang Liu, Thomas
           Gleixner)
      
           - This is the second and most intrusive part of changes to the x86
             interrupt handling - full conversion to hierarchical interrupt
             domains:
      
                [IOAPIC domain]   -----
                                       |
                [MSI domain]      --------[Remapping domain] ----- [ Vector domain ]
                                       |   (optional)          |
                [HPET MSI domain] -----                        |
                                                               |
                [DMAR domain]     -----------------------------
                                                               |
                [Legacy domain]   -----------------------------
      
             This now reflects the actual hardware and allowed us to distangle
             the domain specific code from the underlying parent domain, which
             can be optional in the case of interrupt remapping.  It's a clear
             separation of functionality and removes quite some duct tape
             constructs which plugged the remap code between ioapic/msi/hpet
             and the vector management.
      
           - Intel IOMMU IRQ remapping enhancements, to allow direct interrupt
             injection into guests (Feng Wu)
      
         * x86/asm changes:
      
           - Tons of cleanups and small speedups, micro-optimizations.  This
             is in preparation to move a good chunk of the low level entry
             code from assembly to C code (Denys Vlasenko, Andy Lutomirski,
             Brian Gerst)
      
           - Moved all system entry related code to a new home under
             arch/x86/entry/ (Ingo Molnar)
      
           - Removal of the fragile and ugly CFI dwarf debuginfo annotations.
             Conversion to C will reintroduce many of them - but meanwhile
             they are only getting in the way, and the upstream kernel does
             not rely on them (Ingo Molnar)
      
           - NOP handling refinements. (Borislav Petkov)
      
         * x86/mm changes:
      
           - Big PAT and MTRR rework: making the code more robust and
             preparing to phase out exposing direct MTRR interfaces to drivers -
             in favor of using PAT driven interfaces (Toshi Kani, Luis R
             Rodriguez, Borislav Petkov)
      
           - New ioremap_wt()/set_memory_wt() interfaces to support
             Write-Through cached memory mappings.  This is especially
             important for good performance on NVDIMM hardware (Toshi Kani)
      
         * x86/ras changes:
      
           - Add support for deferred errors on AMD (Aravind Gopalakrishnan)
      
             This is an important RAS feature which adds hardware support for
             poisoned data.  That means roughly that the hardware marks data
             which it has detected as corrupted but wasn't able to correct, as
             poisoned data and raises an APIC interrupt to signal that in the
             form of a deferred error.  It is the OS's responsibility then to
             take proper recovery action and thus prolonge system lifetime as
             far as possible.
      
           - Add support for Intel "Local MCE"s: upcoming CPUs will support
             CPU-local MCE interrupts, as opposed to the traditional system-
             wide broadcasted MCE interrupts (Ashok Raj)
      
           - Misc cleanups (Borislav Petkov)
      
         * x86/platform changes:
      
           - Intel Atom SoC updates
      
        ... and lots of other cleanups, fixlets and other changes - see the
        shortlog and the Git log for details"
      
      * 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (222 commits)
        x86/hpet: Use proper hpet device number for MSI allocation
        x86/hpet: Check for irq==0 when allocating hpet MSI interrupts
        x86/mm/pat, drivers/infiniband/ipath: Use arch_phys_wc_add() and require PAT disabled
        x86/mm/pat, drivers/media/ivtv: Use arch_phys_wc_add() and require PAT disabled
        x86/platform/intel/baytrail: Add comments about why we disabled HPET on Baytrail
        genirq: Prevent crash in irq_move_irq()
        genirq: Enhance irq_data_to_desc() to support hierarchy irqdomain
        iommu, x86: Properly handle posted interrupts for IOMMU hotplug
        iommu, x86: Provide irq_remapping_cap() interface
        iommu, x86: Setup Posted-Interrupts capability for Intel iommu
        iommu, x86: Add cap_pi_support() to detect VT-d PI capability
        iommu, x86: Avoid migrating VT-d posted interrupts
        iommu, x86: Save the mode (posted or remapped) of an IRTE
        iommu, x86: Implement irq_set_vcpu_affinity for intel_ir_chip
        iommu: dmar: Provide helper to copy shared irte fields
        iommu: dmar: Extend struct irte for VT-d Posted-Interrupts
        iommu: Add new member capability to struct irq_remap_ops
        x86/asm/entry/64: Disentangle error_entry/exit gsbase/ebx/usermode code
        x86/asm/entry/32: Shorten __audit_syscall_entry() args preparation
        x86/asm/entry/32: Explain reloading of registers after __audit_syscall_entry()
        ...
      d70b3ef5
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 650ec5a6
      Linus Torvalds authored
      Pull x86 warning fixlet from Ingo Molnar:
       "A build fix for certain (rare) variants of binutils that did not make
        it into v4.1"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Fix overflow warning with 32-bit binutils
      650ec5a6
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 35ffccdb
      Linus Torvalds authored
      Pul x86 microcode updates from Ingo Molnar:
       "x86 microcode loader updates from Borislav Petkov:
      
         - early parsing of the built-in microcode
      
         - cleanups
      
         - misc smaller fixes"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode: Correct CPU family related variable types
        x86/microcode: Disable builtin microcode loading on 32-bit for now
        x86/microcode/intel: Rename get_matching_sig()
        x86/microcode/intel: Simplify get_matching_sig()
        x86/microcode/intel: Simplify update_match_cpu()
        x86/microcode/intel: Rename get_matching_microcode
        x86/cpu/microcode: Zap changelog
        x86/microcode: Parse built-in microcode early
        x86/microcode/intel: Remove unused @rev arg of get_matching_sig()
        x86/microcode/intel: Get rid of revision_is_newer()
      35ffccdb
    • Linus Torvalds's avatar
      Merge branch 'x86-kdump-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e2172d8f
      Linus Torvalds authored
      Pull x86 kdump updates from Ingo Molnar:
       "Three kdump robustness related improvements (Joerg Roedel)"
      
      * 'x86-kdump-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/crash: Allocate enough low memory when crashkernel=high
        x86/swiotlb: Try coherent allocations with __GFP_NOWARN
        swiotlb: Warn on allocation failure in swiotlb_alloc_coherent()
      e2172d8f
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e75c73ad
      Linus Torvalds authored
      Pull x86 FPU updates from Ingo Molnar:
       "This tree contains two main changes:
      
         - The big FPU code rewrite: wide reaching cleanups and reorganization
           that pulls all the FPU code together into a clean base in
           arch/x86/fpu/.
      
           The resulting code is leaner and faster, and much easier to
           understand.  This enables future work to further simplify the FPU
           code (such as removing lazy FPU restores).
      
           By its nature these changes have a substantial regression risk: FPU
           code related bugs are long lived, because races are often subtle
           and bugs mask as user-space failures that are difficult to track
           back to kernel side backs.  I'm aware of no unfixed (or even
           suspected) FPU related regression so far.
      
         - MPX support rework/fixes.  As this is still not a released CPU
           feature, there were some buglets in the code - should be much more
           robust now (Dave Hansen)"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (250 commits)
        x86/fpu: Fix double-increment in setup_xstate_features()
        x86/mpx: Allow 32-bit binaries on 64-bit kernels again
        x86/mpx: Do not count MPX VMAs as neighbors when unmapping
        x86/mpx: Rewrite the unmap code
        x86/mpx: Support 32-bit binaries on 64-bit kernels
        x86/mpx: Use 32-bit-only cmpxchg() for 32-bit apps
        x86/mpx: Introduce new 'directory entry' to 'addr' helper function
        x86/mpx: Add temporary variable to reduce masking
        x86: Make is_64bit_mm() widely available
        x86/mpx: Trace allocation of new bounds tables
        x86/mpx: Trace the attempts to find bounds tables
        x86/mpx: Trace entry to bounds exception paths
        x86/mpx: Trace #BR exceptions
        x86/mpx: Introduce a boot-time disable flag
        x86/mpx: Restrict the mmap() size check to bounds tables
        x86/mpx: Remove redundant MPX_BNDCFG_ADDR_MASK
        x86/mpx: Clean up the code by not passing a task pointer around when unnecessary
        x86/mpx: Use the new get_xsave_field_ptr()API
        x86/fpu/xstate: Wrap get_xsave_addr() to make it safer
        x86/fpu/xstate: Fix up bad get_xsave_addr() assumptions
        ...
      e75c73ad
    • Linus Torvalds's avatar
      Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cfe3eceb
      Linus Torvalds authored
      Pull x86 EFI updates from Ingo Molnar:
       "EFI changes:
      
         - Use idiomatic negative error values in efivar_create_sysfs_entry()
           instead of returning '1' to indicate error (Dan Carpenter)
      
         - Implement new support to expose the EFI System Resource Tables in
           sysfs, which provides information for performing firmware updates
           (Peter Jones)
      
         - Documentation cleanup in the EFI handover protocol section which
           falsely claimed that 'cmdline_size' needed to be filled out by the
           boot loader (Alex Smith)
      
         - Align the order of SMBIOS tables in /sys/firmware/efi/systab to
           match the way that we do things for ACPI and add documentation to
           Documentation/ABI (Jean Delvare)"
      
      * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi: Work around ia64 build problem with ESRT driver
        efi: Add 'systab' information to Documentation/ABI
        efi: dmi: List SMBIOS3 table before SMBIOS table
        efi/esrt: Fix some compiler warnings
        x86, doc: Remove cmdline_size from list of fields to be filled in for EFI handover
        efi: Add esrt support
        efi: efivar_create_sysfs_entry() should return negative error codes
      cfe3eceb
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5ef6ca4f
      Linus Torvalds authored
      Pull x86 debugging documentation updates from Ingo Molnar:
       "Documentation updates about x86 kernel stacks"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/Documentation: Adapt Ingo's explanation on printing backtraces
        x86/Documentation: Remove STACKFAULT_STACK bulletpoint
        x86/Documentation: Move kernel-stacks doc one level up
      5ef6ca4f
  5. 22 Jun, 2015 3 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b3ba283d
      Linus Torvalds authored
      Pull x86 CPU features from Ingo Molnar:
       "Various CPU feature support related changes: in particular the
        /proc/cpuinfo model name sanitization change should be monitored, it
        has a chance to break stuff.  (but really shouldn't and there are no
        regression reports)"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu/amd: Give access to the number of nodes in a physical package
        x86/cpu: Trim model ID whitespace
        x86/cpu: Strip any /proc/cpuinfo model name field whitespace
        x86/cpu/amd: Set X86_FEATURE_EXTD_APICID for future processors
        x86/gart: Check for GART support before accessing GART registers
      b3ba283d
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d43e4f44
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Misc cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Clean up types in xlate_dev_mem_ptr() some more
        x86: Deinline dma_free_attrs()
        x86: Deinline dma_alloc_attrs()
        x86: Remove unused TI_cpu
        x86: Merge common 32-bit values in asm-offsets.c
      d43e4f44
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 23b77762
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes are:
      
         - lockless wakeup support for futexes and IPC message queues
           (Davidlohr Bueso, Peter Zijlstra)
      
         - Replace spinlocks with atomics in thread_group_cputimer(), to
           improve scalability (Jason Low)
      
         - NUMA balancing improvements (Rik van Riel)
      
         - SCHED_DEADLINE improvements (Wanpeng Li)
      
         - clean up and reorganize preemption helpers (Frederic Weisbecker)
      
         - decouple page fault disabling machinery from the preemption
           counter, to improve debuggability and robustness (David
           Hildenbrand)
      
         - SCHED_DEADLINE documentation updates (Luca Abeni)
      
         - topology CPU masks cleanups (Bartosz Golaszewski)
      
         - /proc/sched_debug improvements (Srikar Dronamraju)"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (79 commits)
        sched/deadline: Remove needless parameter in dl_runtime_exceeded()
        sched: Remove superfluous resetting of the p->dl_throttled flag
        sched/deadline: Drop duplicate init_sched_dl_class() declaration
        sched/deadline: Reduce rq lock contention by eliminating locking of non-feasible target
        sched/deadline: Make init_sched_dl_class() __init
        sched/deadline: Optimize pull_dl_task()
        sched/preempt: Add static_key() to preempt_notifiers
        sched/preempt: Fix preempt notifiers documentation about hlist_del() within unsafe iteration
        sched/stop_machine: Fix deadlock between multiple stop_two_cpus()
        sched/debug: Add sum_sleep_runtime to /proc/<pid>/sched
        sched/debug: Replace vruntime with wait_sum in /proc/sched_debug
        sched/debug: Properly format runnable tasks in /proc/sched_debug
        sched/numa: Only consider less busy nodes as numa balancing destinations
        Revert 095bebf6 ("sched/numa: Do not move past the balance point if unbalanced")
        sched/fair: Prevent throttling in early pick_next_task_fair()
        preempt: Reorganize the notrace definitions a bit
        preempt: Use preempt_schedule_context() as the official tracing preemption point
        sched: Make preempt_schedule_context() function-tracing safe
        x86: Remove cpu_sibling_mask() and cpu_core_mask()
        x86: Replace cpu_**_mask() with topology_**_cpumask()
        ...
      23b77762