Hi,
This is the v8 of ACPI core patches for ARM64 based on ACPI 5.1, there are
some updates since v7:
- Add two more documantation to explain why we need ACPI in ARM64 servers
by Grant, and recommendations and prohibitions on the use of the numerous
ACPI tables and objects by Al Stone.
- Add two patches which is need to map acpi tables after acpi_gbl_permanent_mmap
is set
- Add another patch "dt / chosen: Add linux,uefi-stub-generated-dtb property"
to address that if firmware providing no dtb, we can try ACPI configuration data
even if no "acpi=force" is passed in early parameters. (I think ACPI for XEN and
kexec need consider sperately as disscussed, correct me if I'm wrong).
- Add CC in the patch to the subsystem maintainers and modify the subject
of the patch to explicitly show the subsystem touched by this patch set,
please help us to review and ack them if they make sense, thanks.
- Add Tested-by from Qualcomm and Redhat;
- Make ACPI depends on PCI suggested by Catalin;
- Clean up SMP init function as Lorenzo suggested, remove physical
CPU hot-plug code in the patch;
- Address some comments from Marc and explicitly state that will
implment statcked irqdomain and GIC init framework when GICv3 and
ITS, GICv2m are implemented;
- Rebased on top of 3.19-rc7.
previous version is here:
v7: https://lkml.org/lkml/2015/1/14/586
v6: https://lkml.org/lkml/2015/1/4/40
Any comments are welcome :)
Thanks
Hanjun
Al Stone (4):
ARM64 / ACPI: Get RSDP and ACPI boot-time tables
ARM64 / ACPI: Introduce early_param for "acpi" and pass acpi=force to
enable ACPI
ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on
ARM64
arm64: ACPI: additions of ACPI documentation for arm64
Graeme Gregory (6):
acpi: add arm64 to the platforms that use ioremap
ACPI / sleep: Introduce sleep_arm.c
ARM64 / ACPI: If we chose to boot from acpi then disable FDT
ARM64 / ACPI: Get PSCI flags in FADT for PSCI init
ARM64 / ACPI: Enable ARM64 in Kconfig
Documentation: ACPI for ARM64
Hanjun Guo (8):
ARM64 / ACPI: Introduce PCI stub functions for ACPI
dt / chosen: Add linux,uefi-stub-generated-dtb property
ARM64 / ACPI: Disable ACPI if FADT revision is less than 5.1
ACPI / table: Print GIC information when MADT is parsed
ARM64 / ACPI: Parse MADT for SMP initialization
ACPI / processor: Make it possible to get CPU hardware ID via GICC
ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi
clocksource / arch_timer: Parse GTDT to initialize arch timer
Mark Salter (2):
acpi: fix acpi_os_ioremap for arm64
arm64: allow late use of early_ioremap
Tomasz Nowicki (1):
irqchip: Add GICv2 specific ACPI boot support
Documentation/arm/uefi.txt | 3 +
Documentation/arm64/acpi_object_usage.txt | 592 ++++++++++++++++++++++++++++++
Documentation/arm64/arm-acpi.txt | 506 +++++++++++++++++++++++++
Documentation/arm64/why_use_acpi.txt | 231 ++++++++++++
Documentation/kernel-parameters.txt | 3 +-
arch/arm64/Kconfig | 3 +
arch/arm64/include/asm/acenv.h | 18 +
arch/arm64/include/asm/acpi.h | 103 ++++++
arch/arm64/include/asm/cpu_ops.h | 1 +
arch/arm64/include/asm/fixmap.h | 3 +
arch/arm64/include/asm/pci.h | 6 +
arch/arm64/include/asm/psci.h | 3 +-
arch/arm64/include/asm/smp.h | 5 +-
arch/arm64/kernel/Makefile | 1 +
arch/arm64/kernel/acpi.c | 362 ++++++++++++++++++
arch/arm64/kernel/cpu_ops.c | 2 +-
arch/arm64/kernel/pci.c | 25 ++
arch/arm64/kernel/psci.c | 78 ++--
arch/arm64/kernel/setup.c | 58 ++-
arch/arm64/kernel/smp.c | 2 +-
arch/arm64/kernel/time.c | 7 +
drivers/acpi/Kconfig | 3 +-
drivers/acpi/Makefile | 4 +
drivers/acpi/bus.c | 3 +
drivers/acpi/osl.c | 6 +-
drivers/acpi/processor_core.c | 37 ++
drivers/acpi/sleep_arm.c | 28 ++
drivers/acpi/tables.c | 43 +++
drivers/clocksource/arm_arch_timer.c | 132 +++++--
drivers/firmware/efi/libstub/fdt.c | 8 +
drivers/irqchip/irq-gic.c | 102 +++++
drivers/irqchip/irqchip.c | 3 +
include/acpi/acpi_io.h | 6 +
include/linux/acpi.h | 16 +
include/linux/clocksource.h | 6 +
include/linux/irqchip/arm-gic-acpi.h | 31 ++
36 files changed, 2374 insertions(+), 66 deletions(-)
create mode 100644 Documentation/arm64/acpi_object_usage.txt
create mode 100644 Documentation/arm64/arm-acpi.txt
create mode 100644 Documentation/arm64/why_use_acpi.txt
create mode 100644 arch/arm64/include/asm/acenv.h
create mode 100644 arch/arm64/include/asm/acpi.h
create mode 100644 arch/arm64/kernel/acpi.c
create mode 100644 drivers/acpi/sleep_arm.c
create mode 100644 include/linux/irqchip/arm-gic-acpi.h
--
1.9.1
Per the request of Hanjun, and due to my involvement in the discussion
regarding adding /chosen node properties to the EFI stub<->kernel interface,
here is a patch that implements the policy that we discussed, i.e., to enable
ACPI explicitly if acpi=force is set, and to enable it implicitly if the device
tree has no nodes at depth 1 other than the /chosen node (in which case the
device tree is considered to be empty). We did not discuss the acpi=off case,
but this patch changes its handling from 'enable ACPI implicitly if the EFI
stub generated the DTB' (which is what Hanjun implemented) to 'ACPI is disabled
period' (which is arguably more appropriate)
This patch replaces the following two patches
ARM64 / ACPI: Introduce early_param for "acpi" and pass acpi=force to enable ACPI
dt / chosen: Add linux,uefi-stub-generated-dtb property
-------------->8------------------
This implements the following policy to decide whether ACPI should
be used to boot the system:
- acpi=off: ACPI will not be used to boot the system, even if there is
no alternative available (e.g., device tree is empty)
- acpi=force: only ACPI will be used to boot the system; if that fails,
there will be no fallback to alternative methods (such as device tree)
- otherwise, ACPI will be used as a fallback if the device tree turns out
to lack a platform description; the heuristic to decide this is whether
/chosen is the only node present at depth 1
CC: Catalin Marinas <catalin.marinas(a)arm.com>
CC: Will Deacon <will.deacon(a)arm.com>
CC: Rafael J. Wysocki <rjw(a)rjwysocki.net>
Signed-off-by: Al Stone <al.stone(a)linaro.org>
Signed-off-by: Graeme Gregory <graeme.gregory(a)linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo(a)linaro.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel(a)linaro.org>
---
Documentation/kernel-parameters.txt | 3 ++-
arch/arm64/kernel/acpi.c | 54 +++++++++++++++++++++++++++++++++----
2 files changed, 51 insertions(+), 6 deletions(-)
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 176d4fe4f076..d6a952ec4433 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,ARM64]
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" or "acpi=force" are available
See also Documentation/power/runtime_pm.txt, pci=noacpi
diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c
index 7f67c011261b..732ad0d075f5 100644
--- a/arch/arm64/kernel/acpi.c
+++ b/arch/arm64/kernel/acpi.c
@@ -20,15 +20,49 @@
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/memblock.h>
+#include <linux/of_fdt.h>
#include <linux/smp.h>
-int acpi_noirq; /* skip ACPI IRQ initialization */
-int acpi_disabled;
+int acpi_noirq = 1; /* skip ACPI IRQ initialization */
+int acpi_disabled = 1;
EXPORT_SYMBOL(acpi_disabled);
-int acpi_pci_disabled; /* skip ACPI PCI scan and IRQ initialization */
+int acpi_pci_disabled = 1; /* skip ACPI PCI scan and IRQ initialization */
EXPORT_SYMBOL(acpi_pci_disabled);
+static bool __initdata param_acpi_off;
+static bool __initdata param_acpi_force;
+
+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)
+ param_acpi_off = true;
+ else if (strcmp(arg, "force") == 0) /* force ACPI to be enabled */
+ param_acpi_force = true;
+ else
+ return -EINVAL; /* Core will print when we return error */
+
+ return 0;
+}
+early_param("acpi", parse_acpi);
+
+static int __init dt_scan_depth1_nodes(unsigned long node,
+ const char *uname, int depth,
+ void *data)
+{
+ /*
+ * Return 1 as soon as we encounter a node at depth 1 that is
+ * not the /chosen node.
+ */
+ if (depth == 1 && (strcmp(uname, "chosen") != 0))
+ return 1;
+ return 0;
+}
+
/*
* __acpi_map_table() will be called before page_init(), so early_ioremap()
* or early_memremap() should be called here to for ACPI table mapping.
@@ -59,10 +93,20 @@ void __init __acpi_unmap_table(char *map, unsigned long size)
*/
void __init acpi_boot_table_init(void)
{
- /* If acpi_disabled, bail out */
- if (acpi_disabled)
+ /*
+ * Enable ACPI instead of device tree unless
+ * - ACPI has been disabled explicitly (acpi=off), or
+ * - the device tree is not empty (it has more than just a /chosen node)
+ * and ACPI has not been force enabled (acpi=force)
+ */
+ if (param_acpi_off ||
+ (!param_acpi_force && of_scan_flat_dt(dt_scan_depth1_nodes, NULL)))
return;
+ acpi_disabled = 0;
+ acpi_pci_disabled = 0;
+ acpi_noirq = 0;
+
/* Initialize the ACPI boot-time table parser. */
if (acpi_table_init())
disable_acpi();
--
1.8.3.2
The leg-kernel release has been made and tagged as leg-20150216.0
This is based on mainline kernel v3.19
Repository : http://git.linaro.org/leg/acpi/leg-kernel.git
Direct Link:
https://git.linaro.org/leg/acpi/leg-kernel.git/commit/2eaf1f1ee1d722cacf15f…
Notes :-
1) This release only supports Juno/FVP until updated topics for Seattle
and Mustang are available.
2) This release incorporates the SBSA UART support for pl011 driver from
Andre Przywara. This means that your console will become ttyAMA0
(console=ttyAMA0) on Juno/FVP. It also means to run FVP model you need
these options :-
-C bp.pl011_uart0.untimed_fifos=0
-C bp.pl011_uart0.revision="r1p5"
On 02/02/2015 05:45 AM, Hanjun Guo wrote:
> From: Al Stone <al.stone at linaro.org>
>
> Two more documentation files are also being added:
> (1) A verbatim copy of the "Why ACPI on ARM?" blog posting by Grant
Likely,
> which is also summarized in arm-acpi.txt, and
>
> (2) A section by section review of the ACPI spec (acpi_object_usage.txt)
> to note recommendations and prohibitions on the use of the numerous
> ACPI tables and objects. This sets out the current expectations of
> the firmware by Linux very explicitly (or as explicitly as I can, for
> now).
>
[snip....]
> +ERST Section 18.5 (signature == "ERST")
> + == Error Record Serialization Table ==
> + Must be supplied if RAS support is provided by the platform. It
> + is recommended this table be supplied.
The above text related to ERST table could lead to misunderstanding.
Following is what the ACPI spec (section 18.5) says:
"The error record serialization feature is used to save and retrieve
hardware error information to and from a persistent store. OSPM interacts
with the platform through a platform interface. On UEFI-based platforms, the
UEFI runtime variable services can be used to carry out error record
persistence operations. On non-UEFI based platforms, the ACPI solution
described below is used."
When RAS support is provided by the platform, ERST table may not be supplied
when it is UEFI-based and when UEFI run time service provides the ability to
save and retrieve hardware error information to and from a persistent store
(UEFI spec section 7.2.3). Therefore, following text might be more accurate:
" On a platform supports RAS, this table must be supplied if it is not
UEFI-based; if it is UEFI-based, this table may be supplied, consult your
firmware vendor if you are not sure. When this table is not present, UEFI
run time service will be utilized to save and retrieve hardware error
information to and from a persistent store."
====
Jonathan (Zhixiong) Zhang
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a
Linux Foundation Collaborative Project.
This patch series introduce ACPI support for non-PCI AHCI platform driver.
Existing ACPI support for AHCI assumes the device controller is a PCI device.
Also, since there is no ACPI _HID/_CID for generic AHCI controller, the driver
could not use them for matching devices. Therefore, this patch introduces
a mechanism for drivers to match devices using ACPI _CLS method.
This patch series is rebased from and tested with:
http://git.linaro.org/leg/acpi/acpi.git acpi-5.1-v8
This topic was discussed earlier here (as part of introducing support for
AMD Seattle SATA controller):
http://marc.info/?l=linux-arm-kernel&m=141083492521584&w=2
Changes from V2 (https://lkml.org/lkml/2015/1/5/662)
* Update with review comment from Rafael in patch 1/2
* Rebased and tested with acpi-5.1-v8
Changes from V1 (https://lkml.org/lkml/2014/12/19/345)
* Rebased to 3.19.0-rc2
* Change from acpi_cls in device_driver to acpi_match_cls (Hanjun comment)
* Change the matching logic in acpi_driver_match_device() due to the new
special PRP0001 _HID.
* Simplify the return type of acpi_match_device_cls() to boolean.
Changes from RFC (https://lkml.org/lkml/2014/12/17/446)
* Remove #ifdef and make non-ACPI version of the acpi_match_device_cls
as inline. (per Arnd)
* Simplify logic to retrieve and evaluate _CLS handle. (per Hanjun)
Suravee Suthikulpanit (2):
ACPI / scan: Add support for ACPI _CLS device matching
ata: ahci_platform: Add ACPI _CLS matching
drivers/acpi/scan.c | 75 +++++++++++++++++++++++++++++++++++++++--
drivers/ata/Kconfig | 2 +-
drivers/ata/ahci_platform.c | 3 ++
include/acpi/acnames.h | 1 +
include/linux/acpi.h | 10 ++++++
include/linux/device.h | 1 +
include/linux/mod_devicetable.h | 6 ++++
7 files changed, 94 insertions(+), 4 deletions(-)
--
2.1.0
This patch series introduce ACPI support for non-PCI AHCI platform driver.
Existing ACPI support for AHCI assumes the device controller is a PCI device.
Also, since there is no ACPI _HID/_CID for generic AHCI controller, the driver
could not use them for matching devices. Therefore, this patch introduces
a mechanism for drivers to match devices using ACPI _CLS method.
This patch series is rebased from and tested with:
http://git.linaro.org/leg/acpi/acpi.git acpi-5.1-v7
This topic was discussed earlier here (as part of introducing support for
AMD Seattle SATA controller):
http://marc.info/?l=linux-arm-kernel&m=141083492521584&w=2
NOTE:
* PATCH 2/2 has already been Acked-by Tejun Heo in V1. I only made
a minor renaming of the acpi_cls to acpi_match_cls for clarity
in V2. It probably should be routed together with the PATCH 1/2
(once acked) since it defines the new member in the struct.
Changes V1 (https://lkml.org/lkml/2014/12/19/345)
* Rebased to 3.19.0-rc2
* Change from acpi_cls in device_driver to acpi_match_cls (Hanjun comment)
* Change the matching logic in acpi_driver_match_device() due to the new
special PRP0001 _HID.
* Simplify the return type of acpi_match_device_cls() to boolean.
Changes from RFC (https://lkml.org/lkml/2014/12/17/446)
* Remove #ifdef and make non-ACPI version of the acpi_match_device_cls
as inline. (per Arnd)
* Simplify logic to retrieve and evaluate _CLS handle. (per Hanjun)
Suravee Suthikulpanit (2):
ACPI / scan: Add support for ACPI _CLS device matching
ata: ahci_platform: Add ACPI _CLS matching
drivers/acpi/scan.c | 79 +++++++++++++++++++++++++++++++++++++++--
drivers/ata/Kconfig | 2 +-
drivers/ata/ahci_platform.c | 3 ++
include/acpi/acnames.h | 1 +
include/linux/acpi.h | 10 ++++++
include/linux/device.h | 1 +
include/linux/mod_devicetable.h | 6 ++++
7 files changed, 98 insertions(+), 4 deletions(-)
--
1.9.3
There is no reason this file cannot be an arm64 specific stub holder so
move the file and change the Kconfig to match.
Signed-off-by: Graeme Gregory <graeme.gregory(a)linaro.org>
---
arch/arm64/kernel/Makefile | 2 +-
arch/arm64/kernel/acpi_sleep.c | 28 ++++++++++++++++++++++++++++
drivers/acpi/Makefile | 4 +---
drivers/acpi/sleep_arm.c | 28 ----------------------------
4 files changed, 30 insertions(+), 32 deletions(-)
create mode 100644 arch/arm64/kernel/acpi_sleep.c
delete mode 100644 drivers/acpi/sleep_arm.c
diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile
index 8bdc6bd..f2c488b 100644
--- a/arch/arm64/kernel/Makefile
+++ b/arch/arm64/kernel/Makefile
@@ -34,7 +34,7 @@ arm64-obj-$(CONFIG_KGDB) += kgdb.o
arm64-obj-$(CONFIG_EFI) += efi.o efi-stub.o efi-entry.o
arm64-obj-$(CONFIG_PCI) += pci.o
arm64-obj-$(CONFIG_ARMV8_DEPRECATED) += armv8_deprecated.o
-arm64-obj-$(CONFIG_ACPI) += acpi.o
+arm64-obj-$(CONFIG_ACPI) += acpi.o acpi_sleep.o
obj-y += $(arm64-obj-y) vdso/
obj-m += $(arm64-obj-m)
diff --git a/arch/arm64/kernel/acpi_sleep.c b/arch/arm64/kernel/acpi_sleep.c
new file mode 100644
index 0000000..54578ef
--- /dev/null
+++ b/arch/arm64/kernel/acpi_sleep.c
@@ -0,0 +1,28 @@
+/*
+ * ARM64 Specific Sleep Functionality
+ *
+ * Copyright (C) 2013-2014, Linaro Ltd.
+ * Author: Graeme Gregory <graeme.gregory(a)linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <linux/acpi.h>
+
+/*
+ * Currently the ACPI 5.1 standard does not define S states in a
+ * manner which is usable for ARM64. These two stubs are sufficient
+ * that system initialises and device PM works.
+ */
+u32 acpi_target_system_state(void)
+{
+ return ACPI_STATE_S0;
+}
+EXPORT_SYMBOL_GPL(acpi_target_system_state);
+
+int __init acpi_sleep_init(void)
+{
+ return -ENOSYS;
+}
diff --git a/drivers/acpi/Makefile b/drivers/acpi/Makefile
index bcec54e..753785d 100644
--- a/drivers/acpi/Makefile
+++ b/drivers/acpi/Makefile
@@ -23,9 +23,7 @@ acpi-y += nvs.o
# Power management related files
acpi-y += wakeup.o
-ifeq ($(ARCH), arm64)
-acpi-y += sleep_arm.o
-else # X86, IA64
+ifneq (,$(findstring $(ARCH),x86 ia64))
acpi-y += sleep.o
endif
acpi-y += device_pm.o
diff --git a/drivers/acpi/sleep_arm.c b/drivers/acpi/sleep_arm.c
deleted file mode 100644
index 54578ef..0000000
--- a/drivers/acpi/sleep_arm.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * ARM64 Specific Sleep Functionality
- *
- * Copyright (C) 2013-2014, Linaro Ltd.
- * Author: Graeme Gregory <graeme.gregory(a)linaro.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#include <linux/acpi.h>
-
-/*
- * Currently the ACPI 5.1 standard does not define S states in a
- * manner which is usable for ARM64. These two stubs are sufficient
- * that system initialises and device PM works.
- */
-u32 acpi_target_system_state(void)
-{
- return ACPI_STATE_S0;
-}
-EXPORT_SYMBOL_GPL(acpi_target_system_state);
-
-int __init acpi_sleep_init(void)
-{
- return -ENOSYS;
-}
--
2.1.4
From: Al Stone <al.stone(a)linaro.org>
The use of the ACPI _OSI method in Linux has a long and sordid history.
Instead of perpetuating past complications on new architectures, the
consensus amongst those writing the ACPI specification and those using
it seems to be to ultimately deprecate the use of _OSI. A change request
has been submitted (but not yet decided upon) to modify the ACPI specification
accordingly.
In the meantime, these patches rearrange the implementation of _OSI so
that it can be deprecated, or ultimately removed completely, on at least
arm64 platforms. This is done by separating out the _OSI implementation
and moving it into a new file. For x86 and ia64, there is no change in
functionality. But, this allows us to provide a separate implementation
of _OSI for arm64 that generates a warning that it has been deprecated,
and always returns false; i.e., that the capability being queried for,
whether OS name or functionality, is not supported. This is the first
four of the patches.
The final patch changes the default value for the _OS_ method for arm64
only. Since there is no need to pretend to be older versions of Windows,
or any other OS at all, the _OS_ method will return "Linux" on arm64.
One can still use the acpi_os_name kernel parameter if there is a need
to use some other value.
The first three patches do not depend on arm64 support for ACPI and could
be used independently. The last two patches make much more sense when used
in conjunction with Hanjun's patches for ACPI 5.1 on arm64 [0].
These have been through some simple testing on two different x86 laptops,
and all seems well (Lenovo t440s and t430s ThinkPads). The arm64 code has
been tested on an AMD Seattle system. Unfortunately, for ia64, all I could
do was cross-compile the code; I have no access to hardware to test on.
NB: the first two patches do not pass checkpatch.pl; since this is existing
code being moved, I have not repaired the reported errors for now, but will
do so once the disposition of these patches have been resolved.
Changes in v2:
-- significant simplification based on Rafael's comments
-- ACPI spec change request has now been submitted
[0] https://lkml.org/lkml/2015/2/2/261
Al Stone (4):
ACPI: move acpi_os_handler() so it can be made arch-dependent later
ACPI: move _OSI support functions to allow arch-dependent
implementation
ACPI: add arch-specific compilation for _OSI and the blacklist
ACPI: arm64: use the arch-specific ACPI _OSI method and ACPI blacklist
Hanjun Guo (1):
ACPI: arm64: use "Linux" as ACPI_OS_NAME for _OS on arm64
arch/arm64/Kconfig | 7 ++
drivers/acpi/Kconfig | 22 ++++
drivers/acpi/Makefile | 17 +++
drivers/acpi/blacklist-arm.c | 20 ++++
drivers/acpi/blacklist.c | 9 ++
drivers/acpi/osi-arm.c | 25 ++++
drivers/acpi/osi.c | 255 ++++++++++++++++++++++++++++++++++++++++
drivers/acpi/osl.c | 217 ----------------------------------
include/acpi/acconfig.h | 2 +
include/acpi/platform/aclinux.h | 4 +
include/linux/acpi.h | 4 +-
11 files changed, 362 insertions(+), 220 deletions(-)
create mode 100644 drivers/acpi/blacklist-arm.c
create mode 100644 drivers/acpi/osi-arm.c
create mode 100644 drivers/acpi/osi.c
--
2.1.0