xref: /openbmc/linux/drivers/acpi/acpica/rsinfo.c (revision a2befbb2c3fbeccf4a04e9f0179cc28d5f5c1682)
195857638SErik Schmauss // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
295b482a8SLen Brown /*******************************************************************************
395b482a8SLen Brown  *
495b482a8SLen Brown  * Module Name: rsinfo - Dispatch and Info tables
595b482a8SLen Brown  *
695b482a8SLen Brown  ******************************************************************************/
795b482a8SLen Brown 
895b482a8SLen Brown #include <acpi/acpi.h>
9e2f7a777SLen Brown #include "accommon.h"
10e2f7a777SLen Brown #include "acresrc.h"
1195b482a8SLen Brown 
1295b482a8SLen Brown #define _COMPONENT          ACPI_RESOURCES
1395b482a8SLen Brown ACPI_MODULE_NAME("rsinfo")
1495b482a8SLen Brown 
1595b482a8SLen Brown /*
1695b482a8SLen Brown  * Resource dispatch and information tables. Any new resource types (either
1795b482a8SLen Brown  * Large or Small) must be reflected in each of these tables, so they are here
1895b482a8SLen Brown  * in one place.
1995b482a8SLen Brown  *
2095b482a8SLen Brown  * The tables for Large descriptors are indexed by bits 6:0 of the AML
2195b482a8SLen Brown  * descriptor type byte. The tables for Small descriptors are indexed by
2295b482a8SLen Brown  * bits 6:3 of the descriptor byte. The tables for internal resource
2395b482a8SLen Brown  * descriptors are indexed by the acpi_resource_type field.
2495b482a8SLen Brown  */
2595b482a8SLen Brown /* Dispatch table for resource-to-AML (Set Resource) conversion functions */
2695b482a8SLen Brown struct acpi_rsconvert_info *acpi_gbl_set_resource_dispatch[] = {
2795b482a8SLen Brown 	acpi_rs_set_irq,	/* 0x00, ACPI_RESOURCE_TYPE_IRQ */
2895b482a8SLen Brown 	acpi_rs_convert_dma,	/* 0x01, ACPI_RESOURCE_TYPE_DMA */
2995b482a8SLen Brown 	acpi_rs_set_start_dpf,	/* 0x02, ACPI_RESOURCE_TYPE_START_DEPENDENT */
3095b482a8SLen Brown 	acpi_rs_convert_end_dpf,	/* 0x03, ACPI_RESOURCE_TYPE_END_DEPENDENT */
3195b482a8SLen Brown 	acpi_rs_convert_io,	/* 0x04, ACPI_RESOURCE_TYPE_IO */
3295b482a8SLen Brown 	acpi_rs_convert_fixed_io,	/* 0x05, ACPI_RESOURCE_TYPE_FIXED_IO */
3395b482a8SLen Brown 	acpi_rs_set_vendor,	/* 0x06, ACPI_RESOURCE_TYPE_VENDOR */
3495b482a8SLen Brown 	acpi_rs_convert_end_tag,	/* 0x07, ACPI_RESOURCE_TYPE_END_TAG */
3595b482a8SLen Brown 	acpi_rs_convert_memory24,	/* 0x08, ACPI_RESOURCE_TYPE_MEMORY24 */
3695b482a8SLen Brown 	acpi_rs_convert_memory32,	/* 0x09, ACPI_RESOURCE_TYPE_MEMORY32 */
3795b482a8SLen Brown 	acpi_rs_convert_fixed_memory32,	/* 0x0A, ACPI_RESOURCE_TYPE_FIXED_MEMORY32 */
3895b482a8SLen Brown 	acpi_rs_convert_address16,	/* 0x0B, ACPI_RESOURCE_TYPE_ADDRESS16 */
3995b482a8SLen Brown 	acpi_rs_convert_address32,	/* 0x0C, ACPI_RESOURCE_TYPE_ADDRESS32 */
4095b482a8SLen Brown 	acpi_rs_convert_address64,	/* 0x0D, ACPI_RESOURCE_TYPE_ADDRESS64 */
4195b482a8SLen Brown 	acpi_rs_convert_ext_address64,	/* 0x0E, ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64 */
4295b482a8SLen Brown 	acpi_rs_convert_ext_irq,	/* 0x0F, ACPI_RESOURCE_TYPE_EXTENDED_IRQ */
43e0fe0a8dSLin Ming 	acpi_rs_convert_generic_reg,	/* 0x10, ACPI_RESOURCE_TYPE_GENERIC_REGISTER */
44e0fe0a8dSLin Ming 	acpi_rs_convert_gpio,	/* 0x11, ACPI_RESOURCE_TYPE_GPIO */
45e0fe0a8dSLin Ming 	acpi_rs_convert_fixed_dma,	/* 0x12, ACPI_RESOURCE_TYPE_FIXED_DMA */
46e0fe0a8dSLin Ming 	NULL,			/* 0x13, ACPI_RESOURCE_TYPE_SERIAL_BUS - Use subtype table below */
472b726930SMika Westerberg 	acpi_rs_convert_pin_function,	/* 0x14, ACPI_RESOURCE_TYPE_PIN_FUNCTION */
4897028ce6SMika Westerberg 	acpi_rs_convert_pin_config,	/* 0x15, ACPI_RESOURCE_TYPE_PIN_CONFIG */
49fdaa0980SMika Westerberg 	acpi_rs_convert_pin_group,	/* 0x16, ACPI_RESOURCE_TYPE_PIN_GROUP */
50f8a6c866SMika Westerberg 	acpi_rs_convert_pin_group_function,	/* 0x17, ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */
51044b7239SMika Westerberg 	acpi_rs_convert_pin_group_config,	/* 0x18, ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */
5295b482a8SLen Brown };
5395b482a8SLen Brown 
5495b482a8SLen Brown /* Dispatch tables for AML-to-resource (Get Resource) conversion functions */
5595b482a8SLen Brown 
5695b482a8SLen Brown struct acpi_rsconvert_info *acpi_gbl_get_resource_dispatch[] = {
5795b482a8SLen Brown 	/* Small descriptors */
5895b482a8SLen Brown 
5995b482a8SLen Brown 	NULL,			/* 0x00, Reserved */
6095b482a8SLen Brown 	NULL,			/* 0x01, Reserved */
6195b482a8SLen Brown 	NULL,			/* 0x02, Reserved */
6295b482a8SLen Brown 	NULL,			/* 0x03, Reserved */
6395b482a8SLen Brown 	acpi_rs_get_irq,	/* 0x04, ACPI_RESOURCE_NAME_IRQ */
6495b482a8SLen Brown 	acpi_rs_convert_dma,	/* 0x05, ACPI_RESOURCE_NAME_DMA */
6595b482a8SLen Brown 	acpi_rs_get_start_dpf,	/* 0x06, ACPI_RESOURCE_NAME_START_DEPENDENT */
6695b482a8SLen Brown 	acpi_rs_convert_end_dpf,	/* 0x07, ACPI_RESOURCE_NAME_END_DEPENDENT */
6795b482a8SLen Brown 	acpi_rs_convert_io,	/* 0x08, ACPI_RESOURCE_NAME_IO */
6895b482a8SLen Brown 	acpi_rs_convert_fixed_io,	/* 0x09, ACPI_RESOURCE_NAME_FIXED_IO */
69e0fe0a8dSLin Ming 	acpi_rs_convert_fixed_dma,	/* 0x0A, ACPI_RESOURCE_NAME_FIXED_DMA */
7095b482a8SLen Brown 	NULL,			/* 0x0B, Reserved */
7195b482a8SLen Brown 	NULL,			/* 0x0C, Reserved */
7295b482a8SLen Brown 	NULL,			/* 0x0D, Reserved */
7395b482a8SLen Brown 	acpi_rs_get_vendor_small,	/* 0x0E, ACPI_RESOURCE_NAME_VENDOR_SMALL */
7495b482a8SLen Brown 	acpi_rs_convert_end_tag,	/* 0x0F, ACPI_RESOURCE_NAME_END_TAG */
7595b482a8SLen Brown 
7695b482a8SLen Brown 	/* Large descriptors */
7795b482a8SLen Brown 
7895b482a8SLen Brown 	NULL,			/* 0x00, Reserved */
7995b482a8SLen Brown 	acpi_rs_convert_memory24,	/* 0x01, ACPI_RESOURCE_NAME_MEMORY24 */
8095b482a8SLen Brown 	acpi_rs_convert_generic_reg,	/* 0x02, ACPI_RESOURCE_NAME_GENERIC_REGISTER */
8195b482a8SLen Brown 	NULL,			/* 0x03, Reserved */
8295b482a8SLen Brown 	acpi_rs_get_vendor_large,	/* 0x04, ACPI_RESOURCE_NAME_VENDOR_LARGE */
8395b482a8SLen Brown 	acpi_rs_convert_memory32,	/* 0x05, ACPI_RESOURCE_NAME_MEMORY32 */
8495b482a8SLen Brown 	acpi_rs_convert_fixed_memory32,	/* 0x06, ACPI_RESOURCE_NAME_FIXED_MEMORY32 */
8595b482a8SLen Brown 	acpi_rs_convert_address32,	/* 0x07, ACPI_RESOURCE_NAME_ADDRESS32 */
8695b482a8SLen Brown 	acpi_rs_convert_address16,	/* 0x08, ACPI_RESOURCE_NAME_ADDRESS16 */
8795b482a8SLen Brown 	acpi_rs_convert_ext_irq,	/* 0x09, ACPI_RESOURCE_NAME_EXTENDED_IRQ */
8895b482a8SLen Brown 	acpi_rs_convert_address64,	/* 0x0A, ACPI_RESOURCE_NAME_ADDRESS64 */
89e0fe0a8dSLin Ming 	acpi_rs_convert_ext_address64,	/* 0x0B, ACPI_RESOURCE_NAME_EXTENDED_ADDRESS64 */
90e0fe0a8dSLin Ming 	acpi_rs_convert_gpio,	/* 0x0C, ACPI_RESOURCE_NAME_GPIO */
912b726930SMika Westerberg 	acpi_rs_convert_pin_function,	/* 0x0D, ACPI_RESOURCE_NAME_PIN_FUNCTION */
92e0fe0a8dSLin Ming 	NULL,			/* 0x0E, ACPI_RESOURCE_NAME_SERIAL_BUS - Use subtype table below */
9397028ce6SMika Westerberg 	acpi_rs_convert_pin_config,	/* 0x0F, ACPI_RESOURCE_NAME_PIN_CONFIG */
94fdaa0980SMika Westerberg 	acpi_rs_convert_pin_group,	/* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */
95f8a6c866SMika Westerberg 	acpi_rs_convert_pin_group_function,	/* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */
96044b7239SMika Westerberg 	acpi_rs_convert_pin_group_config,	/* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG */
97e0fe0a8dSLin Ming };
98e0fe0a8dSLin Ming 
99*a2befbb2SBob Moore /* Subtype table for serial_bus -- I2C, SPI, UART, and CSI2 */
100e0fe0a8dSLin Ming 
101e0fe0a8dSLin Ming struct acpi_rsconvert_info *acpi_gbl_convert_resource_serial_bus_dispatch[] = {
102e0fe0a8dSLin Ming 	NULL,
103e0fe0a8dSLin Ming 	acpi_rs_convert_i2c_serial_bus,
104e0fe0a8dSLin Ming 	acpi_rs_convert_spi_serial_bus,
105e0fe0a8dSLin Ming 	acpi_rs_convert_uart_serial_bus,
106*a2befbb2SBob Moore 	acpi_rs_convert_csi2_serial_bus
10795b482a8SLen Brown };
10895b482a8SLen Brown 
1093334861bSLv Zheng #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DISASSEMBLER) || defined(ACPI_DEBUGGER)
11095b482a8SLen Brown 
11195b482a8SLen Brown /* Dispatch table for resource dump functions */
11295b482a8SLen Brown 
11395b482a8SLen Brown struct acpi_rsdump_info *acpi_gbl_dump_resource_dispatch[] = {
11495b482a8SLen Brown 	acpi_rs_dump_irq,	/* ACPI_RESOURCE_TYPE_IRQ */
11595b482a8SLen Brown 	acpi_rs_dump_dma,	/* ACPI_RESOURCE_TYPE_DMA */
11695b482a8SLen Brown 	acpi_rs_dump_start_dpf,	/* ACPI_RESOURCE_TYPE_START_DEPENDENT */
11795b482a8SLen Brown 	acpi_rs_dump_end_dpf,	/* ACPI_RESOURCE_TYPE_END_DEPENDENT */
11895b482a8SLen Brown 	acpi_rs_dump_io,	/* ACPI_RESOURCE_TYPE_IO */
11995b482a8SLen Brown 	acpi_rs_dump_fixed_io,	/* ACPI_RESOURCE_TYPE_FIXED_IO */
12095b482a8SLen Brown 	acpi_rs_dump_vendor,	/* ACPI_RESOURCE_TYPE_VENDOR */
12195b482a8SLen Brown 	acpi_rs_dump_end_tag,	/* ACPI_RESOURCE_TYPE_END_TAG */
12295b482a8SLen Brown 	acpi_rs_dump_memory24,	/* ACPI_RESOURCE_TYPE_MEMORY24 */
12395b482a8SLen Brown 	acpi_rs_dump_memory32,	/* ACPI_RESOURCE_TYPE_MEMORY32 */
12495b482a8SLen Brown 	acpi_rs_dump_fixed_memory32,	/* ACPI_RESOURCE_TYPE_FIXED_MEMORY32 */
12595b482a8SLen Brown 	acpi_rs_dump_address16,	/* ACPI_RESOURCE_TYPE_ADDRESS16 */
12695b482a8SLen Brown 	acpi_rs_dump_address32,	/* ACPI_RESOURCE_TYPE_ADDRESS32 */
12795b482a8SLen Brown 	acpi_rs_dump_address64,	/* ACPI_RESOURCE_TYPE_ADDRESS64 */
12895b482a8SLen Brown 	acpi_rs_dump_ext_address64,	/* ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64 */
12995b482a8SLen Brown 	acpi_rs_dump_ext_irq,	/* ACPI_RESOURCE_TYPE_EXTENDED_IRQ */
13095b482a8SLen Brown 	acpi_rs_dump_generic_reg,	/* ACPI_RESOURCE_TYPE_GENERIC_REGISTER */
131e0fe0a8dSLin Ming 	acpi_rs_dump_gpio,	/* ACPI_RESOURCE_TYPE_GPIO */
132e0fe0a8dSLin Ming 	acpi_rs_dump_fixed_dma,	/* ACPI_RESOURCE_TYPE_FIXED_DMA */
133e0fe0a8dSLin Ming 	NULL,			/* ACPI_RESOURCE_TYPE_SERIAL_BUS */
1342b726930SMika Westerberg 	acpi_rs_dump_pin_function,	/* ACPI_RESOURCE_TYPE_PIN_FUNCTION */
13597028ce6SMika Westerberg 	acpi_rs_dump_pin_config,	/* ACPI_RESOURCE_TYPE_PIN_CONFIG */
136fdaa0980SMika Westerberg 	acpi_rs_dump_pin_group,	/* ACPI_RESOURCE_TYPE_PIN_GROUP */
137f8a6c866SMika Westerberg 	acpi_rs_dump_pin_group_function,	/* ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */
138044b7239SMika Westerberg 	acpi_rs_dump_pin_group_config,	/* ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */
139e0fe0a8dSLin Ming };
140e0fe0a8dSLin Ming 
141e0fe0a8dSLin Ming struct acpi_rsdump_info *acpi_gbl_dump_serial_bus_dispatch[] = {
142e0fe0a8dSLin Ming 	NULL,
143e0fe0a8dSLin Ming 	acpi_rs_dump_i2c_serial_bus,	/* AML_RESOURCE_I2C_BUS_TYPE */
144e0fe0a8dSLin Ming 	acpi_rs_dump_spi_serial_bus,	/* AML_RESOURCE_SPI_BUS_TYPE */
145e0fe0a8dSLin Ming 	acpi_rs_dump_uart_serial_bus,	/* AML_RESOURCE_UART_BUS_TYPE */
146*a2befbb2SBob Moore 	acpi_rs_dump_csi2_serial_bus,	/* AML_RESOURCE_CSI2_BUS_TYPE */
14795b482a8SLen Brown };
14895b482a8SLen Brown #endif
14995b482a8SLen Brown 
15095b482a8SLen Brown /*
15195b482a8SLen Brown  * Base sizes for external AML resource descriptors, indexed by internal type.
15295b482a8SLen Brown  * Includes size of the descriptor header (1 byte for small descriptors,
15395b482a8SLen Brown  * 3 bytes for large descriptors)
15495b482a8SLen Brown  */
15595b482a8SLen Brown const u8 acpi_gbl_aml_resource_sizes[] = {
15695b482a8SLen Brown 	sizeof(struct aml_resource_irq),	/* ACPI_RESOURCE_TYPE_IRQ (optional Byte 3 always created) */
15795b482a8SLen Brown 	sizeof(struct aml_resource_dma),	/* ACPI_RESOURCE_TYPE_DMA */
15895b482a8SLen Brown 	sizeof(struct aml_resource_start_dependent),	/* ACPI_RESOURCE_TYPE_START_DEPENDENT (optional Byte 1 always created) */
15995b482a8SLen Brown 	sizeof(struct aml_resource_end_dependent),	/* ACPI_RESOURCE_TYPE_END_DEPENDENT */
16095b482a8SLen Brown 	sizeof(struct aml_resource_io),	/* ACPI_RESOURCE_TYPE_IO */
16195b482a8SLen Brown 	sizeof(struct aml_resource_fixed_io),	/* ACPI_RESOURCE_TYPE_FIXED_IO */
16295b482a8SLen Brown 	sizeof(struct aml_resource_vendor_small),	/* ACPI_RESOURCE_TYPE_VENDOR */
16395b482a8SLen Brown 	sizeof(struct aml_resource_end_tag),	/* ACPI_RESOURCE_TYPE_END_TAG */
16495b482a8SLen Brown 	sizeof(struct aml_resource_memory24),	/* ACPI_RESOURCE_TYPE_MEMORY24 */
16595b482a8SLen Brown 	sizeof(struct aml_resource_memory32),	/* ACPI_RESOURCE_TYPE_MEMORY32 */
16695b482a8SLen Brown 	sizeof(struct aml_resource_fixed_memory32),	/* ACPI_RESOURCE_TYPE_FIXED_MEMORY32 */
16795b482a8SLen Brown 	sizeof(struct aml_resource_address16),	/* ACPI_RESOURCE_TYPE_ADDRESS16 */
16895b482a8SLen Brown 	sizeof(struct aml_resource_address32),	/* ACPI_RESOURCE_TYPE_ADDRESS32 */
16995b482a8SLen Brown 	sizeof(struct aml_resource_address64),	/* ACPI_RESOURCE_TYPE_ADDRESS64 */
17095b482a8SLen Brown 	sizeof(struct aml_resource_extended_address64),	/*ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64 */
17195b482a8SLen Brown 	sizeof(struct aml_resource_extended_irq),	/* ACPI_RESOURCE_TYPE_EXTENDED_IRQ */
172e0fe0a8dSLin Ming 	sizeof(struct aml_resource_generic_register),	/* ACPI_RESOURCE_TYPE_GENERIC_REGISTER */
173e0fe0a8dSLin Ming 	sizeof(struct aml_resource_gpio),	/* ACPI_RESOURCE_TYPE_GPIO */
174e0fe0a8dSLin Ming 	sizeof(struct aml_resource_fixed_dma),	/* ACPI_RESOURCE_TYPE_FIXED_DMA */
175e0fe0a8dSLin Ming 	sizeof(struct aml_resource_common_serialbus),	/* ACPI_RESOURCE_TYPE_SERIAL_BUS */
1762b726930SMika Westerberg 	sizeof(struct aml_resource_pin_function),	/* ACPI_RESOURCE_TYPE_PIN_FUNCTION */
17797028ce6SMika Westerberg 	sizeof(struct aml_resource_pin_config),	/* ACPI_RESOURCE_TYPE_PIN_CONFIG */
178fdaa0980SMika Westerberg 	sizeof(struct aml_resource_pin_group),	/* ACPI_RESOURCE_TYPE_PIN_GROUP */
179f8a6c866SMika Westerberg 	sizeof(struct aml_resource_pin_group_function),	/* ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */
180044b7239SMika Westerberg 	sizeof(struct aml_resource_pin_group_config),	/* ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */
18195b482a8SLen Brown };
18295b482a8SLen Brown 
18395b482a8SLen Brown const u8 acpi_gbl_resource_struct_sizes[] = {
18495b482a8SLen Brown 	/* Small descriptors */
18595b482a8SLen Brown 
18695b482a8SLen Brown 	0,
18795b482a8SLen Brown 	0,
18895b482a8SLen Brown 	0,
18995b482a8SLen Brown 	0,
19095b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_irq),
19195b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_dma),
19295b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_start_dependent),
19395b482a8SLen Brown 	ACPI_RS_SIZE_MIN,
19495b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_io),
19595b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_fixed_io),
196e0fe0a8dSLin Ming 	ACPI_RS_SIZE(struct acpi_resource_fixed_dma),
19795b482a8SLen Brown 	0,
19895b482a8SLen Brown 	0,
19995b482a8SLen Brown 	0,
20095b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_vendor),
20195b482a8SLen Brown 	ACPI_RS_SIZE_MIN,
20295b482a8SLen Brown 
20395b482a8SLen Brown 	/* Large descriptors */
20495b482a8SLen Brown 
20595b482a8SLen Brown 	0,
20695b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_memory24),
20795b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_generic_register),
20895b482a8SLen Brown 	0,
20995b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_vendor),
21095b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_memory32),
21195b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_fixed_memory32),
21295b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_address32),
21395b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_address16),
21495b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_extended_irq),
21595b482a8SLen Brown 	ACPI_RS_SIZE(struct acpi_resource_address64),
216e0fe0a8dSLin Ming 	ACPI_RS_SIZE(struct acpi_resource_extended_address64),
217e0fe0a8dSLin Ming 	ACPI_RS_SIZE(struct acpi_resource_gpio),
2182b726930SMika Westerberg 	ACPI_RS_SIZE(struct acpi_resource_pin_function),
21997028ce6SMika Westerberg 	ACPI_RS_SIZE(struct acpi_resource_common_serialbus),
22097028ce6SMika Westerberg 	ACPI_RS_SIZE(struct acpi_resource_pin_config),
221fdaa0980SMika Westerberg 	ACPI_RS_SIZE(struct acpi_resource_pin_group),
222f8a6c866SMika Westerberg 	ACPI_RS_SIZE(struct acpi_resource_pin_group_function),
223044b7239SMika Westerberg 	ACPI_RS_SIZE(struct acpi_resource_pin_group_config),
224e0fe0a8dSLin Ming };
225e0fe0a8dSLin Ming 
226e0fe0a8dSLin Ming const u8 acpi_gbl_aml_resource_serial_bus_sizes[] = {
227e0fe0a8dSLin Ming 	0,
228e0fe0a8dSLin Ming 	sizeof(struct aml_resource_i2c_serialbus),
229e0fe0a8dSLin Ming 	sizeof(struct aml_resource_spi_serialbus),
230e0fe0a8dSLin Ming 	sizeof(struct aml_resource_uart_serialbus),
231*a2befbb2SBob Moore 	sizeof(struct aml_resource_csi2_serialbus),
232e0fe0a8dSLin Ming };
233e0fe0a8dSLin Ming 
234e0fe0a8dSLin Ming const u8 acpi_gbl_resource_struct_serial_bus_sizes[] = {
235e0fe0a8dSLin Ming 	0,
236e0fe0a8dSLin Ming 	ACPI_RS_SIZE(struct acpi_resource_i2c_serialbus),
237e0fe0a8dSLin Ming 	ACPI_RS_SIZE(struct acpi_resource_spi_serialbus),
238e0fe0a8dSLin Ming 	ACPI_RS_SIZE(struct acpi_resource_uart_serialbus),
239*a2befbb2SBob Moore 	ACPI_RS_SIZE(struct acpi_resource_csi2_serialbus),
24095b482a8SLen Brown };
241