X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=include%2Facpi%2Facpiosxf.h;h=3e798593b17b0db94494bfeb6fc8b6c012300045;hb=feb6118d4e76bc5685909426c2dcc90fdb7ba05b;hp=8f473c83b7c4a974684a923eae415ef4e39c9fb2;hpb=4119532c95547821dbe72d6916dfa1b2148475b3;p=safe%2Fjmp%2Flinux-2.6 diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h index 8f473c8..3e79859 100644 --- a/include/acpi/acpiosxf.h +++ b/include/acpi/acpiosxf.h @@ -8,7 +8,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2006, R. Byron Moore + * Copyright (C) 2000 - 2008, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -78,14 +78,14 @@ struct acpi_signal_fatal_info { /* * OSL Initialization and shutdown primitives */ -acpi_status acpi_os_initialize(void); +acpi_status __initdata acpi_os_initialize(void); acpi_status acpi_os_terminate(void); /* * ACPI Table interfaces */ -acpi_status acpi_os_get_root_pointer(u32 flags, struct acpi_pointer *address); +acpi_physical_address acpi_os_get_root_pointer(void); acpi_status acpi_os_predefined_override(const struct acpi_predefined_names *init_val, @@ -96,38 +96,55 @@ acpi_os_table_override(struct acpi_table_header *existing_table, struct acpi_table_header **new_table); /* - * Synchronization primitives + * 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 */ acpi_status acpi_os_create_semaphore(u32 max_units, - u32 initial_units, acpi_handle * out_handle); + u32 initial_units, acpi_semaphore * out_handle); -acpi_status acpi_os_delete_semaphore(acpi_handle handle); +acpi_status acpi_os_delete_semaphore(acpi_semaphore handle); -acpi_status acpi_os_wait_semaphore(acpi_handle handle, u32 units, u16 timeout); +acpi_status +acpi_os_wait_semaphore(acpi_semaphore handle, u32 units, u16 timeout); -acpi_status acpi_os_signal_semaphore(acpi_handle handle, u32 units); +acpi_status acpi_os_signal_semaphore(acpi_semaphore handle, u32 units); -acpi_status acpi_os_create_lock(acpi_handle * out_handle); +/* + * Mutex primitives. May be configured to use semaphores instead via + * ACPI_MUTEX_TYPE (see platform/acenv.h) + */ +#if (ACPI_MUTEX_TYPE != ACPI_BINARY_SEMAPHORE) -void acpi_os_delete_lock(acpi_handle handle); +acpi_status acpi_os_create_mutex(acpi_mutex * out_handle); -acpi_cpu_flags acpi_os_acquire_lock(acpi_handle handle); +void acpi_os_delete_mutex(acpi_mutex handle); -void acpi_os_release_lock(acpi_handle handle, acpi_cpu_flags flags); +acpi_status acpi_os_acquire_mutex(acpi_mutex handle, u16 timeout); + +void acpi_os_release_mutex(acpi_mutex handle); +#endif /* * 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); +void __iomem *acpi_os_map_memory(acpi_physical_address where, + acpi_size length); void acpi_os_unmap_memory(void __iomem * logical_address, acpi_size size); +void early_acpi_os_unmap_memory(void __iomem * virt, acpi_size size); #ifdef ACPI_FUTURE_USAGE acpi_status @@ -162,6 +179,9 @@ acpi_os_install_interrupt_handler(u32 gsi, acpi_status acpi_os_remove_interrupt_handler(u32 gsi, acpi_osd_handler service_routine); +void acpi_os_gpe_count(u32 gpe_number); +void acpi_os_fixed_event_count(u32 fixed_event_number); + /* * Threads and Scheduling */ @@ -171,6 +191,9 @@ acpi_status acpi_os_execute(acpi_execute_type type, acpi_osd_exec_callback function, void *context); +acpi_status +acpi_os_hotplug_execute(acpi_osd_exec_callback function, void *context); + void acpi_os_wait_events_complete(void *context); void acpi_os_sleep(acpi_integer milliseconds); @@ -200,7 +223,7 @@ acpi_os_write_memory(acpi_physical_address address, u32 value, u32 width); */ acpi_status acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id, - u32 reg, void *value, u32 width); + u32 reg, u32 *value, u32 width); acpi_status acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id, @@ -217,16 +240,7 @@ 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 -u8 acpi_os_writable(void *pointer, acpi_size length); -#endif +acpi_status acpi_osi_invalidate(char* interface); u64 acpi_os_get_timer(void);