acpi: use walk_resources to find embedded controller I/O ports.

* export walk_resources and use it
* removed SmallResourceData
* added embedded controller module for x86_64
This commit is contained in:
Jérôme Duval
2013-10-21 22:14:17 +02:00
parent 6c6668ae9e
commit ce2d7d5ac8
9 changed files with 72 additions and 200 deletions
+12
View File
@@ -142,6 +142,8 @@ enum {
*/
typedef uint32 acpi_status;
typedef struct acpi_resource acpi_resource;
#endif // __ACTYPES_H__
@@ -159,6 +161,9 @@ typedef acpi_status (*acpi_adr_space_setup)(acpi_handle regionHandle,
typedef void (*acpi_notify_handler)(acpi_handle device, uint32 value,
void *context);
typedef acpi_status (*acpi_walk_resources_callback)(acpi_resource* resource,
void* context);
struct acpi_module_info {
module_info info;
@@ -251,6 +256,9 @@ struct acpi_module_info {
acpi_data *retBuffer);
status_t (*set_current_resources)(acpi_handle busDeviceHandle,
acpi_data *buffer);
status_t (*walk_resources)(acpi_handle busDeviceHandle,
char *method, acpi_walk_resources_callback callback,
void* context);
/* Power state setting */
@@ -317,6 +325,10 @@ typedef struct acpi_device_module_info {
/* Control method execution and data acquisition */
status_t (*evaluate_method)(acpi_device device, const char *method,
acpi_objects *args, acpi_data *returnValue);
/* Resource Management */
status_t (*walk_resources)(acpi_device device, char *method,
acpi_walk_resources_callback callback, void* context);
} acpi_device_module_info;