ReactOS 0.4.17-dev-683-g0dafdc5
kernel_api.h File Reference
Include dependency graph for kernel_api.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define UACPI_MAP_FAILED   ((void*)-1)
 

Typedefs

typedef enum uacpi_work_type uacpi_work_type
 
typedef void(* uacpi_work_handler) (uacpi_handle)
 

Enumerations

enum  uacpi_work_type { UACPI_WORK_GPE_EXECUTION , UACPI_WORK_NOTIFICATION }
 

Functions

uacpi_status uacpi_kernel_get_rsdp (uacpi_phys_addr *out_rsdp_address)
 
voiduacpi_kernel_map (uacpi_phys_addr addr, uacpi_size len)
 
void uacpi_kernel_unmap (void *addr, uacpi_size len)
 
void uacpi_kernel_log (uacpi_log_level, const uacpi_char *)
 
uacpi_status uacpi_kernel_pci_device_open (uacpi_pci_address address, uacpi_handle *out_handle)
 
void uacpi_kernel_pci_device_close (uacpi_handle)
 
uacpi_status uacpi_kernel_pci_read8 (uacpi_handle device, uacpi_size offset, uacpi_u8 *value)
 
uacpi_status uacpi_kernel_pci_read16 (uacpi_handle device, uacpi_size offset, uacpi_u16 *value)
 
uacpi_status uacpi_kernel_pci_read32 (uacpi_handle device, uacpi_size offset, uacpi_u32 *value)
 
uacpi_status uacpi_kernel_pci_write8 (uacpi_handle device, uacpi_size offset, uacpi_u8 value)
 
uacpi_status uacpi_kernel_pci_write16 (uacpi_handle device, uacpi_size offset, uacpi_u16 value)
 
uacpi_status uacpi_kernel_pci_write32 (uacpi_handle device, uacpi_size offset, uacpi_u32 value)
 
uacpi_status uacpi_kernel_io_map (uacpi_io_addr base, uacpi_size len, uacpi_handle *out_handle)
 
void uacpi_kernel_io_unmap (uacpi_handle handle)
 
uacpi_status uacpi_kernel_io_read8 (uacpi_handle, uacpi_size offset, uacpi_u8 *out_value)
 
uacpi_status uacpi_kernel_io_read16 (uacpi_handle, uacpi_size offset, uacpi_u16 *out_value)
 
uacpi_status uacpi_kernel_io_read32 (uacpi_handle, uacpi_size offset, uacpi_u32 *out_value)
 
uacpi_status uacpi_kernel_io_write8 (uacpi_handle, uacpi_size offset, uacpi_u8 in_value)
 
uacpi_status uacpi_kernel_io_write16 (uacpi_handle, uacpi_size offset, uacpi_u16 in_value)
 
uacpi_status uacpi_kernel_io_write32 (uacpi_handle, uacpi_size offset, uacpi_u32 in_value)
 
voiduacpi_kernel_alloc (uacpi_size size)
 
void uacpi_kernel_free (void *mem)
 
uacpi_u64 uacpi_kernel_get_nanoseconds_since_boot (void)
 
void uacpi_kernel_stall (uacpi_u8 usec)
 
void uacpi_kernel_sleep (uacpi_u64 msec)
 
uacpi_handle uacpi_kernel_create_mutex (void)
 
void uacpi_kernel_free_mutex (uacpi_handle)
 
uacpi_handle uacpi_kernel_create_event (void)
 
void uacpi_kernel_free_event (uacpi_handle)
 
uacpi_thread_id uacpi_kernel_get_thread_id (void)
 
uacpi_interrupt_state uacpi_kernel_disable_interrupts (void)
 
void uacpi_kernel_restore_interrupts (uacpi_interrupt_state state)
 
uacpi_status uacpi_kernel_acquire_mutex (uacpi_handle, uacpi_u16)
 
void uacpi_kernel_release_mutex (uacpi_handle)
 
uacpi_bool uacpi_kernel_wait_for_event (uacpi_handle, uacpi_u16)
 
void uacpi_kernel_signal_event (uacpi_handle)
 
void uacpi_kernel_reset_event (uacpi_handle)
 
uacpi_status uacpi_kernel_handle_firmware_request (uacpi_firmware_request *)
 
uacpi_status uacpi_kernel_install_interrupt_handler (uacpi_u32 irq, uacpi_interrupt_handler, uacpi_handle ctx, uacpi_handle *out_irq_handle)
 
