Commit 77389e12 authored by Bob Moore's avatar Bob Moore Committed by Len Brown

ACPICA: re-factor table init routines for benefit of iASL

Required new table init interface since iASL does not use RSDP/XSDT.
Signed-off-by: default avatarAlexey Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 694b0b20
...@@ -52,6 +52,29 @@ ACPI_MODULE_NAME("tbxface") ...@@ -52,6 +52,29 @@ ACPI_MODULE_NAME("tbxface")
/* Local prototypes */ /* Local prototypes */
static acpi_status acpi_tb_load_namespace(void); static acpi_status acpi_tb_load_namespace(void);
/*******************************************************************************
*
* FUNCTION: acpi_allocate_root_table
*
* PARAMETERS: initial_table_count - Size of initial_table_array, in number of
* struct acpi_table_desc structures
*
* RETURN: Status
*
* DESCRIPTION: Allocate a root table array. Used by i_aSL compiler and
* acpi_initialize_tables.
*
******************************************************************************/
acpi_status acpi_allocate_root_table(u32 initial_table_count)
{
acpi_gbl_root_table_list.size = initial_table_count;
acpi_gbl_root_table_list.flags = ACPI_ROOT_ALLOW_RESIZE;
return (acpi_tb_resize_root_table_list());
}
/******************************************************************************* /*******************************************************************************
* *
* FUNCTION: acpi_initialize_tables * FUNCTION: acpi_initialize_tables
...@@ -79,7 +102,7 @@ static acpi_status acpi_tb_load_namespace(void); ...@@ -79,7 +102,7 @@ static acpi_status acpi_tb_load_namespace(void);
******************************************************************************/ ******************************************************************************/
acpi_status __init acpi_status __init
acpi_initialize_tables(struct acpi_table_desc *initial_table_array, acpi_initialize_tables(struct acpi_table_desc * initial_table_array,
u32 initial_table_count, u8 allow_resize) u32 initial_table_count, u8 allow_resize)
{ {
acpi_physical_address rsdp_address; acpi_physical_address rsdp_address;
...@@ -92,10 +115,7 @@ acpi_initialize_tables(struct acpi_table_desc *initial_table_array, ...@@ -92,10 +115,7 @@ acpi_initialize_tables(struct acpi_table_desc *initial_table_array,
* Allocate the table array if requested * Allocate the table array if requested
*/ */
if (!initial_table_array) { if (!initial_table_array) {
acpi_gbl_root_table_list.size = initial_table_count; status = acpi_allocate_root_table(initial_table_count);
acpi_gbl_root_table_list.flags = ACPI_ROOT_ALLOW_RESIZE;
status = acpi_tb_resize_root_table_list();
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
return_ACPI_STATUS(status); return_ACPI_STATUS(status);
} }
......
...@@ -44,6 +44,8 @@ ...@@ -44,6 +44,8 @@
#ifndef __ACTABLES_H__ #ifndef __ACTABLES_H__
#define __ACTABLES_H__ #define __ACTABLES_H__
acpi_status acpi_allocate_root_table(u32 initial_table_count);
/* /*
* tbfadt - FADT parse/convert/validate * tbfadt - FADT parse/convert/validate
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment