ACPI: Enable build of AML interpreter debugger
authorLv Zheng <lv.zheng@intel.com>
Mon, 19 Oct 2015 02:25:56 +0000 (10:25 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 22 Oct 2015 00:05:05 +0000 (02:05 +0200)
commit4d946f7970e51d80f8358e0a619dfb17d89e0920
tree5cb76afe44ec6c420e53f793a4910d4d14cd1d2e
parentf988f24ee7931d3487b36cc0c29164296bf2191e
ACPI: Enable build of AML interpreter debugger

This patch enables ACPICA debugger files using a configurable
CONFIG_ACPI_DEBUGGER configuration item. Those debugger related code that
was originally masked as ACPI_FUTURE_USAGE now gets unmasked.

Necessary OSL stubs are also added in this patch:
1. acpi_os_readable(): This should be arch specific in Linux, while this
    patch doesn't introduce real implementation and a complex mechanism to
    allow architecture specific acpi_os_readable() to be implemented to
    validate the address. It may be done by future commits.
2. acpi_os_get_line(): This is used to obtain debugger command input. This
    patch only introduces a simple KDB concept example in it and the
    example should be co-working with the code implemented in
    acpi_os_printf(). Since this KDB example won't be compiled unless
    ENABLE_DEBUGGER is defined and it seems Linux has already stopped to
    use ENABLE_DEBUGGER, thus do not expect it can work properly.

This patch also cleans up all other ACPI_FUTURE_USAGE surroundings
accordingly.
1. Since linkage error can be automatically detected, declaration in the
   headers needn't be surrounded by ACPI_FUTURE_USAGE.
   So only the following separate exported fuction bodies are masked by
   this macro (other exported fucntions may have already been masked at
   entire module level via drivers/acpi/acpica/Makefile):
     acpi_install_exception_handler()
     acpi_subsystem_status()
     acpi_get_system_info()
     acpi_get_statistics()
     acpi_install_initialization_handler()
2. Since strip can automatically zap the no-user functions, functions that
   are not marked with ACPI_EXPORT_SYMBOL() needn't get surrounded by
   ACPI_FUTURE_USAGE.
   So the following function which is not used by Linux kernel now won't
   get surrounded by this macro:
     acpi_ps_get_name()

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
17 files changed:
drivers/acpi/Kconfig
drivers/acpi/acpica/Makefile
drivers/acpi/acpica/acinterp.h
drivers/acpi/acpica/acnamesp.h
drivers/acpi/acpica/acparser.h
drivers/acpi/acpica/acutils.h
drivers/acpi/acpica/evxface.c
drivers/acpi/acpica/nsdump.c
drivers/acpi/acpica/pstree.c
drivers/acpi/acpica/psutils.c
drivers/acpi/acpica/rsutils.c
drivers/acpi/acpica/rsxface.c
drivers/acpi/acpica/utxface.c
drivers/acpi/osl.c
include/acpi/acpixf.h
include/acpi/platform/aclinux.h
include/acpi/platform/aclinuxex.h