diff options
| author | Len Brown <len.brown@intel.com> | 2006-07-10 02:39:47 -0400 |
|---|---|---|
| committer | Len Brown <len.brown@intel.com> | 2006-07-10 02:39:47 -0400 |
| commit | c0dc250e89cb8af77c5689b36eda851158e8573e (patch) | |
| tree | 41c11fb811b31ee28bd20befdc685384f96db1fc /include | |
| parent | 0f12b15ebcedce115a5d8e5ff741e49a7993f67c (diff) | |
| parent | e21c1ca3f98529921c829a792dfdbfc5a5dc393b (diff) | |
Pull acpi_os_allocate into test branch
Diffstat (limited to 'include')
| -rw-r--r-- | include/acpi/acmacros.h | 8 | ||||
| -rw-r--r-- | include/acpi/platform/aclinux.h | 22 |
2 files changed, 29 insertions, 1 deletions
diff --git a/include/acpi/acmacros.h b/include/acpi/acmacros.h index f1ac6109556e..192fa095a515 100644 --- a/include/acpi/acmacros.h +++ b/include/acpi/acmacros.h | |||
| @@ -724,9 +724,15 @@ | |||
| 724 | 724 | ||
| 725 | /* Memory allocation */ | 725 | /* Memory allocation */ |
| 726 | 726 | ||
| 727 | #ifndef ACPI_ALLOCATE | ||
| 727 | #define ACPI_ALLOCATE(a) acpi_ut_allocate((acpi_size)(a),_COMPONENT,_acpi_module_name,__LINE__) | 728 | #define ACPI_ALLOCATE(a) acpi_ut_allocate((acpi_size)(a),_COMPONENT,_acpi_module_name,__LINE__) |
| 729 | #endif | ||
| 730 | #ifndef ACPI_ALLOCATE_ZEROED | ||
| 728 | #define ACPI_ALLOCATE_ZEROED(a) acpi_ut_allocate_zeroed((acpi_size)(a), _COMPONENT,_acpi_module_name,__LINE__) | 731 | #define ACPI_ALLOCATE_ZEROED(a) acpi_ut_allocate_zeroed((acpi_size)(a), _COMPONENT,_acpi_module_name,__LINE__) |
| 729 | #define ACPI_FREE(a) kfree(a) | 732 | #endif |
| 733 | #ifndef ACPI_FREE | ||
| 734 | #define ACPI_FREE(a) acpio_os_free(a) | ||
| 735 | #endif | ||
| 730 | #define ACPI_MEM_TRACKING(a) | 736 | #define ACPI_MEM_TRACKING(a) |
| 731 | 737 | ||
| 732 | #else | 738 | #else |
diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h index 1cb51bf96ece..47faf27913a5 100644 --- a/include/acpi/platform/aclinux.h +++ b/include/acpi/platform/aclinux.h | |||
| @@ -105,4 +105,26 @@ | |||
| 105 | 105 | ||
| 106 | static inline acpi_thread_id acpi_os_get_thread_id(void) { return current; } | 106 | static inline acpi_thread_id acpi_os_get_thread_id(void) { return current; } |
| 107 | 107 | ||
| 108 | /* | ||
| 109 | * The irqs_disabled() check is for resume from RAM. | ||
| 110 | * Interrupts are off during resume, just like they are for boot. | ||
| 111 | * However, boot has (system_state != SYSTEM_RUNNING) | ||
| 112 | * to quiet __might_sleep() in kmalloc() and resume does not. | ||
| 113 | */ | ||
| 114 | #include <acpi/actypes.h> | ||
| 115 | static inline void *acpi_os_allocate(acpi_size size) { | ||
| 116 | return kmalloc(size, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL); | ||
| 117 | } | ||
| 118 | static inline void *acpi_os_allocate_zeroed(acpi_size size) { | ||
| 119 | return kzalloc(size, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL); | ||
| 120 | } | ||
| 121 | |||
| 122 | static inline void *acpi_os_acquire_object(acpi_cache_t * cache) { | ||
| 123 | return kmem_cache_zalloc(cache, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL); | ||
| 124 | } | ||
| 125 | |||
| 126 | #define ACPI_ALLOCATE(a) acpi_os_allocate(a) | ||
| 127 | #define ACPI_ALLOCATE_ZEROED(a) acpi_os_allocate_zeroed(a) | ||
| 128 | #define ACPI_FREE(a) kfree(a) | ||
| 129 | |||
| 108 | #endif /* __ACLINUX_H__ */ | 130 | #endif /* __ACLINUX_H__ */ |
