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);
_
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 `-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