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: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
694b0b2092
commit
77389e1263
2 changed files with 27 additions and 5 deletions
|
@ -52,6 +52,29 @@ ACPI_MODULE_NAME("tbxface")
|
|||
/* Local prototypes */
|
||||
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
|
||||
|
@ -79,7 +102,7 @@ static acpi_status acpi_tb_load_namespace(void);
|
|||
******************************************************************************/
|
||||
|
||||
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)
|
||||
{
|
||||
acpi_physical_address rsdp_address;
|
||||
|
@ -92,10 +115,7 @@ acpi_initialize_tables(struct acpi_table_desc *initial_table_array,
|
|||
* Allocate the table array if requested
|
||||
*/
|
||||
if (!initial_table_array) {
|
||||
acpi_gbl_root_table_list.size = initial_table_count;
|
||||
acpi_gbl_root_table_list.flags = ACPI_ROOT_ALLOW_RESIZE;
|
||||
|
||||
status = acpi_tb_resize_root_table_list();
|
||||
status = acpi_allocate_root_table(initial_table_count);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
return_ACPI_STATUS(status);
|
||||
}
|
||||
|
|
|
@ -44,6 +44,8 @@
|
|||
#ifndef __ACTABLES_H__
|
||||
#define __ACTABLES_H__
|
||||
|
||||
acpi_status acpi_allocate_root_table(u32 initial_table_count);
|
||||
|
||||
/*
|
||||
* tbfadt - FADT parse/convert/validate
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue