X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Facpi%2Facpiosxf.h;h=970e9a6372c390d56b1dc67ed01df14a0508998e;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=0cd63bce0ae423d1905d37448879df7c802d79ac;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h index 0cd63bce0..970e9a637 100644 --- a/include/acpi/acpiosxf.h +++ b/include/acpi/acpiosxf.h @@ -50,16 +50,12 @@ #include "platform/acenv.h" #include "actypes.h" -/* Types for acpi_os_execute */ +/* Priorities for acpi_os_queue_for_execution */ -typedef enum { - OSL_GLOBAL_LOCK_HANDLER, - OSL_NOTIFY_HANDLER, - OSL_GPE_HANDLER, - OSL_DEBUGGER_THREAD, - OSL_EC_POLL_HANDLER, - OSL_EC_BURST_HANDLER -} acpi_execute_type; +#define OSD_PRIORITY_GPE 1 +#define OSD_PRIORITY_HIGH 2 +#define OSD_PRIORITY_MED 3 +#define OSD_PRIORITY_LO 4 #define ACPI_NO_UNIT_LIMIT ((u32) -1) #define ACPI_MUTEX_SEM 1 @@ -96,53 +92,33 @@ acpi_os_table_override(struct acpi_table_header *existing_table, struct acpi_table_header **new_table); /* - * Spinlock primitives - */ -acpi_status acpi_os_create_lock(acpi_spinlock * out_handle); - -void acpi_os_delete_lock(acpi_spinlock handle); - -acpi_cpu_flags acpi_os_acquire_lock(acpi_spinlock handle); - -void acpi_os_release_lock(acpi_spinlock handle, acpi_cpu_flags flags); - -/* - * Semaphore primitives + * Synchronization primitives */ acpi_status acpi_os_create_semaphore(u32 max_units, - u32 initial_units, acpi_semaphore * out_handle); + u32 initial_units, acpi_handle * out_handle); -acpi_status acpi_os_delete_semaphore(acpi_semaphore handle); +acpi_status acpi_os_delete_semaphore(acpi_handle handle); -acpi_status -acpi_os_wait_semaphore(acpi_semaphore handle, u32 units, u16 timeout); - -acpi_status acpi_os_signal_semaphore(acpi_semaphore handle, u32 units); - -/* - * Mutex primitives - */ -acpi_status acpi_os_create_mutex(acpi_mutex * out_handle); +acpi_status acpi_os_wait_semaphore(acpi_handle handle, u32 units, u16 timeout); -void acpi_os_delete_mutex(acpi_mutex handle); +acpi_status acpi_os_signal_semaphore(acpi_handle handle, u32 units); -acpi_status acpi_os_acquire_mutex(acpi_mutex handle, u16 timeout); +acpi_status acpi_os_create_lock(acpi_handle * out_handle); -void acpi_os_release_mutex(acpi_mutex handle); +void acpi_os_delete_lock(acpi_handle handle); -/* Temporary macros for Mutex* interfaces, map to existing semaphore xfaces */ +acpi_cpu_flags acpi_os_acquire_lock(acpi_handle handle); -#define acpi_os_create_mutex(out_handle) acpi_os_create_semaphore (1, 1, out_handle) -#define acpi_os_delete_mutex(handle) (void) acpi_os_delete_semaphore (handle) -#define acpi_os_acquire_mutex(handle,time) acpi_os_wait_semaphore (handle, 1, time) -#define acpi_os_release_mutex(handle) (void) acpi_os_signal_semaphore (handle, 1) +void acpi_os_release_lock(acpi_handle handle, acpi_cpu_flags flags); /* * Memory allocation and mapping */ void *acpi_os_allocate(acpi_size size); +void acpi_os_free(void *memory); + acpi_status acpi_os_map_memory(acpi_physical_address physical_address, acpi_size size, void __iomem ** logical_address); @@ -185,11 +161,13 @@ acpi_os_remove_interrupt_handler(u32 gsi, acpi_osd_handler service_routine); /* * Threads and Scheduling */ -acpi_thread_id acpi_os_get_thread_id(void); +u32 acpi_os_get_thread_id(void); acpi_status -acpi_os_execute(acpi_execute_type type, - acpi_osd_exec_callback function, void *context); +acpi_os_queue_for_execution(u32 priority, + acpi_osd_exec_callback function, void *context); + +void acpi_os_wait_events_complete(void *context); void acpi_os_wait_events_complete(void *context); @@ -236,12 +214,6 @@ acpi_os_derive_pci_id(acpi_handle rhandle, /* * Miscellaneous */ -acpi_status acpi_os_validate_interface(char *interface); - -acpi_status -acpi_os_validate_address(u8 space_id, - acpi_physical_address address, acpi_size length); - u8 acpi_os_readable(void *pointer, acpi_size length); #ifdef ACPI_FUTURE_USAGE @@ -283,4 +255,11 @@ char *acpi_os_get_next_filename(void *dir_handle); void acpi_os_close_directory(void *dir_handle); +/* + * Debug + */ +void +acpi_os_dbg_assert(void *failed_assertion, + void *file_name, u32 line_number, char *message); + #endif /* __ACPIOSXF_H__ */