linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 3.16-stable 72/87] x86/boot: Add CONFIG_PARAVIRT_SPINLOCKS quirk to arch/x86/boot/compressed/misc.h
       [not found] <20170505194745.3627137-1-arnd@arndb.de>
@ 2017-05-05 19:47 ` Arnd Bergmann
  2017-05-05 19:47 ` [PATCH 3.16-stable 82/87] MIPS: ip27: Disable qlge driver in defconfig Arnd Bergmann
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2017-05-05 19:47 UTC (permalink / raw)
  To: Ben Hutchings
  Cc: stable, Ingo Molnar, H. Peter Anvin, Thomas Gleixner,
	linux-kernel, Arnd Bergmann

From: Ingo Molnar <mingo@kernel.org>

Commit 927392d73a97d8d235bb65400e2e3c7f0bec2b6f upstream.

Linus reported the following new warning on x86 allmodconfig with GCC 5.1:

  > ./arch/x86/include/asm/spinlock.h: In function ‘arch_spin_lock’:
  > ./arch/x86/include/asm/spinlock.h:119:3: warning: implicit declaration
  > of function ‘__ticket_lock_spinning’ [-Wimplicit-function-declaration]
  >    __ticket_lock_spinning(lock, inc.tail);
  >    ^

This warning triggers because of these hacks in misc.h:

  /*
   * we have to be careful, because no indirections are allowed here, and
   * paravirt_ops is a kind of one. As it will only run in baremetal anyway,
   * we just keep it from happening
   */
  #undef CONFIG_PARAVIRT
  #undef CONFIG_KASAN

But these hacks were not updated when CONFIG_PARAVIRT_SPINLOCKS was added,
and eventually (with the introduction of queued paravirt spinlocks in
recent kernels) this created an invalid Kconfig combination and broke
the build.

So add a CONFIG_PARAVIRT_SPINLOCKS #undef line as well.

Also remove the _ASM_X86_DESC_H quirk: that undocumented quirk
was originally added ages ago, in:

  099e1377269a ("x86: use ELF format in compressed images.")