uacpi_status uacpi_kernel_uninstall_interrupt_handler (uacpi_interrupt_handler, uacpi_handle irq_handle)
 
uacpi_handle uacpi_kernel_create_spinlock (void)
 
void uacpi_kernel_free_spinlock (uacpi_handle)
 
uacpi_cpu_flags uacpi_kernel_lock_spinlock (uacpi_handle)
 
void uacpi_kernel_unlock_spinlock (uacpi_handle, uacpi_cpu_flags)
 
uacpi_status uacpi_kernel_schedule_work (uacpi_work_type, uacpi_work_handler, uacpi_handle ctx)
 
uacpi_status uacpi_kernel_wait_for_work_completion (void)
 

Macro Definition Documentation

◆ UACPI_MAP_FAILED

#define UACPI_MAP_FAILED   ((void*)-1)

Definition at line 13 of file kernel_api.h.

Typedef Documentation

◆ uacpi_work_handler

typedef void(* uacpi_work_handler) (uacpi_handle)

Definition at line 371 of file kernel_api.h.

◆ uacpi_work_type

Enumeration Type Documentation

◆ uacpi_work_type

Enumerator
UACPI_WORK_GPE_EXECUTION 

Schedule a GPE handler method for execution. This should be scheduled to run on CPU0 to avoid potential SMI-related firmware bugs.

UACPI_WORK_NOTIFICATION 

Schedule a Notify(device) firmware request for execution. This can run on any CPU.

Definition at line 356 of file kernel_api.h.

