[haiku-commits] r41382 - in haiku/trunk: headers/os/drivers src/add-ons/kernel/bus_managers/acpi

  • From: mmlr@xxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 8 May 2011 14:13:56 +0200 (CEST)

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);


Other related posts:

  • » [haiku-commits] r41382 - in haiku/trunk: headers/os/drivers src/add-ons/kernel/bus_managers/acpi - mmlr