and I went back to that kernel (and fixed up the main Makefile
which didn't build anymore) and checked what failure it
avoided: it avoided an include file dependencies related
build failure related to our old x86-platforms code.

That old code is long gone, the header dependencies got cleaned
up, and the build does not fail anymore with the totality of
asm/desc.h included - so remove the quirk.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/x86/boot/compressed/misc.h | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/arch/x86/boot/compressed/misc.h b/arch/x86/boot/compressed/misc.h
index 24e3e569a13c..124312be129b 100644
--- a/arch/x86/boot/compressed/misc.h
+++ b/arch/x86/boot/compressed/misc.h
@@ -2,14 +2,13 @@
 #define BOOT_COMPRESSED_MISC_H
 
 /*
- * we have to be careful, because no indirections are allowed here, and
- * paravirt_ops is a kind of one. As it will only run in baremetal anyway,
- * we just keep it from happening
+ * Special hack: we have to be careful, because no indirections are allowed here,
+ * and paravirt_ops is a kind of one. As it will only run in baremetal anyway,
+ * we just keep it from happening. (This list needs to be extended when new
+ * paravirt and debugging variants are added.)
  */
 #undef CONFIG_PARAVIRT
-#ifdef CONFIG_X86_32
-#define _ASM_X86_DESC_H 1
-#endif
+#undef CONFIG_PARAVIRT_SPINLOCKS
 
 #include <linux/linkage.h>
 #include <linux/screen_info.h>
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3.16-stable 82/87] MIPS: ip27: Disable qlge driver in defconfig
       [not found] <20170505194745.3627137-1-arnd@arndb.de>
  2017-05-05 19:47 ` [PATCH 3.16-stable 72/87] x86/boot: Add CONFIG_PARAVIRT_SPINLOCKS quirk to arch/x86/boot/compressed/misc.h Arnd Bergmann
@ 2017-05-05 19:47 ` Arnd Bergmann
  2017-11-06 19:08   ` Ben Hutchings
  2017-05-05 19:47 ` [PATCH 3.16-stable 83/87] MIPS: ip22: Fix ip28 build for modern gcc Arnd Bergmann
  2017-05-05 19:47 ` [PATCH 3.16-stable 85/87] MIPS: Fix the build on jz4740 after removing the custom gpio.h Arnd Bergmann
  3 siblings, 1 reply; 5+ messages in thread
From: Arnd Bergmann @ 2017-05-05 19:47 UTC (permalink / raw)
  To: Ben Hutchings
  Cc: stable, Arnd Bergmann, Ralf Baechle, linux-mips, linux-kernel,
	James Hogan

Commit c64ebe32d3fc90c52277257d6c9fa7d589877cc2 upstream.

One of the last remaining failures in kernelci.org is for a gcc bug:

drivers/net/ethernet/qlogic/qlge/qlge_main.c:4819:1: error: insn does not satisfy its constraints:
drivers/net/ethernet/qlogic/qlge/qlge_main.c:4819:1: internal compiler error: in extract_constrain_insn, at recog.c:2190

This is apparently broken in gcc-6 but fixed in gcc-7, and I cannot
reproduce the problem here. However, it is clear that ip27_defconfig
does not actually need this driver as the platform has only PCI-X but
not PCIe, and the qlge adapter in turn is PCIe-only.

The driver was originally enabled in 2010 along with lots of other
drivers.

Fixes: 59d302b342e5 ("MIPS: IP27: Make defconfig useful again.")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/15197/
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/mips/configs/ip27_defconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig
index 0e36abcd39cc..7446284dd7b3 100644
--- a/arch/mips/configs/ip27_defconfig
+++ b/arch/mips/configs/ip27_defconfig
@@ -206,7 +206,6 @@ CONFIG_MLX4_EN=m
 # CONFIG_MLX4_DEBUG is not set
 CONFIG_TEHUTI=m
 CONFIG_BNX2X=m
-CONFIG_QLGE=m
 CONFIG_SFC=m
 CONFIG_BE2NET=m
 CONFIG_LIBERTAS_THINFIRM=m
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3.16-stable 83/87] MIPS: ip22: Fix ip28 build for modern gcc
       [not found] <20170505194745.3627137-1-arnd@arndb.de>
  2017-05-05 19:47 ` [PATCH 3.16-stable 72/87] x86/boot: Add CONFIG_PARAVIRT_SPINLOCKS quirk to arch/x86/boot/compressed/misc.h Arnd Bergmann
  2017-05-05 19:47 ` [PATCH 3.16-stable 82/87] MIPS: ip27: Disable qlge driver in defconfig Arnd Bergmann
@ 2017-05-05 19:47 ` Arnd Bergmann
  2017-05-05 19:47 ` [PATCH 3.16-stable 85/87] MIPS: Fix the build on jz4740 after removing the custom gpio.h Arnd Bergmann
  3 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2017-05-05 19:47 UTC (permalink / raw)
  To: Ben Hutchings
  Cc: stable, Arnd Bergmann, linux-mips, linux-kernel, Ralf Baechle

Commit c3ef8bf59deea37d1105ffb771b163d3c322fff7 upstream.

kernelci reports a failure of the ip28_defconfig build after upgrading its
gcc version:

arch/mips/sgi-ip22/Platform:29: *** gcc doesn't support needed option -mr10k-cache-barrier=store.  Stop.

The problem apparently is that the -mr10k-cache-barrier=store option is now
rejected for CPUs other than r10k. Explicitly including the CPU in the
check fixes this and is safe because both options were introduced in
gcc-4.4.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/15049/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/mips/sgi-ip22/Platform | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/mips/sgi-ip22/Platform b/arch/mips/sgi-ip22/Platform
index b7a4b7e04c38..e8f6b3a42a48 100644
--- a/arch/mips/sgi-ip22/Platform
+++ b/arch/mips/sgi-ip22/Platform
@@ -25,7 +25,7 @@ endif
 # Simplified: what IP22 does at 128MB+ in ksegN, IP28 does at 512MB+ in xkphys
 #
 ifdef CONFIG_SGI_IP28
-  ifeq ($(call cc-option-yn,-mr10k-cache-barrier=store), n)
+  ifeq ($(call cc-option-yn,-march=r10000 -mr10k-cache-barrier=store), n)
       $(error gcc doesn't support needed option -mr10k-cache-barrier=store)
   endif
 endif
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3.16-stable 85/87] MIPS: Fix the build on jz4740 after removing the custom gpio.h
       [not found] <20170505194745.3627137-1-arnd@arndb.de>
                   ` (2 preceding siblings ...)
  2017-05-05 19:47 ` [PATCH 3.16-stable 83/87] MIPS: ip22: Fix ip28 build for modern gcc Arnd Bergmann
@ 2017-05-05 19:47 ` Arnd Bergmann
  3 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2017-05-05 19:47 UTC (permalink / raw)
  To: Ben Hutchings
  Cc: stable, Alban Bedel, Paul Burton, Lars-Peter Clausen,
	Brian Norris, Thomas Gleixner, Linus Walleij, linux-mips,
	linux-kernel, Ralf Baechle, Arnd Bergmann

From: Alban Bedel <albeu@free.fr>

Commit 8293821972679f185562c9d2bfadd897fac40243 upstream.

Somehow the wrong version of the patch to remove the use of custom
gpio.h on mips has been merged. This patch add the missing fixes for a
build error on jz4740 because linux/gpio.h doesn't provide any machine
specfics definitions anymore.

Signed-off-by: Alban Bedel <albeu@free.fr>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/11089/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/mips/jz4740/board-qi_lb60.c | 1 +
 arch/mips/jz4740/gpio.c          | 1 +
 2 files changed, 2 insertions(+)

