diff options
author | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-22 21:46:56 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-22 21:46:56 -0500 |
commit | 18ed1c051317ac3a685120cead2adb192b802347 (patch) | |
tree | c08a9147119a6cb69114166c7107f6b0bba6e2ab /include/asm-x86_64/acpi.h | |
parent | dab6df63086762629936e8b89a5984bae39724f6 (diff) | |
parent | 36bcbec7ce21e2e8b3143b11a05747330abeca70 (diff) |
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: (68 commits)
ACPI: replace kmalloc+memset with kzalloc
ACPI: Add support for acpi_load_table/acpi_unload_table_id
fbdev: update after backlight argument change
ACPI: video: Add dev argument for backlight_device_register
ACPI: Implement acpi_video_get_next_level()
ACPI: Kconfig - depend on PM rather than selecting it
ACPI: fix NULL check in drivers/acpi/osl.c
ACPI: make drivers/acpi/ec.c:ec_ecdt static
ACPI: prevent processor module from loading on failures
ACPI: fix single linked list manipulation
ACPI: ibm_acpi: allow clean removal
ACPI: fix git automerge failure
ACPI: ibm_acpi: respond to workqueue update
ACPI: dock: add uevent to indicate change in device status
ACPI: ec: Lindent once again
ACPI: ec: Change #define to enums there possible.
ACPI: ec: Style changes.
ACPI: ec: Acquire Global Lock under EC mutex.
ACPI: ec: Drop udelay() from poll mode. Loop by reading status field instead.
ACPI: ec: Rename gpe_bit to gpe
...
Diffstat (limited to 'include/asm-x86_64/acpi.h')
-rw-r--r-- | include/asm-x86_64/acpi.h | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/include/asm-x86_64/acpi.h b/include/asm-x86_64/acpi.h index 9d1916e59c04..6b6fc6f8be7e 100644 --- a/include/asm-x86_64/acpi.h +++ b/include/asm-x86_64/acpi.h | |||
@@ -54,30 +54,8 @@ | |||
54 | #define ACPI_ENABLE_IRQS() local_irq_enable() | 54 | #define ACPI_ENABLE_IRQS() local_irq_enable() |
55 | #define ACPI_FLUSH_CPU_CACHE() wbinvd() | 55 | #define ACPI_FLUSH_CPU_CACHE() wbinvd() |
56 | 56 | ||
57 | 57 | int __acpi_acquire_global_lock(unsigned int *lock); | |
58 | static inline int | 58 | int __acpi_release_global_lock(unsigned int *lock); |
59 | __acpi_acquire_global_lock (unsigned int *lock) | ||
60 | { | ||
61 | unsigned int old, new, val; | ||
62 | do { | ||
63 | old = *lock; | ||
64 | new = (((old & ~0x3) + 2) + ((old >> 1) & 0x1)); | ||
65 | val = cmpxchg(lock, old, new); | ||
66 | } while (unlikely (val != old)); | ||
67 | return (new < 3) ? -1 : 0; | ||
68 | } | ||
69 | |||
70 | static inline int | ||
71 | __acpi_release_global_lock (unsigned int *lock) | ||
72 | { | ||
73 | unsigned int old, new, val; | ||
74 | do { | ||
75 | old = *lock; | ||
76 | new = old & ~0x3; | ||
77 | val = cmpxchg(lock, old, new); | ||
78 | } while (unlikely (val != old)); | ||
79 | return old & 0x1; | ||
80 | } | ||
81 | 59 | ||
82 | #define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) \ | 60 | #define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) \ |
83 | ((Acq) = __acpi_acquire_global_lock((unsigned int *) GLptr)) | 61 | ((Acq) = __acpi_acquire_global_lock((unsigned int *) GLptr)) |