356 {
363
uacpi_work_type
Definition: kernel_api.h:356
@ UACPI_WORK_GPE_EXECUTION
Definition: kernel_api.h:362
@ UACPI_WORK_NOTIFICATION
Definition: kernel_api.h:368

Function Documentation

◆ uacpi_kernel_acquire_mutex()

uacpi_status uacpi_kernel_acquire_mutex ( uacpi_handle  Handle,
uacpi_u16  Timeout 
)

Try to acquire the mutex with a millisecond timeout.

The timeout value has the following meanings: 0x0000 - Attempt to acquire the mutex once, in a non-blocking manner 0x0001...0xFFFE - Attempt to acquire the mutex for at least 'timeout' milliseconds 0xFFFF - Infinite wait, block until the mutex is acquired

The following are possible return values:

  1. UACPI_STATUS_OK - successful acquire operation
  2. UACPI_STATUS_TIMEOUT - timeout reached while attempting to acquire (or the single attempt to acquire was not successful for calls with timeout=0)
  3. Any other value - signifies a host internal error and is treated as such

Definition at line 152 of file uacpiosl.c.

153{
155 return 1;
156}
#define UNIMPLEMENTED_DBGBREAK(...)
Definition: debug.h:57

Referenced by uacpi_acquire_native_mutex(), and uacpi_acquire_native_mutex_may_be_null().

◆ uacpi_kernel_alloc()

◆ uacpi_kernel_create_event()

uacpi_handle uacpi_kernel_create_event ( void  )

Create/free an opaque kernel (semaphore-like) event object.

Definition at line 53 of file uacpiosl.c.

54{
56 return NULL;
57}

Referenced by event_alloc(), and uacpi_initialize_events().

◆ uacpi_kernel_create_mutex()

uacpi_handle uacpi_kernel_create_mutex ( void  )

Create/free an opaque non-recursive kernel mutex object.

Definition at line 139 of file uacpiosl.c.

140{
142 return NULL;
143}

Referenced by uacpi_create_mutex(), uacpi_initialize_interfaces(), uacpi_initialize_notify(), uacpi_initialize_tables(), uacpi_recursive_lock_init(), and uacpi_rw_lock_init().

◆ uacpi_kernel_create_spinlock()

uacpi_handle uacpi_kernel_create_spinlock ( void  )

Create/free a kernel spinlock object.

Unlike other types of locks, spinlocks may be used in interrupt contexts.

Definition at line 85 of file uacpiosl.c.

86{
88 return NULL;
89}

Referenced by uacpi_initialize_events(), uacpi_initialize_events_early(), and uacpi_initialize_registers().

◆ uacpi_kernel_disable_interrupts()

uacpi_interrupt_state uacpi_kernel_disable_interrupts ( void  )

Disable interrupts and return a kernel-defined value representing the "before" state. This value is used in the subsequent call to restore the prior state.

Note that this is talking about ALL interrupts on the current CPU, not just those installed by uACPI. This is typically achieved by executing the 'cli' instruction on x86, 'msr daifset, #3' on aarch64 etc.

Referenced by enter_sleep_state_hw_full(), and enter_sleep_state_hw_reduced().

◆ uacpi_kernel_free()

void uacpi_kernel_free ( void mem)

Free a previously allocated memory block.

'mem' might be a NULL pointer. In this case, the call is assumed to be a no-op.

An optionally enabled 'size_hint' parameter contains the size of the original allocation. Note that in some scenarios this incurs additional cost to calculate the object size.

Definition at line 126 of file uacpiosl.c.

127{
129}

◆ uacpi_kernel_free_event()

void uacpi_kernel_free_event ( uacpi_handle  Handle)

Definition at line 60 of file uacpiosl.c.

61{
63}

Referenced by free_event(), and uacpi_state_reset().

◆ uacpi_kernel_free_mutex()

◆ uacpi_kernel_free_spinlock()

void uacpi_kernel_free_spinlock ( uacpi_handle  Handle)

◆ uacpi_kernel_get_nanoseconds_since_boot()

uacpi_u64 uacpi_kernel_get_nanoseconds_since_boot ( void  )

Returns the number of nanosecond ticks elapsed since boot, strictly monotonic.

Definition at line 35 of file uacpiosl.c.

36{
38 return 0;
39}

Referenced by begin_block_execution(), handle_timer(), uacpi_namespace_initialize(), and uacpi_namespace_load().

◆ uacpi_kernel_get_rsdp()

uacpi_status uacpi_kernel_get_rsdp ( uacpi_phys_addr out_rsdp_address)

Definition at line 204 of file uacpiosl.c.

205{
207 return 1;
208}

Referenced by initialize_from_rsdp().

◆ uacpi_kernel_get_thread_id()

uacpi_thread_id uacpi_kernel_get_thread_id ( void  )

Returns a unique identifier of the currently executing thread.

The returned thread id cannot be UACPI_THREAD_ID_NONE.

Definition at line 184 of file uacpiosl.c.

185{
187 return (uacpi_thread_id)1;
188}

Referenced by uacpi_acquire_aml_mutex(), uacpi_recursive_lock_acquire(), and uacpi_this_thread_owns_aml_mutex().

◆ uacpi_kernel_handle_firmware_request()

uacpi_status uacpi_kernel_handle_firmware_request ( uacpi_firmware_request Req)

Handle a firmware request.

Currently either a Breakpoint or Fatal operators.

Definition at line 177 of file uacpiosl.c.

178{
180 return 1;
181}

Referenced by handle_firmware_request().

◆ uacpi_kernel_install_interrupt_handler()

uacpi_status uacpi_kernel_install_interrupt_handler ( uacpi_u32  irq,
uacpi_interrupt_handler  handler,
uacpi_handle  ctx,
uacpi_handle out_irq_handle 
)

Install an interrupt handler at 'irq', 'ctx' is passed to the provided handler for every invocation.

'out_irq_handle' is set to a kernel-implemented value that can be used to refer to this handler from other API.

Definition at line 212 of file uacpiosl.c.

215{
217 return 1;
218}

Referenced by find_or_create_gpe_interrupt_ctx(), and uacpi_initialize_events().

◆ uacpi_kernel_io_map()

uacpi_status uacpi_kernel_io_map ( uacpi_io_addr  base,
uacpi_size  len,
uacpi_handle out_handle 
)

Map a SystemIO address at [base, base + len) and return a kernel-implemented handle that can be used for reading and writing the IO range.

NOTE: The x86 architecture uses the in/out family of instructions to access the SystemIO address space.

Definition at line 165 of file uacpiosl.c.

166{
168 return 1;
169}

Referenced by io_region_attach(), uacpi_map_gas_noalloc(), and uacpi_reboot().

◆ uacpi_kernel_io_read16()

uacpi_status uacpi_kernel_io_read16 ( uacpi_handle  handle,
uacpi_size  offset,
uacpi_u16 out_value 
)

Definition at line 306 of file uacpiosl.c.

307{
309 return 1;
310}

Referenced by uacpi_system_io_read().

◆ uacpi_kernel_io_read32()

uacpi_status uacpi_kernel_io_read32 ( uacpi_handle  handle,
uacpi_size  offset,
uacpi_u32 out_value 
)

Definition at line 313 of file uacpiosl.c.

314{
316 return 1;
317}

Referenced by uacpi_system_io_read().

◆ uacpi_kernel_io_read8()

uacpi_status uacpi_kernel_io_read8 ( uacpi_handle  handle,
uacpi_size  offset,
uacpi_u8 out_value 
)

Read/Write the IO range mapped via uacpi_kernel_io_map at a 0-based 'offset' within the range.

NOTE: The x86 architecture uses the in/out family of instructions to access the SystemIO address space.

You are NOT allowed to break e.g. a 4-byte access into four 1-byte accesses. Hardware ALWAYS expects accesses to be of the exact width.

Definition at line 299 of file uacpiosl.c.

300{
302 return 1;
303}

Referenced by uacpi_system_io_read().

◆ uacpi_kernel_io_unmap()

void uacpi_kernel_io_unmap ( uacpi_handle  handle)

Definition at line 171 of file uacpiosl.c.

172{
174}

Referenced by io_region_detach(), uacpi_reboot(), and unmap_gas_io().

◆ uacpi_kernel_io_write16()

uacpi_status uacpi_kernel_io_write16 ( uacpi_handle  handle,
uacpi_size  offset,
uacpi_u16  in_value 
)

Definition at line 327 of file uacpiosl.c.

328{
330 return 1;
331}

Referenced by uacpi_system_io_write().

◆ uacpi_kernel_io_write32()

uacpi_status uacpi_kernel_io_write32 ( uacpi_handle  handle,
uacpi_size  offset,
uacpi_u32  in_value 
)

Definition at line 334 of file uacpiosl.c.

335{
337 return 1;
338}

Referenced by uacpi_system_io_write().

◆ uacpi_kernel_io_write8()

uacpi_status uacpi_kernel_io_write8 ( uacpi_handle  handle,
uacpi_size  offset,
uacpi_u8  in_value 
)

Definition at line 320 of file uacpiosl.c.

321{
323 return 1;
324}

Referenced by uacpi_reboot(), and uacpi_system_io_write().

◆ uacpi_kernel_lock_spinlock()

uacpi_cpu_flags uacpi_kernel_lock_spinlock ( uacpi_handle  Handle)

Lock/unlock helpers for spinlocks.

These are expected to disable interrupts, returning the previous state of cpu flags, that can be used to possibly re-enable interrupts if they were enabled before.

Note that lock is infalliable.

Definition at line 98 of file uacpiosl.c.

99{
101 return 1;
102}

Referenced by ensure_register_mapped(), handle_global_lock(), set_gpe_state(), uacpi_acquire_global_lock_from_firmware(), and uacpi_write_register_field().

◆ uacpi_kernel_log()

void uacpi_kernel_log ( uacpi_log_level  Level,
const uacpi_char Char 
)

Definition at line 18 of file uacpiosl.c.

19{
20
21}

Referenced by uacpi_log().

◆ uacpi_kernel_map()

void * uacpi_kernel_map ( uacpi_phys_addr  addr,
uacpi_size  len 
)

Map a physical memory range starting at 'addr' with length 'len', and return a virtual address that can be used to access it. UACPI_MAP_FAILED is returned in case the operation wasn't successful.

NOTE: 'addr' may be misaligned, in this case the host is expected to round it down to the nearest page-aligned boundary and map that, while making sure that at least 'len' bytes are still mapped starting at 'addr'. The return value preserves the misaligned offset.

Example for uacpi_kernel_map(0x1ABC, 0xF00):

  1. Round down the 'addr' we got to the nearest page boundary. Considering a PAGE_SIZE of 4096 (or 0x1000), 0x1ABC rounded down is 0x1000, offset within the page is 0x1ABC - 0x1000 => 0xABC
  2. Requested 'len' is 0xF00 bytes, but we just rounded the address down by 0xABC bytes, so add those on top. 0xF00 + 0xABC => 0x19BC
  3. Round up the final 'len' to the nearest PAGE_SIZE boundary, in this case 0x19BC is 0x2000 bytes (2 pages if PAGE_SIZE is 4096)
  4. Call the VMM to map the aligned address 0x1000 (from step 1) with length 0x2000 (from step 3). Let's assume the returned virtual address for the mapping is 0xF000.
  5. Add the original offset within page 0xABC (from step 1) to the resulting virtual address 0xF000 + 0xABC => 0xFABC. Return it to uACPI.

Definition at line 191 of file uacpiosl.c.

192{
194 return NULL;
195}

Referenced by get_external_table_header(), handle_load(), initialize_from_rsdp(), initialize_from_rxsdt(), memory_region_attach(), table_install_physical_with_origin_unlocked(), table_ref_unlocked(), uacpi_map_gas_noalloc(), and verify_and_install_table().

◆ uacpi_kernel_pci_device_close()

void uacpi_kernel_pci_device_close ( uacpi_handle  Handle)

Definition at line 251 of file uacpiosl.c.

252{
254}

Referenced by pci_region_detach(), and uacpi_reboot().

◆ uacpi_kernel_pci_device_open()

uacpi_status uacpi_kernel_pci_device_open ( uacpi_pci_address  address,
uacpi_handle out_handle 
)

Only the above ^^^ API may be used by early table access and UACPI_BAREBONES_MODE. Convenience initialization/deinitialization hooks that will be called by uACPI automatically when appropriate if compiled-in. Open a PCI device at 'address' for reading & writing.

The device at 'address' might not actually exist on the system, in this case the api is allowed to return UACPI_STATUS_NOT_FOUND to indicate that, this error is handled gracefully by creating a dummy device internally that always returns 0xFF on reads and is no-op for writes. This is to support a common pattern in AML that probes for 0xFF reads to detect whether a device exists.

The handle returned via 'out_handle' is used to perform IO on the configuration space of the device.

Definition at line 242 of file uacpiosl.c.

245{
247 return 1;
248}

Referenced by pci_region_attach(), and uacpi_reboot().

◆ uacpi_kernel_pci_read16()

uacpi_status uacpi_kernel_pci_read16 ( uacpi_handle  device,
uacpi_size  offset,
uacpi_u16 value 
)

Definition at line 264 of file uacpiosl.c.

265{
267 return 1;
268}

Referenced by uacpi_pci_read().

◆ uacpi_kernel_pci_read32()

uacpi_status uacpi_kernel_pci_read32 ( uacpi_handle  device,
uacpi_size  offset,
uacpi_u32 value 
)

Definition at line 271 of file uacpiosl.c.

272{
274 return 1;
275}

Referenced by uacpi_pci_read().

◆ uacpi_kernel_pci_read8()

uacpi_status uacpi_kernel_pci_read8 ( uacpi_handle  device,
uacpi_size  offset,
uacpi_u8 value 
)

Read & write the configuration space of a previously open PCI device.

Definition at line 257 of file uacpiosl.c.

258{
260 return 1;
261}

Referenced by uacpi_pci_read().

◆ uacpi_kernel_pci_write16()

uacpi_status uacpi_kernel_pci_write16 ( uacpi_handle  device,
uacpi_size  offset,
uacpi_u16  value 
)

Definition at line 285 of file uacpiosl.c.

286{
288 return 1;
289}

Referenced by uacpi_pci_write().

◆ uacpi_kernel_pci_write32()

uacpi_status uacpi_kernel_pci_write32 ( uacpi_handle  device,
uacpi_size  offset,
uacpi_u32  value 
)

Definition at line 292 of file uacpiosl.c.

293{
295 return 1;
296}

Referenced by uacpi_pci_write().

◆ uacpi_kernel_pci_write8()

uacpi_status uacpi_kernel_pci_write8 ( uacpi_handle  device,
uacpi_size  offset,
uacpi_u8  value 
)

Definition at line 278 of file uacpiosl.c.

279{
281 return 1;
282}

Referenced by uacpi_pci_write(), and uacpi_reboot().

◆ uacpi_kernel_release_mutex()

void uacpi_kernel_release_mutex ( uacpi_handle  Handle)

◆ uacpi_kernel_reset_event()

void uacpi_kernel_reset_event ( uacpi_handle  Handle)

Reset the event counter to 0.

Definition at line 79 of file uacpiosl.c.

80{
82}

Referenced by handle_event_ctl().

◆ uacpi_kernel_restore_interrupts()

void uacpi_kernel_restore_interrupts ( uacpi_interrupt_state  state)

Restore the state of the interrupt flags to the kernel-defined value provided in 'state'.

Referenced by enter_sleep_state_hw_full(), and enter_sleep_state_hw_reduced().

◆ uacpi_kernel_schedule_work()

uacpi_status uacpi_kernel_schedule_work ( uacpi_work_type  type,
uacpi_work_handler  Handler,
uacpi_handle  ctx 
)

Schedules deferred work for execution. Might be invoked from an interrupt context.

Definition at line 228 of file uacpiosl.c.

229{
231 return 1;
232}

Referenced by async_run_gpe_handler(), dispatch_gpe(), and uacpi_notify_all().

◆ uacpi_kernel_signal_event()

void uacpi_kernel_signal_event ( uacpi_handle  Handle)

Signal the event object by incrementing its internal counter by 1.

This function may be used in interrupt contexts.

Definition at line 73 of file uacpiosl.c.

74{
76}

Referenced by handle_event_ctl(), and handle_global_lock().

◆ uacpi_kernel_sleep()

void uacpi_kernel_sleep ( uacpi_u64  msec)

Sleep for N milliseconds.

Definition at line 47 of file uacpiosl.c.

48{
50}

Referenced by handle_stall_or_sleep().

◆ uacpi_kernel_stall()

void uacpi_kernel_stall ( uacpi_u8  usec)

Spin for N microseconds.

Definition at line 42 of file uacpiosl.c.

43{
45}

Referenced by enter_sleep_state_hw_full(), handle_stall_or_sleep(), set_mode(), and uacpi_reboot().

◆ uacpi_kernel_uninstall_interrupt_handler()

uacpi_status uacpi_kernel_uninstall_interrupt_handler ( uacpi_interrupt_handler  handler,
uacpi_handle  irq_handle 
)

Uninstall an interrupt handler. 'irq_handle' is the value returned via 'out_irq_handle' during installation.

Definition at line 221 of file uacpiosl.c.

222{
224 return 1;
225}

Referenced by uacpi_deinitialize_events(), and uninstall_gpe_block().

◆ uacpi_kernel_unlock_spinlock()

void uacpi_kernel_unlock_spinlock ( uacpi_handle  Handle,
uacpi_cpu_flags  Flags 
)

◆ uacpi_kernel_unmap()

void uacpi_kernel_unmap ( void addr,
uacpi_size  len 
)

Unmap a virtual memory range at 'addr' with a length of 'len' bytes.

NOTE: 'addr' may be misaligned, see the comment above 'uacpi_kernel_map'. Similar steps to uacpi_kernel_map can be taken to retrieve the virtual address originally returned by the VMM for this mapping as well as its true length.

Definition at line 198 of file uacpiosl.c.

199{
201}

Referenced by get_external_table_header(), handle_load(), initialize_from_rsdp(), initialize_from_rxsdt(), memory_region_detach(), table_install_physical_with_origin_unlocked(), table_ref_unlocked(), table_unref_unlocked(), uacpi_deinitialize_tables(), uacpi_map_gas_noalloc(), and verify_and_install_table().

◆ uacpi_kernel_wait_for_event()

uacpi_bool uacpi_kernel_wait_for_event ( uacpi_handle  Handle,
uacpi_u16  Timeout 
)

Try to wait for an event (counter > 0) with a millisecond timeout. A timeout value of 0xFFFF implies infinite wait.

The internal counter is decremented by 1 if wait was successful.

A successful wait is indicated by returning UACPI_TRUE.

Definition at line 66 of file uacpiosl.c.

67{
69 return 1;
70}

Referenced by handle_event_ctl(), and uacpi_acquire_global_lock_from_firmware().

◆ uacpi_kernel_wait_for_work_completion()

uacpi_status uacpi_kernel_wait_for_work_completion ( void  )

Waits for two types of work to finish:

  1. All in-flight interrupts installed via uacpi_kernel_install_interrupt_handler
  2. All work scheduled via uacpi_kernel_schedule_work

Note that the waits must be done in this order specifically.

Definition at line 235 of file uacpiosl.c.

236{
237 DPRINT("uacpi_kernel_wait_for_work_completion: Enter\n");
238 return 1;
239}
#define DPRINT
Definition: sndvol32.h:73

Referenced by gpe_block_mask_safe(), gpe_mask_unmask(), uacpi_install_notify_handler(), uacpi_uninstall_fixed_event_handler(), and uacpi_uninstall_notify_handler().