Skip to content

Commit

Permalink
drivers/base/attribute_container.c: use mutex instead of binary semap…
Browse files Browse the repository at this point in the history
…hore

use mutex instead of binary semaphore in
drivers/base/attribute_container.c

Signed-off-by: Matthias Kaehlcke <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
Matthias Kaehlcke authored and gregkh committed Apr 27, 2007
1 parent 240936e commit 61a2f59
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions drivers/base/attribute_container.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ EXPORT_SYMBOL_GPL(attribute_container_classdev_to_container);

static struct list_head attribute_container_list;

static DECLARE_MUTEX(attribute_container_mutex);
static DEFINE_MUTEX(attribute_container_mutex);

/**
* attribute_container_register - register an attribute container
Expand All @@ -77,9 +77,9 @@ attribute_container_register(struct attribute_container *cont)
klist_init(&cont->containers,internal_container_klist_get,
internal_container_klist_put);

down(&attribute_container_mutex);
mutex_lock(&attribute_container_mutex);
list_add_tail(&cont->node, &attribute_container_list);
up(&attribute_container_mutex);
mutex_unlock(&attribute_container_mutex);

return 0;
}
Expand All @@ -94,15 +94,15 @@ int
attribute_container_unregister(struct attribute_container *cont)
{
int retval = -EBUSY;
down(&attribute_container_mutex);
mutex_lock(&attribute_container_mutex);
spin_lock(&cont->containers.k_lock);
if (!list_empty(&cont->containers.k_list))
goto out;
retval = 0;
list_del(&cont->node);
out:
spin_unlock(&cont->containers.k_lock);
up(&attribute_container_mutex);
mutex_unlock(&attribute_container_mutex);
return retval;

}
Expand Down Expand Up @@ -145,7 +145,7 @@ attribute_container_add_device(struct device *dev,
{
struct attribute_container *cont;

down(&attribute_container_mutex);
mutex_lock(&attribute_container_mutex);
list_for_each_entry(cont, &attribute_container_list, node) {
struct internal_container *ic;

Expand Down Expand Up @@ -173,7 +173,7 @@ attribute_container_add_device(struct device *dev,
attribute_container_add_class_device(&ic->classdev);
klist_add_tail(&ic->node, &cont->containers);
}
up(&attribute_container_mutex);
mutex_unlock(&attribute_container_mutex);
}

/* FIXME: can't break out of this unless klist_iter_exit is also
Expand Down Expand Up @@ -211,7 +211,7 @@ attribute_container_remove_device(struct device *dev,
{
struct attribute_container *cont;

down(&attribute_container_mutex);
mutex_lock(&attribute_container_mutex);
list_for_each_entry(cont, &attribute_container_list, node) {
struct internal_container *ic;
struct klist_iter iter;
Expand All @@ -234,7 +234,7 @@ attribute_container_remove_device(struct device *dev,
}
}
}
up(&attribute_container_mutex);
mutex_unlock(&attribute_container_mutex);
}

/**
Expand All @@ -255,7 +255,7 @@ attribute_container_device_trigger(struct device *dev,
{
struct attribute_container *cont;

down(&attribute_container_mutex);
mutex_lock(&attribute_container_mutex);
list_for_each_entry(cont, &attribute_container_list, node) {
struct internal_container *ic;
struct klist_iter iter;
Expand All @@ -273,7 +273,7 @@ attribute_container_device_trigger(struct device *dev,
fn(cont, dev, &ic->classdev);
}
}
up(&attribute_container_mutex);
mutex_unlock(&attribute_container_mutex);
}

/**
Expand All @@ -295,12 +295,12 @@ attribute_container_trigger(struct device *dev,
{
struct attribute_container *cont;

down(&attribute_container_mutex);
mutex_lock(&attribute_container_mutex);
list_for_each_entry(cont, &attribute_container_list, node) {
if (cont->match(cont, dev))
fn(cont, dev);
}
up(&attribute_container_mutex);
mutex_unlock(&attribute_container_mutex);
}

/**
Expand Down

0 comments on commit 61a2f59

Please sign in to comment.