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

  • From: mmlr@xxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 11 May 2011 10:22:22 +0200 (CEST)

Author: mmlr
Date: 2011-05-11 10:22:22 +0200 (Wed, 11 May 2011)
New Revision: 41429
Changeset: https://dev.haiku-os.org/changeset/41429

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:
Provide a function to gain ACPI table access.


Modified: haiku/trunk/headers/os/drivers/ACPI.h
===================================================================
--- haiku/trunk/headers/os/drivers/ACPI.h       2011-05-11 02:50:36 UTC (rev 
41428)
+++ haiku/trunk/headers/os/drivers/ACPI.h       2011-05-11 08:22:22 UTC (rev 
41429)
@@ -234,7 +234,7 @@
        status_t        (*evaluate_method)(acpi_handle handle, const char 
*method,
                                        acpi_objects *args, acpi_data 
*returnValue);
 
-       /* Resource info */
+       /* Resource Management */
 
        status_t        (*get_irq_routing_table)(acpi_handle busDeviceHandle,
                                        acpi_data *retBuffer);
@@ -251,6 +251,10 @@
                                        size_t size);
        status_t        (*enter_sleep_state)(uint8 state);
        status_t        (*reboot)(void);
+
+       /* Table Access */
+       status_t        (*get_table)(char *signature, uint32 instance,
+                                       void **tableHeader);
 };
 
 

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-11 02:50:36 UTC (rev 41428)
+++ haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_busman.c      
2011-05-11 08:22:22 UTC (rev 41429)
@@ -713,6 +713,14 @@
 }
 
 
+status_t
+get_table(char* signature, uint32 instance, void** tableHeader)
+{
+       return AcpiGetTable(signature, instance, 
(ACPI_TABLE_HEADER**)tableHeader)
+               == AE_OK ? B_OK : B_ERROR;
+}
+
+
 struct acpi_module_info gACPIModule = {
        {
                B_ACPI_MODULE_NAME,
@@ -752,5 +760,6 @@
        set_current_resources,
        prepare_sleep_state,
        enter_sleep_state,
-       reboot
+       reboot,
+       get_table
 };

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-11 02:50:36 UTC (rev 41428)
+++ haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_module.c      
2011-05-11 08:22:22 UTC (rev 41429)
@@ -219,7 +219,8 @@
        set_current_resources,
        prepare_sleep_state,
        enter_sleep_state,
-       reboot
+       reboot,
+       get_table
 };
 
 

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-11 02:50:36 UTC (rev 41428)
+++ haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_priv.h        
2011-05-11 08:22:22 UTC (rev 41429)
@@ -134,6 +134,10 @@
                                        size_t size);
        status_t        (*enter_sleep_state)(uint8 state);
        status_t        (*reboot)(void);
+
+       /* Table Access */
+       status_t        (*get_table)(char *signature, uint32 instance,
+                                       void **tableHeader);
 } acpi_root_info;
 
 
@@ -211,6 +215,8 @@
 
 status_t reboot(void);
 
+status_t get_table(char* signature, uint32 instance, void** tableHeader);
+
 __END_DECLS
 
 


Other related posts:

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