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: (65 commits) ACPI: suppress power button event on S3 resume ACPI: resolve merge conflict between sem2mutex and processor_perflib.c ACPI: use for_each_possible_cpu() instead of for_each_cpu() ACPI: delete newly added debugging macros in processor_perflib.c ACPI: UP build fix for bugzilla-5737 Enable P-state software coordination via _PDC P-state software coordination for speedstep-centrino P-state software coordination for acpi-cpufreq P-state software coordination for ACPI core ACPI: create acpi_thermal_resume() ACPI: create acpi_fan_suspend()/acpi_fan_resume() ACPI: pass pm_message_t from acpi_device_suspend() to root_suspend() ACPI: create acpi_device_suspend()/acpi_device_resume() ACPI: replace spin_lock_irq with mutex for ec poll mode ACPI: Allow a WAN module enable/disable on a Thinkpad X60. sem2mutex: acpi, acpi_link_lock ACPI: delete unused acpi_bus_drivers_lock sem2mutex: drivers/acpi/processor_perflib.c ACPI add ia64 exports to build acpi_memhotplug as a module ACPI: asus_acpi_init(): propagate correct return value ... Manual resolve of conflicts in: arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c include/acpi/processor.h
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/pm.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/mutex.h>
|
||||
|
||||
#include <acpi/acpi_bus.h>
|
||||
#include <acpi/acpi_drivers.h>
|
||||
@@ -91,7 +92,7 @@ static struct {
|
||||
int count;
|
||||
struct list_head entries;
|
||||
} acpi_link;
|
||||
DECLARE_MUTEX(acpi_link_lock);
|
||||
DEFINE_MUTEX(acpi_link_lock);
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
PCI Link Device Management
|
||||
@@ -641,19 +642,19 @@ acpi_pci_link_allocate_irq(acpi_handle handle,
|
||||
return_VALUE(-1);
|
||||
}
|
||||
|
||||
down(&acpi_link_lock);
|
||||
mutex_lock(&acpi_link_lock);
|
||||
if (acpi_pci_link_allocate(link)) {
|
||||
up(&acpi_link_lock);
|
||||
mutex_unlock(&acpi_link_lock);
|
||||
return_VALUE(-1);
|
||||
}
|
||||
|
||||
if (!link->irq.active) {
|
||||
up(&acpi_link_lock);
|
||||
mutex_unlock(&acpi_link_lock);
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Link active IRQ is 0!\n"));
|
||||
return_VALUE(-1);
|
||||
}
|
||||
link->refcnt++;
|
||||
up(&acpi_link_lock);
|
||||
mutex_unlock(&acpi_link_lock);
|
||||
|
||||
if (triggering)
|
||||
*triggering = link->irq.triggering;
|
||||
@@ -691,9 +692,9 @@ int acpi_pci_link_free_irq(acpi_handle handle)
|
||||
return_VALUE(-1);
|
||||
}
|
||||
|
||||
down(&acpi_link_lock);
|
||||
mutex_lock(&acpi_link_lock);
|
||||
if (!link->irq.initialized) {
|
||||
up(&acpi_link_lock);
|
||||
mutex_unlock(&acpi_link_lock);
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Link isn't initialized\n"));
|
||||
return_VALUE(-1);
|
||||
}
|
||||
@@ -716,7 +717,7 @@ int acpi_pci_link_free_irq(acpi_handle handle)
|
||||
if (link->refcnt == 0) {
|
||||
acpi_ut_evaluate_object(link->handle, "_DIS", 0, NULL);
|
||||
}
|
||||
up(&acpi_link_lock);
|
||||
mutex_unlock(&acpi_link_lock);
|
||||
return_VALUE(link->irq.active);
|
||||
}
|
||||
|
||||
@@ -747,7 +748,7 @@ static int acpi_pci_link_add(struct acpi_device *device)
|
||||
strcpy(acpi_device_class(device), ACPI_PCI_LINK_CLASS);
|
||||
acpi_driver_data(device) = link;
|
||||
|
||||
down(&acpi_link_lock);
|
||||
mutex_lock(&acpi_link_lock);
|
||||
result = acpi_pci_link_get_possible(link);
|
||||
if (result)
|
||||
goto end;
|
||||
@@ -782,7 +783,7 @@ static int acpi_pci_link_add(struct acpi_device *device)
|
||||
end:
|
||||
/* disable all links -- to be activated on use */
|
||||
acpi_ut_evaluate_object(link->handle, "_DIS", 0, NULL);
|
||||
up(&acpi_link_lock);
|
||||
mutex_unlock(&acpi_link_lock);
|
||||
|
||||
if (result)
|
||||
kfree(link);
|
||||
@@ -840,9 +841,9 @@ static int acpi_pci_link_remove(struct acpi_device *device, int type)
|
||||
|
||||
link = (struct acpi_pci_link *)acpi_driver_data(device);
|
||||
|
||||
down(&acpi_link_lock);
|
||||
mutex_lock(&acpi_link_lock);
|
||||
list_del(&link->node);
|
||||
up(&acpi_link_lock);
|
||||
mutex_unlock(&acpi_link_lock);
|
||||
|
||||
kfree(link);
|
||||
|
||||
|
Reference in New Issue
Block a user