Commit 23d077e2 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

drivers/pcmcia/soc_common.c: convert soc_pcmcia_sockets_lock into a mutex and make it static

Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 12d1e75d
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/timer.h> #include <linux/timer.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/mutex.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
...@@ -578,7 +579,7 @@ EXPORT_SYMBOL(soc_pcmcia_enable_irqs); ...@@ -578,7 +579,7 @@ EXPORT_SYMBOL(soc_pcmcia_enable_irqs);
LIST_HEAD(soc_pcmcia_sockets); LIST_HEAD(soc_pcmcia_sockets);
DECLARE_MUTEX(soc_pcmcia_sockets_lock); static DEFINE_MUTEX(soc_pcmcia_sockets_lock);
static const char *skt_names[] = { static const char *skt_names[] = {
"PCMCIA socket 0", "PCMCIA socket 0",
...@@ -601,11 +602,11 @@ soc_pcmcia_notifier(struct notifier_block *nb, unsigned long val, void *data) ...@@ -601,11 +602,11 @@ soc_pcmcia_notifier(struct notifier_block *nb, unsigned long val, void *data)
struct cpufreq_freqs *freqs = data; struct cpufreq_freqs *freqs = data;
int ret = 0; int ret = 0;
down(&soc_pcmcia_sockets_lock); mutex_lock(&soc_pcmcia_sockets_lock);
list_for_each_entry(skt, &soc_pcmcia_sockets, node) list_for_each_entry(skt, &soc_pcmcia_sockets, node)
if ( skt->ops->frequency_change ) if ( skt->ops->frequency_change )
ret += skt->ops->frequency_change(skt, val, freqs); ret += skt->ops->frequency_change(skt, val, freqs);
up(&soc_pcmcia_sockets_lock); mutex_unlock(&soc_pcmcia_sockets_lock);
return ret; return ret;
} }
...@@ -642,7 +643,7 @@ int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops ...@@ -642,7 +643,7 @@ int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops
struct soc_pcmcia_socket *skt; struct soc_pcmcia_socket *skt;
int ret, i; int ret, i;
down(&soc_pcmcia_sockets_lock); mutex_lock(&soc_pcmcia_sockets_lock);
sinfo = kzalloc(SKT_DEV_INFO_SIZE(nr), GFP_KERNEL); sinfo = kzalloc(SKT_DEV_INFO_SIZE(nr), GFP_KERNEL);
if (!sinfo) { if (!sinfo) {
...@@ -782,7 +783,7 @@ int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops ...@@ -782,7 +783,7 @@ int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops
kfree(sinfo); kfree(sinfo);
out: out:
up(&soc_pcmcia_sockets_lock); mutex_unlock(&soc_pcmcia_sockets_lock);
return ret; return ret;
} }
...@@ -793,7 +794,7 @@ int soc_common_drv_pcmcia_remove(struct device *dev) ...@@ -793,7 +794,7 @@ int soc_common_drv_pcmcia_remove(struct device *dev)
dev_set_drvdata(dev, NULL); dev_set_drvdata(dev, NULL);
down(&soc_pcmcia_sockets_lock); mutex_lock(&soc_pcmcia_sockets_lock);
for (i = 0; i < sinfo->nskt; i++) { for (i = 0; i < sinfo->nskt; i++) {
struct soc_pcmcia_socket *skt = &sinfo->skt[i]; struct soc_pcmcia_socket *skt = &sinfo->skt[i];
...@@ -818,7 +819,7 @@ int soc_common_drv_pcmcia_remove(struct device *dev) ...@@ -818,7 +819,7 @@ int soc_common_drv_pcmcia_remove(struct device *dev)
if (list_empty(&soc_pcmcia_sockets)) if (list_empty(&soc_pcmcia_sockets))
soc_pcmcia_cpufreq_unregister(); soc_pcmcia_cpufreq_unregister();
up(&soc_pcmcia_sockets_lock); mutex_unlock(&soc_pcmcia_sockets_lock);
kfree(sinfo); kfree(sinfo);
......
...@@ -133,7 +133,6 @@ extern void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *, struct soc_ ...@@ -133,7 +133,6 @@ extern void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *, struct soc_
extern struct list_head soc_pcmcia_sockets; extern struct list_head soc_pcmcia_sockets;
extern struct semaphore soc_pcmcia_sockets_lock;
extern int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops, int first, int nr); extern int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops, int first, int nr);
extern int soc_common_drv_pcmcia_remove(struct device *dev); extern int soc_common_drv_pcmcia_remove(struct device *dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment