On Fri, Sep 12, 2014 at 10:00:04PM +0800, Hanjun Guo wrote: > From: Al Stone <al.stone@xxxxxxxxxx> > > Introduce one early parameters "off" for "acpi" to disable ACPI on > ARM64. > > This ensures the kernel uses the DT on a platform that provides both > ACPI tables and DT. > > Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> > Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> > Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> > --- > Documentation/kernel-parameters.txt | 3 ++- > arch/arm64/kernel/acpi.c | 15 +++++++++++++++ > 2 files changed, 17 insertions(+), 1 deletion(-) > > diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt > index 5ae8608..9dfb1d8 100644 > --- a/Documentation/kernel-parameters.txt > +++ b/Documentation/kernel-parameters.txt > @@ -165,7 +165,7 @@ multipliers 'Kilo', 'Mega', and 'Giga', equalling 2^10, 2^20, and 2^30 > bytes respectively. Such letter suffixes can also be entirely omitted. > > > - acpi= [HW,ACPI,X86] > + acpi= [HW,ACPI,X86,ARM] ARM64, not ARM. > Advanced Configuration and Power Interface > Format: { force | off | strict | noirq | rsdt } > force -- enable ACPI if default was off > @@ -175,6 +175,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. > strictly ACPI specification compliant. > rsdt -- prefer RSDT over (default) XSDT > copy_dsdt -- copy DSDT to memory > + For ARM64, ONLY "acpi=off" is available. Both force and off should be made available, since they're the two main switches here. > See also Documentation/power/runtime_pm.txt, pci=noacpi > > diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c > index 9252f72..693da7f 100644 > --- a/arch/arm64/kernel/acpi.c > +++ b/arch/arm64/kernel/acpi.c > @@ -67,3 +67,18 @@ void __init acpi_boot_table_init(void) > if (acpi_table_init()) > disable_acpi(); > } > + > +static int __init parse_acpi(char *arg) > +{ > + if (!arg) > + return -EINVAL; > + > + /* "acpi=off" disables both ACPI table parsing and interpreter */ > + if (strcmp(arg, "off") == 0) > + disable_acpi(); > + else > + return -EINVAL; /* Core will print when we return error */ For symmetry, you should handle acpi=force here too (i.e. if someone disables by default, which I expect we'll ask for when this code is first merged). > + > + return 0; > +} > +early_param("acpi", parse_acpi); > -- > 1.7.9.5 > -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html