Pull acpi_os_allocate into test branch
authorLen Brown <len.brown@intel.com>
Mon, 10 Jul 2006 06:39:47 +0000 (02:39 -0400)
committerLen Brown <len.brown@intel.com>
Mon, 10 Jul 2006 06:39:47 +0000 (02:39 -0400)
1  2 
include/acpi/platform/aclinux.h

index 1cb51bf96ece64d4995666989c200e7bc8ec0812,f0118262ac2715adadddfb518f461cfdb4b57450..47faf27913a576ccf930d8cbcad1f8a3fc8f2215
  
  #define acpi_cpu_flags unsigned long
  
 -#define acpi_thread_id u32
 +#define acpi_thread_id struct task_struct *
  
 -static inline acpi_thread_id acpi_os_get_thread_id(void) { return 0; }
 +static inline acpi_thread_id acpi_os_get_thread_id(void) { return current; }
  
+ /*
+  * The irqs_disabled() check is for resume from RAM.
+  * Interrupts are off during resume, just like they are for boot.
+  * However, boot has  (system_state != SYSTEM_RUNNING)
+  * to quiet __might_sleep() in kmalloc() and resume does not.
+  */
+ #include <acpi/actypes.h>
+ static inline void *acpi_os_allocate(acpi_size size) {
+       return kmalloc(size, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL);
+ }
+ static inline void *acpi_os_allocate_zeroed(acpi_size size) {
+       return kzalloc(size, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL);
+ }
+ static inline void *acpi_os_acquire_object(acpi_cache_t * cache) {
+         return kmem_cache_zalloc(cache, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL);
+ }
+ #define ACPI_ALLOCATE(a)      acpi_os_allocate(a)
+ #define ACPI_ALLOCATE_ZEROED(a)       acpi_os_allocate_zeroed(a)
+ #define ACPI_FREE(a)          kfree(a)
  #endif                                /* __ACLINUX_H__ */