diff options
author | Lv Zheng <lv.zheng@intel.com> | 2014-07-08 10:07:00 +0800 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-07-08 14:22:25 +0200 |
commit | 80a648c12e4bda45c4f1bb93d83184fb3010ac12 (patch) | |
tree | 8ecf2e0765862b97b6b9c8666aa11869e7ad4c5a /tools/power | |
parent | 7824f44ecfef4f05caaa8f9536c523b8d645f102 (diff) |
ACPICA: Utilities: Add formatted printing APIs
This patch introduces formatted printing APIs to handle ACPICA specific
formatted print requirements. Currently only specific OSPMs will use this
customized printing support, Linux kernel doesn't use these APIs at this
time. It will be enabled for Linux kernel resident ACPICA after being well
tested. So currently this patch is a no-op.
The specific formatted printing APIs are useful to ACPICA as:
1. Some portable applications do not link standard C library, so they
cannot use standard formatted print APIs directly.
2. Platform specific printing format may differ and thus not portable, for
example, u64 is %ull for Linux kernel and is %uI64 for some MSVC
versions.
3. Platform specific printing format may conflict with ACPICA's usages
while it is not possible for ACPICA developers to test their code for
all platforms. For example, developers may generate %pRxxx while Linux
kernel treats %pR as structured resource printing and decodes variable
argument as a "struct resource" pointer.
This patch solves above issues by introducing the new APIs.
Note that users of such APIs are not introduced in this patch. Users of
acpi_os_file_vprintf()/acpi_ut_file_printf() need to invoke acpi_os_initialize(),
this should be taken care by the further patches where such users are
introduced. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'tools/power')
-rw-r--r-- | tools/power/acpi/os_specific/service_layers/osunixxf.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/power/acpi/os_specific/service_layers/osunixxf.c b/tools/power/acpi/os_specific/service_layers/osunixxf.c index 0e6a8a6be44..60b58cd1841 100644 --- a/tools/power/acpi/os_specific/service_layers/osunixxf.c +++ b/tools/power/acpi/os_specific/service_layers/osunixxf.c @@ -182,10 +182,17 @@ static void os_exit_line_edit_mode(void) acpi_status acpi_os_initialize(void) { + acpi_status status; acpi_gbl_output_file = stdout; os_enter_line_edit_mode(); + + status = acpi_os_create_lock(&acpi_gbl_print_lock); + if (ACPI_FAILURE(status)) { + return (status); + } + return (AE_OK); } |