Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

alpha: mark 'Jensen' platform as no longer broken

Ok, it almost certainly is still broken on actual hardware, but the
immediate reason for it having been marked BROKEN was a build error that
is fixed by just making sure the low-level IO header file is included
sufficiently early that the __EXTERN_INLINE hackery takes effect.

This was marked broken back in 2017 by commit 1883c9f49d02 ("alpha: mark
jensen as broken"), but Ulrich Teichert made me look at it as part of my
cross-build work to make sure -Werror actually does the right thing.

There are lots of alpha configurations that do not build cleanly, but
now it's no longer because Jensen wouldn't be buildable. That said,
because the Jensen platform doesn't force PCI to be enabled (Jensen only
had EISA), it ends up being somewhat interesting as a source of odd
configs.

Reported-by: Ulrich Teichert <krypton@ulrich-teichert.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

+5 -6
-1
arch/alpha/Kconfig
··· 199 199 200 200 config ALPHA_JENSEN 201 201 bool "Jensen" 202 - depends on BROKEN 203 202 select HAVE_EISA 204 203 help 205 204 DEC PC 150 AXP (aka Jensen): This is a very old Digital system - one
+5 -5
arch/alpha/kernel/sys_jensen.c
··· 7 7 * 8 8 * Code supporting the Jensen. 9 9 */ 10 + #define __EXTERN_INLINE 11 + #include <asm/io.h> 12 + #include <asm/jensen.h> 13 + #undef __EXTERN_INLINE 14 + 10 15 #include <linux/interrupt.h> 11 16 #include <linux/kernel.h> 12 17 #include <linux/types.h> ··· 21 16 #include <linux/init.h> 22 17 23 18 #include <asm/ptrace.h> 24 - 25 - #define __EXTERN_INLINE 26 - #include <asm/io.h> 27 - #include <asm/jensen.h> 28 - #undef __EXTERN_INLINE 29 19 30 20 #include <asm/dma.h> 31 21 #include <asm/irq.h>