drivers/pcmcia/soc_common.c: convert soc_pcmcia_sockets_lock in a mutex
PATCH 1/1 drivers/pcmcia/soc_common.c: convert soc_pcmcia_sockets_lock in a mutex
drivers/pcmcia/soc_common.c: the semaphore soc_pcmcia_sockets_lock is used as a mutex, convert it to the mutex API
--
drivers/pcmcia/soc_common.c +7 -7
@@ -578,7 +578,7 @@ EXPORT_SYMBOL(soc_pcmcia_enable_irqs);LIST_HEAD (soc_pcmcia_sockets); -DECLARE_MUTEX (soc_pcmcia_sockets_lock); +DEFINE_MUTEX (soc_pcmcia_sockets_lock);static const char *skt_names[] = {"PCMCIA socket 0" ,
@@ -601,11 +601,11 @@ soc_pcmcia_notifier(struct notifier_block *nb, unsigned long val, void *data)struct cpufreq_freqs *freqs = data;int ret =0 ; -down (&soc_pcmcia_sockets_lock); +mutex_lock (&soc_pcmcia_sockets_lock);list_for_each_entry (skt, &soc_pcmcia_sockets, node)if ( skt->ops->frequency_change ) ret += skt->ops->frequency_change (skt, val, freqs); -up (&soc_pcmcia_sockets_lock); +mutex_unlock (&soc_pcmcia_sockets_lock);return ret; }
@@ -642,7 +642,7 @@ int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *opsstruct soc_pcmcia_socket *skt;int ret, i; -down (&soc_pcmcia_sockets_lock); +mutex_lock (&soc_pcmcia_sockets_lock); sinfo =kzalloc (SKT_DEV_INFO_SIZE (nr),GFP_KERNEL );if (!sinfo) {
@@ -782,7 +782,7 @@ int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *opskfree (sinfo); out: -up (&soc_pcmcia_sockets_lock); +mutex_unlock (&soc_pcmcia_sockets_lock);return ret; }
@@ -793,7 +793,7 @@ int soc_common_drv_pcmcia_remove(struct device *dev)dev_set_drvdata (dev,NULL ); -down (&soc_pcmcia_sockets_lock); +mutex_lock (&soc_pcmcia_sockets_lock);for (i =0 ; i < sinfo->nskt; i++) {struct soc_pcmcia_socket *skt = &sinfo->skt[i];
@@ -818,7 +818,7 @@ int soc_common_drv_pcmcia_remove(struct device *dev)if (list_empty (&soc_pcmcia_sockets))soc_pcmcia_cpufreq_unregister (); -up (&soc_pcmcia_sockets_lock); +mutex_unlock (&soc_pcmcia_sockets_lock);kfree (sinfo);
drivers/pcmcia/soc_common.h +2 -1
@@ -11,6 +11,7 @@/* include the world */ #include <linux/cpufreq.h> +#include <linux/mutex.h> #include <pcmcia/cs_types.h> #include <pcmcia/cs.h> #include <pcmcia/ss.h>
@@ -133,7 +134,7 @@ extern void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *, struct soc_extern struct list_head soc_pcmcia_sockets; -extern struct semaphore soc_pcmcia_sockets_lock; +extern struct mutex 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_remove (struct device *dev);
Signature · 11 lines
Matthias Kaehlcke
Linux System Developer
Barcelona
Tant qu'il y aura sur terre des hommes pour qui existe un concept
d' 'honneur national', la menace d'une nouvelle guerre subsistera
(B. Traven)
.''`.
using free software / Debian GNU/Linux | http://debian.org : :' :
`. `'`
gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-Quoted 3 lines · On Fri, 7 Mar 2008 19:37:42 +0100 Matthias Kaehlcke <[email protected]>…
drivers/pcmcia/soc_common.c: the semaphoresoc_pcmcia_sockets_lockis used as a mutex, convert it to the mutex API
I did this yesterday, when I saw it while grepping around due to your other patch;)
Review
Quoted 3 lines
LIST_HEAD(soc_pcmcia_sockets);(quoted diff) +1
-1-DECLARE_MUTEX(soc_pcmcia_sockets_lock); +DEFINE_MUTEX(soc_pcmcia_sockets_lock);
I made this static.
Review
Quoted 2 lines
(quoted diff) +1
-1-extern struct semaphore soc_pcmcia_sockets_lock; +extern struct mutex soc_pcmcia_sockets_lock;
And deleted this.
drivers/pcmcia/soc_common.c | 15 ++++++++------- drivers/pcmcia/soc_common.h | 1 - 2 files changed, 8 insertions(+), 8 deletions(-)
drivers/pcmcia/soc_common.c renamed from drivers/pcmcia/soc_common.c~drivers-pcmcia-soc_commonc-convert-soc_pcmcia_sockets_lock-into-a-mutex-and-make-it-static +8 -7
@@ -37,6 +37,7 @@#include <linux/kernel.h> #include <linux/timer.h> #include <linux/mm.h> +#include <linux/mutex.h> #include <linux/interrupt.h> #include <linux/irq.h> #include <linux/spinlock.h>
@@ -578,7 +579,7 @@ EXPORT_SYMBOL(soc_pcmcia_enable_irqs);LIST_HEAD (soc_pcmcia_sockets); -DECLARE_MUTEX (soc_pcmcia_sockets_lock); +static DEFINE_MUTEX (soc_pcmcia_sockets_lock);static const char *skt_names[] = {"PCMCIA socket 0" ,
@@ -601,11 +602,11 @@ soc_pcmcia_notifier(struct notifier_blocstruct cpufreq_freqs *freqs = data;int ret =0 ; -down (&soc_pcmcia_sockets_lock); +mutex_lock (&soc_pcmcia_sockets_lock);list_for_each_entry (skt, &soc_pcmcia_sockets, node)if ( skt->ops->frequency_change ) ret += skt->ops->frequency_change (skt, val, freqs); -up (&soc_pcmcia_sockets_lock); +mutex_unlock (&soc_pcmcia_sockets_lock);return ret; }
@@ -642,7 +643,7 @@ int soc_common_drv_pcmcia_probe(struct dstruct soc_pcmcia_socket *skt;int ret, i; -down (&soc_pcmcia_sockets_lock); +mutex_lock (&soc_pcmcia_sockets_lock); sinfo =kzalloc (SKT_DEV_INFO_SIZE (nr),GFP_KERNEL );if (!sinfo) {
@@ -782,7 +783,7 @@ int soc_common_drv_pcmcia_probe(struct dkfree (sinfo); out: -up (&soc_pcmcia_sockets_lock); +mutex_unlock (&soc_pcmcia_sockets_lock);return ret; }
@@ -793,7 +794,7 @@ int soc_common_drv_pcmcia_remove(structdev_set_drvdata (dev,NULL ); -down (&soc_pcmcia_sockets_lock); +mutex_lock (&soc_pcmcia_sockets_lock);for (i =0 ; i < sinfo->nskt; i++) {struct soc_pcmcia_socket *skt = &sinfo->skt[i];
@@ -818,7 +819,7 @@ int soc_common_drv_pcmcia_remove(structif (list_empty (&soc_pcmcia_sockets))soc_pcmcia_cpufreq_unregister (); -up (&soc_pcmcia_sockets_lock); +mutex_unlock (&soc_pcmcia_sockets_lock);kfree (sinfo);
drivers/pcmcia/soc_common.h renamed from drivers/pcmcia/soc_common.h~drivers-pcmcia-soc_commonc-convert-soc_pcmcia_sockets_lock-into-a-mutex-and-make-it-static +0 -1
@@ -133,7 +133,6 @@ extern void soc_common_pcmcia_get_timingextern 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_remove (struct device *dev);
_
drivers/pcmcia/soc_common.h extern void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *, struct soc_ · line 137
Quoted 3 lines · Matthias Kaehlcke
extern struct
list_headsoc_pcmcia_sockets;drivers/pcmcia/soc_common.h +1
-1-extern struct semaphore soc_pcmcia_sockets_lock; +extern struct mutex soc_pcmcia_sockets_lock;
If it's extern'ed I wonder where else it's getting used? If it's not used anyplace else, may as werll remove the extern and make it static ..
Daniel
El Fri, Mar 07, 2008 at 11:16:42AM -0800 Andrew Morton ha dit:
Quoted 8 lines · On Fri, 7 Mar 2008 19:37:42 +0100 Matthias Kaehlcke <[email protected]>…
Quoted 4 lines
drivers/pcmcia/soc_common.c: the semaphoresoc_pcmcia_sockets_lockis used as a mutex, convert it to the mutex APII did this yesterday, when I saw it while grepping around due to your other patch;)
:)
Signature · 11 lines
Matthias Kaehlcke
Linux System Developer
Barcelona
Someone has said that it requires less mental effort to condemn than to think
(Emma Goldman)
.''`.
using free software / Debian GNU/Linux | http://debian.org : :' :
`. `'`
gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-