Alchemy Semi Au1000 pcmcia driver: convert pcmcia_sockets_lock in a mutex
PATCH 1/1 Alchemy Semi Au1000 pcmcia driver: convert pcmcia_sockets_lock in a mutex
Alchemy Semi Au1000 pcmcia driver: The semaphore pcmcia_sockets_lock is used as a mutex, convert it to the mutex API
--
#include <linux/interrupt.h>
#include <linux/spinlock.h>
+#include <linux/mutex.h>
#include <linux/platform_device.h>
#include <asm/io.h>
@@ -71,7 +72,7 @@ extern struct au1000_pcmcia_socket au1000_pcmcia_socket[];
u32 *pcmcia_base_vaddrs[2];
extern const unsigned long mips_io_port_base;
-DECLARE_MUTEX(pcmcia_sockets_lock);
+DEFINE_MUTEX(pcmcia_sockets_lock);
static int (*au1x00_pcmcia_hw_init[])(struct device *dev) = {
au1x_board_init,
@@ -472,7 +473,7 @@ int au1x00_drv_pcmcia_remove(struct device *dev)
struct skt_dev_info *sinfo = dev_get_drvdata(dev); int i;
- down(&pcmcia_sockets_lock);
+ mutex_lock(&pcmcia_sockets_lock);
dev_set_drvdata(dev, NULL);
for (i = 0; i < sinfo->nskt; i++) {
@@ -488,7 +489,7 @@ int au1x00_drv_pcmcia_remove(struct device *dev)
}
kfree(sinfo);
- up(&pcmcia_sockets_lock);
+ mutex_unlock(&pcmcia_sockets_lock);
return 0;
}
@@ -501,13 +502,13 @@ static int au1x00_drv_pcmcia_probe(struct device *dev)
{
int i, ret = -ENODEV;
- down(&pcmcia_sockets_lock);
+ mutex_lock(&pcmcia_sockets_lock);
for (i=0; i < ARRAY_SIZE(au1x00_pcmcia_hw_init); i++) {
ret = au1x00_pcmcia_hw_init[i](dev); if (ret == 0)
break;
}
- up(&pcmcia_sockets_lock);
+ mutex_unlock(&pcmcia_sockets_lock);
return ret;
}
Signature · 12 lines
Matthias Kaehlcke
Linux System Developer
Barcelona
Don't walk behind me, I may not lead
Don't walk in front of me, I may not follow
Just walk beside me and be my friend
(Albert Camus)
.''`.
using free software / Debian GNU/Linux | http://debian.org : :' :
`. `'`
gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-Quoted 8 lines · Matthias Kaehlcke
Alchemy Semi Au1000 pcmcia driver: The semaphore
pcmcia_sockets_lockis used as a mutex, convert it to the mutex APISigned-off-by Matthias Kaehlcke <[email protected]>--
#include <
linux/interrupt.h>
This doesn't appear to be in patch format .. There no filename at the top..
Daniel
El Thu, Mar 06, 2008 at 07:05:49PM -0800 Daniel Walker ha dit:
Quoted 9 lines · Matthias Kaehlcke
Quoted 5 lines
Alchemy Semi Au1000 pcmcia driver: The semaphore
pcmcia_sockets_lockis used as a mutex, convert it to the mutex APISigned-off-by Matthias Kaehlcke <[email protected]>This doesn't appear to be in patch format .. There no filename at the top..
somehow i messed it up when adding the patch to the mail. thanks for the pointer, here comes the good one
Signature · 6 lines
Alchemy Semi Au1000 pcmcia driver: The semaphore pcmcia_sockets_lock is used as a mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke <[email protected]> --
drivers/pcmcia/au1000_generic.c +6 -5
@@ -41,6 +41,7 @@#include <linux/notifier.h> #include <linux/interrupt.h> #include <linux/spinlock.h> +#include <linux/mutex.h> #include <linux/platform_device.h> #include <asm/io.h>
@@ -71,7 +72,7 @@ extern struct au1000_pcmcia_socket au1000_pcmcia_socket[];u32 *pcmcia_base_vaddrs[2 ];extern const unsigned long mips_io_port_base; -DECLARE_MUTEX (pcmcia_sockets_lock); +DEFINE_MUTEX (pcmcia_sockets_lock);static int (*au1x00_pcmcia_hw_init[])(struct device *dev) = { au1x_board_init,
@@ -472,7 +473,7 @@ int au1x00_drv_pcmcia_remove(struct device *dev)struct skt_dev_info *sinfo =dev_get_drvdata (dev);int i; -down (&pcmcia_sockets_lock); +mutex_lock (&pcmcia_sockets_lock);dev_set_drvdata (dev,NULL );for (i =0 ; i < sinfo->nskt; i++) {
@@ -488,7 +489,7 @@ int au1x00_drv_pcmcia_remove(struct device *dev) }kfree (sinfo); -up (&pcmcia_sockets_lock); +mutex_unlock (&pcmcia_sockets_lock);return 0 ; }
@@ -501,13 +502,13 @@ static int au1x00_drv_pcmcia_probe(struct device *dev) {int i, ret = -ENODEV ; -down (&pcmcia_sockets_lock); +mutex_lock (&pcmcia_sockets_lock);for (i=0 ; i <ARRAY_SIZE (au1x00_pcmcia_hw_init); i++) { ret = au1x00_pcmcia_hw_init[i](dev);if (ret ==0 )break ; } -up (&pcmcia_sockets_lock); +mutex_unlock (&pcmcia_sockets_lock);return ret; }
Signature · 10 lines
Matthias Kaehlcke
Linux System Developer
Barcelona
Anyone who has never made a mistake has never tried anything new
(Albert Einstein)
.''`.
using free software / Debian GNU/Linux | http://debian.org : :' :
`. `'`
gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-Quoted 6 lines · On Fri, 7 Mar 2008 08:13:42 +0100 Matthias Kaehlcke <[email protected]>…
El Thu, Mar 06, 2008 at 07:05:49PM -0800 Daniel Walker ha dit:
Quoted 4 lines · Matthias Kaehlcke
Quoted 3 lines
Alchemy Semi Au1000 pcmcia driver: The semaphore
pcmcia_sockets_lockis used as a mutex, convert it to the mutex API
Quoted 13 lines
Quoted 5 lines
Quoted 2 lines
Signed-off-by Matthias Kaehlcke <[email protected]>This doesn't appear to be in patch format .. There no filename at the top..
somehow i messed it up when adding the patch to the mail. thanks for the pointer, here comes the good one
Signature · 2 lines
Alchemy Semi Au1000 pcmcia driver: The semaphore pcmcia_sockets_lock is used as a mutex, convert it to the mutex API
OK.
drivers/pcmcia/au1000_generic.c extern struct au1000_pcmcia_socket au1000_pcmcia_socket[]; · line 75
Quoted 6 lines
drivers/pcmcia/au1000_generic.c +1
-1@@ -71,7 +72,7 @@ extern struct au1000_pcmcia_socket au1000_pcmcia_socket[];u32 *pcmcia_base_vaddrs[2 ];extern const unsigned long mips_io_port_base; -DECLARE_MUTEX (pcmcia_sockets_lock); +DEFINE_MUTEX (pcmcia_sockets_lock);
I'll make this static while we're in there.