mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
ACPI: SPCR: Make SPCR available to x86
SPCR is currently only enabled or ARM64 and x86 can use SPCR to setup an early console. General fixes include updating Documentation & Kconfig (for x86), updating comments, and changing parse_spcr() to acpi_parse_spcr(), and earlycon_init_is_deferred to earlycon_acpi_spcr_enable to be more descriptive. On x86, many systems have a valid SPCR table but the table version is not 2 so the table version check must be a warning. On ARM64 when the kernel parameter earlycon is used both the early console and console are enabled. On x86, only the earlycon should be enabled by by default. Modify acpi_parse_spcr() to allow options for initializing the early console and console separately. Signed-off-by: Prarit Bhargava <[email protected]> Acked-by: Ingo Molnar <[email protected]> Reviewed-by: Mark Salter <[email protected]> Tested-by: Mark Salter <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
This commit is contained in:
parent
890674343b
commit
0231d00082
8 changed files with 44 additions and 34 deletions
|
|
@ -197,25 +197,20 @@ int __init setup_earlycon(char *buf)
|
|||
}
|
||||
|
||||
/*
|
||||
* When CONFIG_ACPI_SPCR_TABLE is defined, "earlycon" without parameters in
|
||||
* command line does not start DT earlycon immediately, instead it defers
|
||||
* starting it until DT/ACPI decision is made. At that time if ACPI is enabled
|
||||
* call parse_spcr(), else call early_init_dt_scan_chosen_stdout()
|
||||
* This defers the initialization of the early console until after ACPI has
|
||||
* been initialized.
|
||||
*/
|
||||
bool earlycon_init_is_deferred __initdata;
|
||||
bool earlycon_acpi_spcr_enable __initdata;
|
||||
|
||||
/* early_param wrapper for setup_earlycon() */
|
||||
static int __init param_setup_earlycon(char *buf)
|
||||
{
|
||||
int err;
|
||||
|
||||
/*
|
||||
* Just 'earlycon' is a valid param for devicetree earlycons;
|
||||
* don't generate a warning from parse_early_params() in that case
|
||||
*/
|
||||
/* Just 'earlycon' is a valid param for devicetree and ACPI SPCR. */
|
||||
if (!buf || !buf[0]) {
|
||||
if (IS_ENABLED(CONFIG_ACPI_SPCR_TABLE)) {
|
||||
earlycon_init_is_deferred = true;
|
||||
earlycon_acpi_spcr_enable = true;
|
||||
return 0;
|
||||
} else if (!buf) {
|
||||
return early_init_dt_scan_chosen_stdout();
|
||||
|
|
|
|||
Loading…
Reference in a new issue