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

  • From: fredrik.holmqvist@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 5 May 2011 19:29:38 +0200 (CEST)

Author: tqh
Date: 2011-05-05 19:29:37 +0200 (Thu, 05 May 2011)
New Revision: 41320
Changeset: https://dev.haiku-os.org/changeset/41320

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:
This opens up so many possiblities.
 * ACPI module now has a get_possible_resources function.



Modified: haiku/trunk/headers/os/drivers/ACPI.h
===================================================================
--- haiku/trunk/headers/os/drivers/ACPI.h       2011-05-04 23:12:25 UTC (rev 
41319)
+++ haiku/trunk/headers/os/drivers/ACPI.h       2011-05-05 17:29:37 UTC (rev 
41320)
@@ -239,6 +239,8 @@
                                        acpi_data *retBuffer);
        status_t        (*get_current_resources)(acpi_handle busDeviceHandle,
                                        acpi_data *retBuffer);
+       status_t        (*get_possible_resources)(acpi_handle busDeviceHandle,
+                                       acpi_data *retBuffer);
 
        /* 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-04 23:12:25 UTC (rev 41319)
+++ haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_busman.c      
2011-05-05 17:29:37 UTC (rev 41320)
@@ -84,7 +84,7 @@
        while (true) {
                status = AcpiGetTable (ACPI_SIG_MADT, ++madtCount, &madt);
                if (status != AE_OK) break;
-/*             
+/*
                dprintf("acpi: MADT TABLE:\n");
                AcpiDmDumpDataTable( madt );
                entry = madt + 44;
@@ -212,7 +212,7 @@
 
                        parameter.Count = 1;
                        parameter.Pointer = &arg;
-       
+
                        AcpiEvaluateObject(NULL, "\\_PIC", &parameter, NULL);
 
                        flags = acpiAvoidFullInit ?
@@ -618,6 +618,14 @@
 
 
 status_t
+get_possible_resources(acpi_handle busDeviceHandle, acpi_data *retBuffer)
+{
+       return AcpiGetPossibleResources(busDeviceHandle, 
(ACPI_BUFFER*)retBuffer)
+               == AE_OK ? B_OK : B_ERROR;
+}
+
+
+status_t
 prepare_sleep_state(uint8 state, void (*wakeFunc)(void), size_t size)
 {
        ACPI_STATUS acpiStatus;
@@ -732,6 +740,7 @@
        evaluate_method,
        get_irq_routing_table,
        get_current_resources,
+       get_possible_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-04 23:12:25 UTC (rev 41319)
+++ haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_module.c      
2011-05-05 17:29:37 UTC (rev 41320)
@@ -216,6 +216,7 @@
        evaluate_method,
        get_irq_routing_table,
        get_current_resources,
+       get_possible_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-04 23:12:25 UTC (rev 41319)
+++ haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_priv.h        
2011-05-05 17:29:37 UTC (rev 41320)
@@ -123,6 +123,8 @@
                                        acpi_data *retBuffer);
        status_t        (*get_current_resources)(acpi_handle busDeviceHandle,
                                        acpi_data *retBuffer);
+       status_t        (*get_possible_resources)(acpi_handle busDeviceHandle,
+                                       acpi_data *retBuffer);
 
        /* Power state setting */
 
@@ -196,6 +198,8 @@
        acpi_data* returnValue);
 status_t get_current_resources(acpi_handle busDeviceHandle,
        acpi_data* returnValue);
+status_t get_possible_resources(acpi_handle busDeviceHandle,
+       acpi_data* returnValue);
 
 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] r41320 - in haiku/trunk: headers/os/drivers src/add-ons/kernel/bus_managers/acpi - fredrik . holmqvist