diff options
author | Lin Ming <ming.m.lin@intel.com> | 2011-11-16 01:38:13 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2012-01-17 03:36:30 -0500 |
commit | e0fe0a8d4ed5474261d0ee1452f5d9ae77236958 (patch) | |
tree | cec332ccaab7fa0dd03cbc87ea1212f7182c2309 /drivers/acpi/acpica/rsinfo.c | |
parent | 2da120b6847f85c406f9afa13853e2755684389e (diff) |
ACPI 5.0: Support for all new resource descriptors
FixedDMA, GPIO descriptors, SerialBus descriptors
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/acpica/rsinfo.c')
-rw-r--r-- | drivers/acpi/acpica/rsinfo.c | 56 |
1 files changed, 50 insertions, 6 deletions
diff --git a/drivers/acpi/acpica/rsinfo.c b/drivers/acpi/acpica/rsinfo.c index f9ea60872aa4..e5489bf475fa 100644 --- a/drivers/acpi/acpica/rsinfo.c +++ b/drivers/acpi/acpica/rsinfo.c | |||
@@ -76,7 +76,10 @@ struct acpi_rsconvert_info *acpi_gbl_set_resource_dispatch[] = { | |||
76 | acpi_rs_convert_address64, /* 0x0D, ACPI_RESOURCE_TYPE_ADDRESS64 */ | 76 | acpi_rs_convert_address64, /* 0x0D, ACPI_RESOURCE_TYPE_ADDRESS64 */ |
77 | acpi_rs_convert_ext_address64, /* 0x0E, ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64 */ | 77 | acpi_rs_convert_ext_address64, /* 0x0E, ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64 */ |
78 | acpi_rs_convert_ext_irq, /* 0x0F, ACPI_RESOURCE_TYPE_EXTENDED_IRQ */ | 78 | acpi_rs_convert_ext_irq, /* 0x0F, ACPI_RESOURCE_TYPE_EXTENDED_IRQ */ |
79 | acpi_rs_convert_generic_reg /* 0x10, ACPI_RESOURCE_TYPE_GENERIC_REGISTER */ | 79 | acpi_rs_convert_generic_reg, /* 0x10, ACPI_RESOURCE_TYPE_GENERIC_REGISTER */ |
80 | acpi_rs_convert_gpio, /* 0x11, ACPI_RESOURCE_TYPE_GPIO */ | ||
81 | acpi_rs_convert_fixed_dma, /* 0x12, ACPI_RESOURCE_TYPE_FIXED_DMA */ | ||
82 | NULL, /* 0x13, ACPI_RESOURCE_TYPE_SERIAL_BUS - Use subtype table below */ | ||
80 | }; | 83 | }; |
81 | 84 | ||
82 | /* Dispatch tables for AML-to-resource (Get Resource) conversion functions */ | 85 | /* Dispatch tables for AML-to-resource (Get Resource) conversion functions */ |
@@ -94,7 +97,7 @@ struct acpi_rsconvert_info *acpi_gbl_get_resource_dispatch[] = { | |||
94 | acpi_rs_convert_end_dpf, /* 0x07, ACPI_RESOURCE_NAME_END_DEPENDENT */ | 97 | acpi_rs_convert_end_dpf, /* 0x07, ACPI_RESOURCE_NAME_END_DEPENDENT */ |
95 | acpi_rs_convert_io, /* 0x08, ACPI_RESOURCE_NAME_IO */ | 98 | acpi_rs_convert_io, /* 0x08, ACPI_RESOURCE_NAME_IO */ |
96 | acpi_rs_convert_fixed_io, /* 0x09, ACPI_RESOURCE_NAME_FIXED_IO */ | 99 | acpi_rs_convert_fixed_io, /* 0x09, ACPI_RESOURCE_NAME_FIXED_IO */ |
97 | NULL, /* 0x0A, Reserved */ | 100 | acpi_rs_convert_fixed_dma, /* 0x0A, ACPI_RESOURCE_NAME_FIXED_DMA */ |
98 | NULL, /* 0x0B, Reserved */ | 101 | NULL, /* 0x0B, Reserved */ |
99 | NULL, /* 0x0C, Reserved */ | 102 | NULL, /* 0x0C, Reserved */ |
100 | NULL, /* 0x0D, Reserved */ | 103 | NULL, /* 0x0D, Reserved */ |
@@ -114,7 +117,19 @@ struct acpi_rsconvert_info *acpi_gbl_get_resource_dispatch[] = { | |||
114 | acpi_rs_convert_address16, /* 0x08, ACPI_RESOURCE_NAME_ADDRESS16 */ | 117 | acpi_rs_convert_address16, /* 0x08, ACPI_RESOURCE_NAME_ADDRESS16 */ |
115 | acpi_rs_convert_ext_irq, /* 0x09, ACPI_RESOURCE_NAME_EXTENDED_IRQ */ | 118 | acpi_rs_convert_ext_irq, /* 0x09, ACPI_RESOURCE_NAME_EXTENDED_IRQ */ |
116 | acpi_rs_convert_address64, /* 0x0A, ACPI_RESOURCE_NAME_ADDRESS64 */ | 119 | acpi_rs_convert_address64, /* 0x0A, ACPI_RESOURCE_NAME_ADDRESS64 */ |
117 | acpi_rs_convert_ext_address64 /* 0x0B, ACPI_RESOURCE_NAME_EXTENDED_ADDRESS64 */ | 120 | acpi_rs_convert_ext_address64, /* 0x0B, ACPI_RESOURCE_NAME_EXTENDED_ADDRESS64 */ |
121 | acpi_rs_convert_gpio, /* 0x0C, ACPI_RESOURCE_NAME_GPIO */ | ||
122 | NULL, /* 0x0D, Reserved */ | ||
123 | NULL, /* 0x0E, ACPI_RESOURCE_NAME_SERIAL_BUS - Use subtype table below */ | ||
124 | }; | ||
125 | |||
126 | /* Subtype table for serial_bus -- I2C, SPI, and UART */ | ||
127 | |||
128 | struct acpi_rsconvert_info *acpi_gbl_convert_resource_serial_bus_dispatch[] = { | ||
129 | NULL, | ||
130 | acpi_rs_convert_i2c_serial_bus, | ||
131 | acpi_rs_convert_spi_serial_bus, | ||
132 | acpi_rs_convert_uart_serial_bus, | ||
118 | }; | 133 | }; |
119 | 134 | ||
120 | #ifdef ACPI_FUTURE_USAGE | 135 | #ifdef ACPI_FUTURE_USAGE |
@@ -140,6 +155,16 @@ struct acpi_rsdump_info *acpi_gbl_dump_resource_dispatch[] = { | |||
140 | acpi_rs_dump_ext_address64, /* ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64 */ | 155 | acpi_rs_dump_ext_address64, /* ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64 */ |
141 | acpi_rs_dump_ext_irq, /* ACPI_RESOURCE_TYPE_EXTENDED_IRQ */ | 156 | acpi_rs_dump_ext_irq, /* ACPI_RESOURCE_TYPE_EXTENDED_IRQ */ |
142 | acpi_rs_dump_generic_reg, /* ACPI_RESOURCE_TYPE_GENERIC_REGISTER */ | 157 | acpi_rs_dump_generic_reg, /* ACPI_RESOURCE_TYPE_GENERIC_REGISTER */ |
158 | acpi_rs_dump_gpio, /* ACPI_RESOURCE_TYPE_GPIO */ | ||
159 | acpi_rs_dump_fixed_dma, /* ACPI_RESOURCE_TYPE_FIXED_DMA */ | ||
160 | NULL, /* ACPI_RESOURCE_TYPE_SERIAL_BUS */ | ||
161 | }; | ||
162 | |||
163 | struct acpi_rsdump_info *acpi_gbl_dump_serial_bus_dispatch[] = { | ||
164 | NULL, | ||
165 | acpi_rs_dump_i2c_serial_bus, /* AML_RESOURCE_I2C_BUS_TYPE */ | ||
166 | acpi_rs_dump_spi_serial_bus, /* AML_RESOURCE_SPI_BUS_TYPE */ | ||
167 | acpi_rs_dump_uart_serial_bus, /* AML_RESOURCE_UART_BUS_TYPE */ | ||
143 | }; | 168 | }; |
144 | #endif | 169 | #endif |
145 | 170 | ||
@@ -166,7 +191,10 @@ const u8 acpi_gbl_aml_resource_sizes[] = { | |||
166 | sizeof(struct aml_resource_address64), /* ACPI_RESOURCE_TYPE_ADDRESS64 */ | 191 | sizeof(struct aml_resource_address64), /* ACPI_RESOURCE_TYPE_ADDRESS64 */ |
167 | sizeof(struct aml_resource_extended_address64), /*ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64 */ | 192 | sizeof(struct aml_resource_extended_address64), /*ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64 */ |
168 | sizeof(struct aml_resource_extended_irq), /* ACPI_RESOURCE_TYPE_EXTENDED_IRQ */ | 193 | sizeof(struct aml_resource_extended_irq), /* ACPI_RESOURCE_TYPE_EXTENDED_IRQ */ |
169 | sizeof(struct aml_resource_generic_register) /* ACPI_RESOURCE_TYPE_GENERIC_REGISTER */ | 194 | sizeof(struct aml_resource_generic_register), /* ACPI_RESOURCE_TYPE_GENERIC_REGISTER */ |
195 | sizeof(struct aml_resource_gpio), /* ACPI_RESOURCE_TYPE_GPIO */ | ||
196 | sizeof(struct aml_resource_fixed_dma), /* ACPI_RESOURCE_TYPE_FIXED_DMA */ | ||
197 | sizeof(struct aml_resource_common_serialbus), /* ACPI_RESOURCE_TYPE_SERIAL_BUS */ | ||
170 | }; | 198 | }; |
171 | 199 | ||
172 | const u8 acpi_gbl_resource_struct_sizes[] = { | 200 | const u8 acpi_gbl_resource_struct_sizes[] = { |
@@ -182,7 +210,7 @@ const u8 acpi_gbl_resource_struct_sizes[] = { | |||
182 | ACPI_RS_SIZE_MIN, | 210 | ACPI_RS_SIZE_MIN, |
183 | ACPI_RS_SIZE(struct acpi_resource_io), | 211 | ACPI_RS_SIZE(struct acpi_resource_io), |
184 | ACPI_RS_SIZE(struct acpi_resource_fixed_io), | 212 | ACPI_RS_SIZE(struct acpi_resource_fixed_io), |
185 | 0, | 213 | ACPI_RS_SIZE(struct acpi_resource_fixed_dma), |
186 | 0, | 214 | 0, |
187 | 0, | 215 | 0, |
188 | 0, | 216 | 0, |
@@ -202,5 +230,21 @@ const u8 acpi_gbl_resource_struct_sizes[] = { | |||
202 | ACPI_RS_SIZE(struct acpi_resource_address16), | 230 | ACPI_RS_SIZE(struct acpi_resource_address16), |
203 | ACPI_RS_SIZE(struct acpi_resource_extended_irq), | 231 | ACPI_RS_SIZE(struct acpi_resource_extended_irq), |
204 | ACPI_RS_SIZE(struct acpi_resource_address64), | 232 | ACPI_RS_SIZE(struct acpi_resource_address64), |
205 | ACPI_RS_SIZE(struct acpi_resource_extended_address64) | 233 | ACPI_RS_SIZE(struct acpi_resource_extended_address64), |
234 | ACPI_RS_SIZE(struct acpi_resource_gpio), | ||
235 | ACPI_RS_SIZE(struct acpi_resource_common_serialbus) | ||
236 | }; | ||
237 | |||
238 | const u8 acpi_gbl_aml_resource_serial_bus_sizes[] = { | ||
239 | 0, | ||
240 | sizeof(struct aml_resource_i2c_serialbus), | ||
241 | sizeof(struct aml_resource_spi_serialbus), | ||
242 | sizeof(struct aml_resource_uart_serialbus), | ||
243 | }; | ||
244 | |||
245 | const u8 acpi_gbl_resource_struct_serial_bus_sizes[] = { | ||
246 | 0, | ||
247 | ACPI_RS_SIZE(struct acpi_resource_i2c_serialbus), | ||
248 | ACPI_RS_SIZE(struct acpi_resource_spi_serialbus), | ||
249 | ACPI_RS_SIZE(struct acpi_resource_uart_serialbus), | ||
206 | }; | 250 | }; |