Pull trivial into test branch
Conflicts: drivers/acpi/ec.c
This commit is contained in:
Коммит
463e7c7cf9
|
@ -1397,6 +1397,15 @@ W: http://www.ia64-linux.org/
|
|||
T: git kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git
|
||||
S: Maintained
|
||||
|
||||
IBM ACPI EXTRAS DRIVER
|
||||
P: Henrique de Moraes Holschuh
|
||||
M: ibm-acpi@hmh.eng.br
|
||||
L: ibm-acpi-devel@lists.sourceforge.net
|
||||
W: http://ibm-acpi.sourceforge.net
|
||||
W: http://thinkwiki.org/wiki/Ibm-acpi
|
||||
T: git repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git
|
||||
S: Maintained
|
||||
|
||||
SN-IA64 (Itanium) SUB-PLATFORM
|
||||
P: Jes Sorensen
|
||||
M: jes@sgi.com
|
||||
|
|
|
@ -1327,3 +1327,25 @@ static int __init setup_acpi_sci(char *s)
|
|||
return 0;
|
||||
}
|
||||
early_param("acpi_sci", setup_acpi_sci);
|
||||
|
||||
int __acpi_acquire_global_lock(unsigned int *lock)
|
||||
{
|
||||
unsigned int old, new, val;
|
||||
do {
|
||||
old = *lock;
|
||||
new = (((old & ~0x3) + 2) + ((old >> 1) & 0x1));
|
||||
val = cmpxchg(lock, old, new);
|
||||
} while (unlikely (val != old));
|
||||
return (new < 3) ? -1 : 0;
|
||||
}
|
||||
|
||||
int __acpi_release_global_lock(unsigned int *lock)
|
||||
{
|
||||
unsigned int old, new, val;
|
||||
do {
|
||||
old = *lock;
|
||||
new = old & ~0x3;
|
||||
val = cmpxchg(lock, old, new);
|
||||
} while (unlikely (val != old));
|
||||
return old & 0x1;
|
||||
}
|
||||
|
|
|
@ -569,6 +569,7 @@ static int sw_any_bug_found(struct dmi_system_id *d)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
static struct dmi_system_id sw_any_bug_dmi_table[] = {
|
||||
{
|
||||
.callback = sw_any_bug_found,
|
||||
|
|
|
@ -367,7 +367,7 @@ int ec_write(u8 addr, u8 val)
|
|||
|
||||
EXPORT_SYMBOL(ec_write);
|
||||
|
||||
extern int ec_transaction(u8 command,
|
||||
int ec_transaction(u8 command,
|
||||
const u8 * wdata, unsigned wdata_len,
|
||||
u8 * rdata, unsigned rdata_len)
|
||||
{
|
||||
|
|
|
@ -331,7 +331,6 @@ static void ACPI_SYSTEM_XFACE acpi_ev_global_lock_thread(void *context)
|
|||
static u32 acpi_ev_global_lock_handler(void *context)
|
||||
{
|
||||
u8 acquired = FALSE;
|
||||
acpi_status status;
|
||||
|
||||
/*
|
||||
* Attempt to get the lock
|
||||
|
|
|
@ -266,10 +266,10 @@ acpi_ex_release_mutex(union acpi_operand_object *obj_desc,
|
|||
walk_state->thread->thread_id)
|
||||
&& (obj_desc->mutex.os_mutex != ACPI_GLOBAL_LOCK)) {
|
||||
ACPI_ERROR((AE_INFO,
|
||||
"Thread %X cannot release Mutex [%4.4s] acquired by thread %X",
|
||||
(u32) walk_state->thread->thread_id,
|
||||
"Thread %lX cannot release Mutex [%4.4s] acquired by thread %lX",
|
||||
(unsigned long)walk_state->thread->thread_id,
|
||||
acpi_ut_get_node_name(obj_desc->mutex.node),
|
||||
(u32) obj_desc->mutex.owner_thread->thread_id));
|
||||
(unsigned long)obj_desc->mutex.owner_thread->thread_id));
|
||||
return_ACPI_STATUS(AE_AML_NOT_OWNER);
|
||||
}
|
||||
|
||||
|
|
|
@ -189,8 +189,12 @@ find_pci_rootbridge(acpi_handle handle, u32 lvl, void *context, void **rv)
|
|||
bus = tmp;
|
||||
|
||||
if (seg == find->seg && bus == find->bus)
|
||||
{
|
||||
find->handle = handle;
|
||||
status = AE_OK;
|
||||
status = AE_CTRL_TERMINATE;
|
||||
}
|
||||
else
|
||||
status = AE_OK;
|
||||
exit:
|
||||
kfree(buffer.pointer);
|
||||
return status;
|
||||
|
|
|
@ -183,11 +183,11 @@ late_initcall(acpi_wakeup_device_init);
|
|||
#endif
|
||||
|
||||
/*
|
||||
* Disable all wakeup GPEs before power off.
|
||||
*
|
||||
* Disable all wakeup GPEs before entering requested sleep state.
|
||||
* @sleep_state: ACPI state
|
||||
* Since acpi_enter_sleep_state() will disable all
|
||||
* RUNTIME GPEs, we simply mark all GPES that
|
||||
* are not enabled for wakeup from S5 as RUNTIME.
|
||||
* are not enabled for wakeup from requested state as RUNTIME.
|
||||
*/
|
||||
void acpi_gpe_sleep_prepare(u32 sleep_state)
|
||||
{
|
||||
|
|
|
@ -180,8 +180,9 @@ acpi_ut_debug_print(u32 requested_debug_level,
|
|||
if (thread_id != acpi_gbl_prev_thread_id) {
|
||||
if (ACPI_LV_THREADS & acpi_dbg_level) {
|
||||
acpi_os_printf
|
||||
("\n**** Context Switch from TID %X to TID %X ****\n\n",
|
||||
(u32) acpi_gbl_prev_thread_id, (u32) thread_id);
|
||||
("\n**** Context Switch from TID %lX to TID %lX ****\n\n",
|
||||
(unsigned long) acpi_gbl_prev_thread_id,
|
||||
(unsigned long) thread_id);
|
||||
}
|
||||
|
||||
acpi_gbl_prev_thread_id = thread_id;
|
||||
|
|
|
@ -243,23 +243,24 @@ acpi_status acpi_ut_acquire_mutex(acpi_mutex_handle mutex_id)
|
|||
#endif
|
||||
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_MUTEX,
|
||||
"Thread %X attempting to acquire Mutex [%s]\n",
|
||||
(u32) this_thread_id, acpi_ut_get_mutex_name(mutex_id)));
|
||||
"Thread %lX attempting to acquire Mutex [%s]\n",
|
||||
(unsigned long) this_thread_id,
|
||||
acpi_ut_get_mutex_name(mutex_id)));
|
||||
|
||||
status = acpi_os_acquire_mutex(acpi_gbl_mutex_info[mutex_id].mutex,
|
||||
ACPI_WAIT_FOREVER);
|
||||
if (ACPI_SUCCESS(status)) {
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_MUTEX,
|
||||
"Thread %X acquired Mutex [%s]\n",
|
||||
(u32) this_thread_id,
|
||||
"Thread %lX acquired Mutex [%s]\n",
|
||||
(unsigned long) this_thread_id,
|
||||
acpi_ut_get_mutex_name(mutex_id)));
|
||||
|
||||
acpi_gbl_mutex_info[mutex_id].use_count++;
|
||||
acpi_gbl_mutex_info[mutex_id].thread_id = this_thread_id;
|
||||
} else {
|
||||
ACPI_EXCEPTION((AE_INFO, status,
|
||||
"Thread %X could not acquire Mutex [%X]",
|
||||
(u32) this_thread_id, mutex_id));
|
||||
"Thread %lX could not acquire Mutex [%X]",
|
||||
(unsigned long) this_thread_id, mutex_id));
|
||||
}
|
||||
|
||||
return (status);
|
||||
|
@ -285,7 +286,8 @@ acpi_status acpi_ut_release_mutex(acpi_mutex_handle mutex_id)
|
|||
|
||||
this_thread_id = acpi_os_get_thread_id();
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_MUTEX,
|
||||
"Thread %X releasing Mutex [%s]\n", (u32) this_thread_id,
|
||||
"Thread %lX releasing Mutex [%s]\n",
|
||||
(unsigned long) this_thread_id,
|
||||
acpi_ut_get_mutex_name(mutex_id)));
|
||||
|
||||
if (mutex_id > ACPI_MAX_MUTEX) {
|
||||
|
|
|
@ -56,30 +56,8 @@
|
|||
#define ACPI_ENABLE_IRQS() local_irq_enable()
|
||||
#define ACPI_FLUSH_CPU_CACHE() wbinvd()
|
||||
|
||||
|
||||
static inline int
|
||||
__acpi_acquire_global_lock (unsigned int *lock)
|
||||
{
|
||||
unsigned int old, new, val;
|
||||
do {
|
||||
old = *lock;
|
||||
new = (((old & ~0x3) + 2) + ((old >> 1) & 0x1));
|
||||
val = cmpxchg(lock, old, new);
|
||||
} while (unlikely (val != old));
|
||||
return (new < 3) ? -1 : 0;
|
||||
}
|
||||
|
||||
static inline int
|
||||
__acpi_release_global_lock (unsigned int *lock)
|
||||
{
|
||||
unsigned int old, new, val;
|
||||
do {
|
||||
old = *lock;
|
||||
new = old & ~0x3;
|
||||
val = cmpxchg(lock, old, new);
|
||||
} while (unlikely (val != old));
|
||||
return old & 0x1;
|
||||
}
|
||||
int __acpi_acquire_global_lock(unsigned int *lock);
|
||||
int __acpi_release_global_lock(unsigned int *lock);
|
||||
|
||||
#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) \
|
||||
((Acq) = __acpi_acquire_global_lock((unsigned int *) GLptr))
|
||||
|
|
|
@ -54,30 +54,8 @@
|
|||
#define ACPI_ENABLE_IRQS() local_irq_enable()
|
||||
#define ACPI_FLUSH_CPU_CACHE() wbinvd()
|
||||
|
||||
|
||||
static inline int
|
||||
__acpi_acquire_global_lock (unsigned int *lock)
|
||||
{
|
||||
unsigned int old, new, val;
|
||||
do {
|
||||
old = *lock;
|
||||
new = (((old & ~0x3) + 2) + ((old >> 1) & 0x1));
|
||||
val = cmpxchg(lock, old, new);
|
||||
} while (unlikely (val != old));
|
||||
return (new < 3) ? -1 : 0;
|
||||
}
|
||||
|
||||
static inline int
|
||||
__acpi_release_global_lock (unsigned int *lock)
|
||||
{
|
||||
unsigned int old, new, val;
|
||||
do {
|
||||
old = *lock;
|
||||
new = old & ~0x3;
|
||||
val = cmpxchg(lock, old, new);
|
||||
} while (unlikely (val != old));
|
||||
return old & 0x1;
|
||||
}
|
||||
int __acpi_acquire_global_lock(unsigned int *lock);
|
||||
int __acpi_release_global_lock(unsigned int *lock);
|
||||
|
||||
#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) \
|
||||
((Acq) = __acpi_acquire_global_lock((unsigned int *) GLptr))
|
||||
|
|
Загрузка…
Ссылка в новой задаче