Skip to content

Commit

Permalink
Pull sem2mutex into release branch
Browse files Browse the repository at this point in the history
  • Loading branch information
Len Brown committed Jun 16, 2006
2 parents bf891bd + 36e4309 commit c080a3e
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 24 deletions.
25 changes: 13 additions & 12 deletions drivers/acpi/pci_link.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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);
}
Expand All @@ -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);
}

Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -837,9 +838,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);

Expand Down
23 changes: 12 additions & 11 deletions drivers/acpi/processor_perflib.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#ifdef CONFIG_X86_ACPI_CPUFREQ_PROC_INTF
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/mutex.h>

#include <asm/uaccess.h>
#endif
Expand All @@ -48,7 +49,7 @@
#define _COMPONENT ACPI_PROCESSOR_COMPONENT
ACPI_MODULE_NAME("acpi_processor")

static DECLARE_MUTEX(performance_sem);
static DEFINE_MUTEX(performance_mutex);

/*
* _PPC support is implemented as a CPUfreq policy notifier:
Expand All @@ -72,7 +73,7 @@ static int acpi_processor_ppc_notifier(struct notifier_block *nb,
struct acpi_processor *pr;
unsigned int ppc = 0;

down(&performance_sem);
mutex_lock(&performance_mutex);

if (event != CPUFREQ_INCOMPATIBLE)
goto out;
Expand All @@ -93,7 +94,7 @@ static int acpi_processor_ppc_notifier(struct notifier_block *nb,
core_frequency * 1000);

out:
up(&performance_sem);
mutex_unlock(&performance_mutex);

return 0;
}
Expand Down Expand Up @@ -564,16 +565,16 @@ acpi_processor_register_performance(struct acpi_processor_performance
if (!(acpi_processor_ppc_status & PPC_REGISTERED))
return_VALUE(-EINVAL);

down(&performance_sem);
mutex_lock(&performance_mutex);

pr = processors[cpu];
if (!pr) {
up(&performance_sem);
mutex_unlock(&performance_mutex);
return_VALUE(-ENODEV);
}

if (pr->performance) {
up(&performance_sem);
mutex_unlock(&performance_mutex);
return_VALUE(-EBUSY);
}

Expand All @@ -583,13 +584,13 @@ acpi_processor_register_performance(struct acpi_processor_performance

if (acpi_processor_get_performance_info(pr)) {
pr->performance = NULL;
up(&performance_sem);
mutex_unlock(&performance_mutex);
return_VALUE(-EIO);
}

acpi_cpufreq_add_file(pr);

up(&performance_sem);
mutex_unlock(&performance_mutex);
return_VALUE(0);
}

Expand All @@ -603,11 +604,11 @@ acpi_processor_unregister_performance(struct acpi_processor_performance

ACPI_FUNCTION_TRACE("acpi_processor_unregister_performance");

down(&performance_sem);
mutex_lock(&performance_mutex);

pr = processors[cpu];
if (!pr) {
up(&performance_sem);
mutex_unlock(&performance_mutex);
return_VOID;
}

Expand All @@ -617,7 +618,7 @@ acpi_processor_unregister_performance(struct acpi_processor_performance

acpi_cpufreq_remove_file(pr);

up(&performance_sem);
mutex_unlock(&performance_mutex);

return_VOID;
}
Expand Down
1 change: 0 additions & 1 deletion drivers/acpi/scan.c
Original file line number Diff line number Diff line change
Expand Up @@ -459,7 +459,6 @@ static int acpi_bus_get_perf_flags(struct acpi_device *device)
-------------------------------------------------------------------------- */

static LIST_HEAD(acpi_bus_drivers);
static DECLARE_MUTEX(acpi_bus_drivers_lock);

/**
* acpi_bus_match - match device IDs to driver's supported IDs
Expand Down

0 comments on commit c080a3e

Please sign in to comment.