diff --git a/arch/mips/jz4740/board-qi_lb60.c b/arch/mips/jz4740/board-qi_lb60.c
index 088e92a79ae6..7da9ff143499 100644
--- a/arch/mips/jz4740/board-qi_lb60.c
+++ b/arch/mips/jz4740/board-qi_lb60.c
@@ -25,6 +25,7 @@
 #include <linux/power/jz4740-battery.h>
 #include <linux/power/gpio-charger.h>
 
+#include <asm/mach-jz4740/gpio.h>
 #include <asm/mach-jz4740/jz4740_fb.h>
 #include <asm/mach-jz4740/jz4740_mmc.h>
 #include <asm/mach-jz4740/jz4740_nand.h>
diff --git a/arch/mips/jz4740/gpio.c b/arch/mips/jz4740/gpio.c
index 00b798d2fb7c..000d2d91b704 100644
--- a/arch/mips/jz4740/gpio.c
+++ b/arch/mips/jz4740/gpio.c
@@ -27,6 +27,7 @@
 #include <linux/seq_file.h>
 
 #include <asm/mach-jz4740/base.h>
+#include <asm/mach-jz4740/gpio.h>
 
 #include "irq.h"
 
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 3.16-stable 82/87] MIPS: ip27: Disable qlge driver in defconfig
  2017-05-05 19:47 ` [PATCH 3.16-stable 82/87] MIPS: ip27: Disable qlge driver in defconfig Arnd Bergmann
@ 2017-11-06 19:08   ` Ben Hutchings
  0 siblings, 0 replies; 5+ messages in thread
From: Ben Hutchings @ 2017-11-06 19:08 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: stable, Ralf Baechle, linux-mips, linux-kernel, James Hogan

[-- Attachment #1: Type: text/plain, Size: 1869 bytes --]

On Fri, 2017-05-05 at 21:47 +0200, Arnd Bergmann wrote:
> Commit c64ebe32d3fc90c52277257d6c9fa7d589877cc2 upstream.
> 
> One of the last remaining failures in kernelci.org is for a gcc bug:
> 
> drivers/net/ethernet/qlogic/qlge/qlge_main.c:4819:1: error: insn does not satisfy its constraints:
> drivers/net/ethernet/qlogic/qlge/qlge_main.c:4819:1: internal compiler error: in extract_constrain_insn, at recog.c:2190
> 
> This is apparently broken in gcc-6 but fixed in gcc-7, and I cannot
> reproduce the problem here. However, it is clear that ip27_defconfig
> does not actually need this driver as the platform has only PCI-X but
> not PCIe, and the qlge adapter in turn is PCIe-only.

You could disable CONFIG_SFC here as well, since it only supports PCIe
devices.

Ben.

> The driver was originally enabled in 2010 along with lots of other
> drivers.
> 
> Fixes: 59d302b342e5 ("MIPS: IP27: Make defconfig useful again.")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Cc: Ralf Baechle <ralf@linux-mips.org>
> Cc: linux-mips@linux-mips.org
> Cc: linux-kernel@vger.kernel.org
> Patchwork: https://patchwork.linux-mips.org/patch/15197/
> Signed-off-by: James Hogan <james.hogan@imgtec.com>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  arch/mips/configs/ip27_defconfig | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig
> index 0e36abcd39cc..7446284dd7b3 100644
> --- a/arch/mips/configs/ip27_defconfig
> +++ b/arch/mips/configs/ip27_defconfig
> @@ -206,7 +206,6 @@ CONFIG_MLX4_EN=m
>  # CONFIG_MLX4_DEBUG is not set
>  CONFIG_TEHUTI=m
>  CONFIG_BNX2X=m
> -CONFIG_QLGE=m
>  CONFIG_SFC=m
>  CONFIG_BE2NET=m
>  CONFIG_LIBERTAS_THINFIRM=m
-- 
Ben Hutchings
It is a miracle that curiosity survives formal education. - Albert
Einstein


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-11-06 19:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20170505194745.3627137-1-arnd@arndb.de>
2017-05-05 19:47 ` [PATCH 3.16-stable 72/87] x86/boot: Add CONFIG_PARAVIRT_SPINLOCKS quirk to arch/x86/boot/compressed/misc.h Arnd Bergmann
2017-05-05 19:47 ` [PATCH 3.16-stable 82/87] MIPS: ip27: Disable qlge driver in defconfig Arnd Bergmann
2017-11-06 19:08   ` Ben Hutchings
2017-05-05 19:47 ` [PATCH 3.16-stable 83/87] MIPS: ip22: Fix ip28 build for modern gcc Arnd Bergmann
2017-05-05 19:47 ` [PATCH 3.16-stable 85/87] MIPS: Fix the build on jz4740 after removing the custom gpio.h Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).