| From akpm@linux-foundation.org Thu Apr 26 00:58:14 2007 |
| From: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> |
| Date: Thu, 26 Apr 2007 00:12:09 -0700 |
| Subject: drivers/base/attribute_container.c: use mutex instead of binary semaphore |
| To: greg@kroah.com |
| Cc: akpm@linux-foundation.org, matthias.kaehlcke@gmail.com |
| Message-ID: <200704260712.l3Q7C9XZ023456@shell0.pdx.osdl.net> |
| |
| |
| From: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> |
| |
| use mutex instead of binary semaphore in |
| drivers/base/attribute_container.c |
| |
| Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/base/attribute_container.c | 26 +++++++++++++------------- |
| 1 file changed, 13 insertions(+), 13 deletions(-) |
| |
| --- a/drivers/base/attribute_container.c |
| +++ b/drivers/base/attribute_container.c |
| @@ -62,7 +62,7 @@ EXPORT_SYMBOL_GPL(attribute_container_cl |
| |
| 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 |
| @@ -77,9 +77,9 @@ attribute_container_register(struct attr |
| 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; |
| } |
| @@ -94,7 +94,7 @@ 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; |
| @@ -102,7 +102,7 @@ attribute_container_unregister(struct at |
| list_del(&cont->node); |
| out: |
| spin_unlock(&cont->containers.k_lock); |
| - up(&attribute_container_mutex); |
| + mutex_unlock(&attribute_container_mutex); |
| return retval; |
| |
| } |
| @@ -145,7 +145,7 @@ attribute_container_add_device(struct de |
| { |
| 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; |
| |
| @@ -173,7 +173,7 @@ attribute_container_add_device(struct de |
| 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 |
| @@ -211,7 +211,7 @@ attribute_container_remove_device(struct |
| { |
| 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; |
| @@ -234,7 +234,7 @@ attribute_container_remove_device(struct |
| } |
| } |
| } |
| - up(&attribute_container_mutex); |
| + mutex_unlock(&attribute_container_mutex); |
| } |
| |
| /** |
| @@ -255,7 +255,7 @@ attribute_container_device_trigger(struc |
| { |
| 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; |
| @@ -273,7 +273,7 @@ attribute_container_device_trigger(struc |
| fn(cont, dev, &ic->classdev); |
| } |
| } |
| - up(&attribute_container_mutex); |
| + mutex_unlock(&attribute_container_mutex); |
| } |
| |
| /** |
| @@ -295,12 +295,12 @@ attribute_container_trigger(struct devic |
| { |
| 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); |
| } |
| |
| /** |