2017-06-05 17:10:53

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH] MIPS: Make individual platforms select ARCH_MIGHT_HAVE_PC_SERIO

Out of the many MIPS platforms only 3 appear to be actually using an
I8042 keyboard controller: SGI, JAZZ and LOOGSON64, remove
ARCH_MIGHT_HAVE_PC_SERIO from the top-level MIPS Kconfig symbol and move
it down to those platforms that need it.

Signed-off-by: Florian Fainelli <[email protected]>
---
arch/mips/Kconfig | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 0b15978c0f88..c96547cdca61 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -7,7 +7,6 @@ config MIPS
select ARCH_HAS_ELF_RANDOMIZE
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_MIGHT_HAVE_PC_PARPORT
- select ARCH_MIGHT_HAVE_PC_SERIO
select ARCH_SUPPORTS_UPROBES
select ARCH_USE_BUILTIN_BSWAP
select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
@@ -347,6 +346,7 @@ config MACH_JAZZ
select I8253
select I8259
select ISA
+ select ARCH_MIGHT_HAVE_PC_SERIO
select SYS_HAS_CPU_R4X00
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_64BIT_KERNEL
@@ -423,6 +423,7 @@ config MACH_LOONGSON32

config MACH_LOONGSON64
bool "Loongson-2/3 family of machines"
+ select ARCH_MIGHT_HAVE_PC_SERIO
select SYS_SUPPORTS_ZBOOT
help
This enables the support of Loongson-2/3 family of machines.
@@ -1294,6 +1295,7 @@ config SGI_HAS_ZILOG
bool

config SGI_HAS_I8042
+ select ARCH_MIGHT_HAVE_PC_SERIO
bool

config DEFAULT_SGI_PARTITION
--
2.9.3


2017-06-16 01:57:05

by Maciej W. Rozycki

[permalink] [raw]
Subject: Re: [PATCH] MIPS: Make individual platforms select ARCH_MIGHT_HAVE_PC_SERIO

On Mon, 5 Jun 2017, Florian Fainelli wrote:

> Out of the many MIPS platforms only 3 appear to be actually using an
> I8042 keyboard controller: SGI, JAZZ and LOOGSON64, remove
> ARCH_MIGHT_HAVE_PC_SERIO from the top-level MIPS Kconfig symbol and move
> it down to those platforms that need it.

How did you determine that? Malta for one not only has an SMSC FDC37M817
Super I/O Controller featuring an 8042-compatible core, but actual PS/2
keyboard and mouse connectors as well.

Maciej

2017-06-16 17:45:12

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH] MIPS: Make individual platforms select ARCH_MIGHT_HAVE_PC_SERIO

On 06/15/2017 06:56 PM, Maciej W. Rozycki wrote:
> On Mon, 5 Jun 2017, Florian Fainelli wrote:
>
>> Out of the many MIPS platforms only 3 appear to be actually using an
>> I8042 keyboard controller: SGI, JAZZ and LOOGSON64, remove
>> ARCH_MIGHT_HAVE_PC_SERIO from the top-level MIPS Kconfig symbol and move
>> it down to those platforms that need it.
>
> How did you determine that? Malta for one not only has an SMSC FDC37M817
> Super I/O Controller featuring an 8042-compatible core, but actual PS/2
> keyboard and mouse connectors as well.

I was just grepping for i8042 in platform code to determine that, this
came after having SERIO accidentally enabled on my platform
(BMIPS_GENERIC) and seeing that it crashed badly and it annoyed the crap
out of me that MIPS had ARCH_MIGHT_HAVE_PC_SERIO for platforms that
don't need it.

Will come up with a v2 that includes malta, any other platforms for
which it's not obvious?
--
Florian

2017-06-16 20:19:11

by Maciej W. Rozycki

[permalink] [raw]
Subject: Re: [PATCH] MIPS: Make individual platforms select ARCH_MIGHT_HAVE_PC_SERIO

On Fri, 16 Jun 2017, Florian Fainelli wrote:

> > How did you determine that? Malta for one not only has an SMSC FDC37M817
> > Super I/O Controller featuring an 8042-compatible core, but actual PS/2
> > keyboard and mouse connectors as well.
>
> I was just grepping for i8042 in platform code to determine that, this
> came after having SERIO accidentally enabled on my platform
> (BMIPS_GENERIC) and seeing that it crashed badly and it annoyed the crap
> out of me that MIPS had ARCH_MIGHT_HAVE_PC_SERIO for platforms that
> don't need it.
>
> Will come up with a v2 that includes malta, any other platforms for
> which it's not obvious?

I don't know offhand, but in principle anything that has PCI and a
southbridge (not all PCI platforms have one, e.g. Broadcom SWARM and
BigSur are legacy-free) can have an 8042 wired. Ideally probing for 8042
hardware should be done by platform code and the driver's init code would
not be called at all if there's no 8042 present, similarly to how e.g. RTC
is usually registered.

Maciej