Author: mmlr Date: 2011-05-08 14:13:55 +0200 (Sun, 08 May 2011) New Revision: 41382 Changeset: https://dev.haiku-os.org/changeset/41382 Modified: haiku/trunk/headers/os/drivers/ACPI.h haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_busman.c haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_module.c haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_priv.h Log: Add set_current_resources() which will be used to configure device resources from settings retrieved through get_{current|possible}_resources(). Modified: haiku/trunk/headers/os/drivers/ACPI.h =================================================================== --- haiku/trunk/headers/os/drivers/ACPI.h 2011-05-08 11:20:56 UTC (rev 41381) +++ haiku/trunk/headers/os/drivers/ACPI.h 2011-05-08 12:13:55 UTC (rev 41382) @@ -242,6 +242,8 @@ acpi_data *retBuffer); status_t (*get_possible_resources)(acpi_handle busDeviceHandle, acpi_data *retBuffer); + status_t (*set_current_resources)(acpi_handle busDeviceHandle, + acpi_data *buffer); /* Power state setting */ Modified: haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_busman.c =================================================================== --- haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_busman.c 2011-05-08 11:20:56 UTC (rev 41381) +++ haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_busman.c 2011-05-08 12:13:55 UTC (rev 41382) @@ -626,6 +626,14 @@ status_t +set_current_resources(acpi_handle busDeviceHandle, acpi_data *buffer) +{ + return AcpiSetCurrentResources(busDeviceHandle, (ACPI_BUFFER*)buffer) + == AE_OK ? B_OK : B_ERROR; +} + + +status_t prepare_sleep_state(uint8 state, void (*wakeFunc)(void), size_t size) { ACPI_STATUS acpiStatus; @@ -741,6 +749,7 @@ get_irq_routing_table, get_current_resources, get_possible_resources, + set_current_resources, prepare_sleep_state, enter_sleep_state, reboot Modified: haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_module.c =================================================================== --- haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_module.c 2011-05-08 11:20:56 UTC (rev 41381) +++ haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_module.c 2011-05-08 12:13:55 UTC (rev 41382) @@ -216,6 +216,7 @@ get_irq_routing_table, get_current_resources, get_possible_resources, + set_current_resources, prepare_sleep_state, enter_sleep_state, reboot Modified: haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_priv.h =================================================================== --- haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_priv.h 2011-05-08 11:20:56 UTC (rev 41381) +++ haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_priv.h 2011-05-08 12:13:55 UTC (rev 41382) @@ -125,6 +125,8 @@ acpi_data *retBuffer); status_t (*get_possible_resources)(acpi_handle busDeviceHandle, acpi_data *retBuffer); + status_t (*set_current_resources)(acpi_handle busDeviceHandle, + acpi_data *buffer); /* Power state setting */ @@ -200,6 +202,8 @@ acpi_data* returnValue); status_t get_possible_resources(acpi_handle busDeviceHandle, acpi_data* returnValue); +status_t set_current_resources(acpi_handle busDeviceHandle, + acpi_data* buffer); status_t prepare_sleep_state(uint8 state, void (*wakeFunc)(void), size_t size); status_t enter_sleep_state(uint8 state);