Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: ACPI_DOCK: Initialize the atomic notifier list ACPI: acpi_os_allocate() fixes ACPI: SBS: fix initialization, sem2mutex ACPI: add 'const' to several ACPI file_operations ACPI: delete some defaults from ACPI Kconfig ACPI: "Device `[%s]' is not power manageable" make message debug only ACPI: ACPI_DOCK Kconfig Revert "Revert "ACPI: dock driver"" ACPI: acpi_os_get_thread_id() returns current ACPI: ACPICA 20060707
This commit is contained in:
commit
c80dc60b03
52 changed files with 1086 additions and 228 deletions
|
|
@ -63,7 +63,7 @@
|
|||
|
||||
/* Current ACPICA subsystem version in YYYYMMDD format */
|
||||
|
||||
#define ACPI_CA_VERSION 0x20060623
|
||||
#define ACPI_CA_VERSION 0x20060707
|
||||
|
||||
/*
|
||||
* OS name, used for the _OS object. The _OS object is essentially obsolete,
|
||||
|
|
|
|||
|
|
@ -53,10 +53,14 @@
|
|||
#define ACPI_EXD_TABLE_SIZE(name) (sizeof(name) / sizeof (struct acpi_exdump_info))
|
||||
|
||||
/*
|
||||
* If possible, pack the following structure to byte alignment, since we
|
||||
* don't care about performance for debug output
|
||||
* If possible, pack the following structures to byte alignment, since we
|
||||
* don't care about performance for debug output. Two cases where we cannot
|
||||
* pack the structures:
|
||||
*
|
||||
* 1) Hardware does not support misaligned memory transfers
|
||||
* 2) Compiler does not support pointers within packed structures
|
||||
*/
|
||||
#ifndef ACPI_MISALIGNMENT_NOT_SUPPORTED
|
||||
#if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED))
|
||||
#pragma pack(1)
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ typedef u8 acpi_owner_id;
|
|||
|
||||
/* This Thread ID means that the mutex is not in use (unlocked) */
|
||||
|
||||
#define ACPI_MUTEX_NOT_ACQUIRED (u32) -1
|
||||
#define ACPI_MUTEX_NOT_ACQUIRED (acpi_thread_id) 0
|
||||
|
||||
/* Table for the global mutexes */
|
||||
|
||||
|
|
@ -204,7 +204,7 @@ struct acpi_namespace_node {
|
|||
/* Namespace Node flags */
|
||||
|
||||
#define ANOBJ_END_OF_PEER_LIST 0x01 /* End-of-list, Peer field points to parent */
|
||||
#define ANOBJ_DATA_WIDTH_32 0x02 /* Parent table uses 32-bit math */
|
||||
#define ANOBJ_RESERVED 0x02 /* Available for future use */
|
||||
#define ANOBJ_METHOD_ARG 0x04 /* Node is a method argument */
|
||||
#define ANOBJ_METHOD_LOCAL 0x08 /* Node is a method local */
|
||||
#define ANOBJ_SUBTREE_HAS_INI 0x10 /* Used to optimize device initialization */
|
||||
|
|
|
|||
|
|
@ -724,9 +724,15 @@
|
|||
|
||||
/* Memory allocation */
|
||||
|
||||
#ifndef ACPI_ALLOCATE
|
||||
#define ACPI_ALLOCATE(a) acpi_ut_allocate((acpi_size)(a),_COMPONENT,_acpi_module_name,__LINE__)
|
||||
#endif
|
||||
#ifndef ACPI_ALLOCATE_ZEROED
|
||||
#define ACPI_ALLOCATE_ZEROED(a) acpi_ut_allocate_zeroed((acpi_size)(a), _COMPONENT,_acpi_module_name,__LINE__)
|
||||
#define ACPI_FREE(a) kfree(a)
|
||||
#endif
|
||||
#ifndef ACPI_FREE
|
||||
#define ACPI_FREE(a) acpio_os_free(a)
|
||||
#endif
|
||||
#define ACPI_MEM_TRACKING(a)
|
||||
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -334,7 +334,7 @@ int acpi_bus_add(struct acpi_device **child, struct acpi_device *parent,
|
|||
acpi_handle handle, int type);
|
||||
int acpi_bus_trim(struct acpi_device *start, int rmdevice);
|
||||
int acpi_bus_start(struct acpi_device *device);
|
||||
|
||||
acpi_status acpi_bus_get_ejd(acpi_handle handle, acpi_handle *ejd);
|
||||
int acpi_match_ids(struct acpi_device *device, char *ids);
|
||||
int acpi_create_dir(struct acpi_device *);
|
||||
void acpi_remove_dir(struct acpi_device *);
|
||||
|
|
|
|||
|
|
@ -110,4 +110,21 @@ int acpi_processor_set_thermal_limit(acpi_handle handle, int type);
|
|||
|
||||
extern int acpi_specific_hotkey_enabled;
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
Dock Station
|
||||
-------------------------------------------------------------------------- */
|
||||
#if defined(CONFIG_ACPI_DOCK) || defined(CONFIG_ACPI_DOCK_MODULE)
|
||||
extern int is_dock_device(acpi_handle handle);
|
||||
extern int register_dock_notifier(struct notifier_block *nb);
|
||||
extern void unregister_dock_notifier(struct notifier_block *nb);
|
||||
extern int register_hotplug_dock_device(acpi_handle handle,
|
||||
acpi_notify_handler handler, void *context);
|
||||
extern void unregister_hotplug_dock_device(acpi_handle handle);
|
||||
#else
|
||||
#define is_dock_device(h) (0)
|
||||
#define register_dock_notifier(nb) (-ENODEV)
|
||||
#define unregister_dock_notifier(nb) do { } while(0)
|
||||
#define register_hotplug_dock_device(h1, h2, c) (-ENODEV)
|
||||
#define unregister_hotplug_dock_device(h) do { } while(0)
|
||||
#endif
|
||||
#endif /*__ACPI_DRIVERS_H__*/
|
||||
|
|
|
|||
|
|
@ -50,9 +50,13 @@
|
|||
|
||||
/*
|
||||
* If possible, pack the following structures to byte alignment, since we
|
||||
* don't care about performance for debug output
|
||||
* don't care about performance for debug output. Two cases where we cannot
|
||||
* pack the structures:
|
||||
*
|
||||
* 1) Hardware does not support misaligned memory transfers
|
||||
* 2) Compiler does not support pointers within packed structures
|
||||
*/
|
||||
#ifndef ACPI_MISALIGNMENT_NOT_SUPPORTED
|
||||
#if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED))
|
||||
#pragma pack(1)
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@
|
|||
#include <asm/acpi.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/spinlock_types.h>
|
||||
#include <asm/current.h>
|
||||
|
||||
/* Host-dependent types and defines */
|
||||
|
||||
|
|
@ -100,8 +101,30 @@
|
|||
|
||||
#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__ */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue