Re: MIPS: Fix CPS SMP NS16550 UART defaults
From: Guenter Roeck
Date: Mon Dec 25 2017 - 12:43:43 EST
On Tue, Nov 21, 2017 at 12:02:40AM +0000, James Hogan wrote:
> From: James Hogan <jhogan@xxxxxxxxxx>
>
> The MIPS_CPS_NS16550_BASE and MIPS_CPS_NS16550_SHIFT options have no
> defaults for non-Malta platforms which select SYS_SUPPORTS_MIPS_CPS
> (i.e. the pistachio and generic platforms). This is problematic for
> automated allyesconfig and allmodconfig builds based on these platforms,
> since make silentoldconfig tries to ask the user for values, and
> especially since v4.15 where the default platform was switched to
> generic.
>
> Default these options to 0 and arrange for MIPS_CPS_NS16550 to be no
> when using that default base address, so that the option only has an
> effect when the default is provided (i.e. Malta) or when a value is
> provided by the user.
>
> Fixes: 609cf6f2291a ("MIPS: CPS: Early debug using an ns16550-compatible UART")
> Signed-off-by: James Hogan <jhogan@xxxxxxxxxx>
> Reviewed-by: Paul Burton <paul.burton@xxxxxxxx>
> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
> Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
> Cc: linux-mips@xxxxxxxxxxxxxx
> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Still not applied, mips builds still broken both in mainline and -next
(and worse in -next). Doesn't 0day report all this breakage automatically ?
Guenter
> ---
> Guenter: I'm guessing this is the problem you're referring to.
> ---
> arch/mips/Kconfig.debug | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug
> index 464af5e025d6..0749c3724543 100644
> --- a/arch/mips/Kconfig.debug
> +++ b/arch/mips/Kconfig.debug
> @@ -124,30 +124,36 @@ config SCACHE_DEBUGFS
>
> If unsure, say N.
>
> -menuconfig MIPS_CPS_NS16550
> +menuconfig MIPS_CPS_NS16550_BOOL
> bool "CPS SMP NS16550 UART output"
> depends on MIPS_CPS
> help
> Output debug information via an ns16550 compatible UART if exceptions
> occur early in the boot process of a secondary core.
>
> -if MIPS_CPS_NS16550
> +if MIPS_CPS_NS16550_BOOL
> +
> +config MIPS_CPS_NS16550
> + def_bool MIPS_CPS_NS16550_BASE != 0
>
> config MIPS_CPS_NS16550_BASE
> hex "UART Base Address"
> default 0x1b0003f8 if MIPS_MALTA
> + default 0
> help
> The base address of the ns16550 compatible UART on which to output
> debug information from the early stages of core startup.
>
> + This is only used if non-zero.
> +
> config MIPS_CPS_NS16550_SHIFT
> int "UART Register Shift"
> - default 0 if MIPS_MALTA
> + default 0
> help
> The number of bits to shift ns16550 register indices by in order to
> form their addresses. That is, log base 2 of the span between
> adjacent ns16550 registers in the system.
>
> -endif # MIPS_CPS_NS16550
> +endif # MIPS_CPS_NS16550_BOOL
>
> endmenu