2008-03-06 22:23:24

by Matthias Kaehlcke

[permalink] [raw]
Subject: [PATCH] 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

Signed-off-by: Matthias Kaehlcke <[email protected]>

--

#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;
}

--
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 `-


2008-03-07 03:06:01

by Daniel Walker

[permalink] [raw]
Subject: Re: [PATCH] Alchemy Semi Au1000 pcmcia driver: convert pcmcia_sockets_lock in a mutex


On Thu, 2008-03-06 at 23:22 +0100, Matthias Kaehlcke wrote:
> 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]>
>
> --
>
> #include <linux/interrupt.h>

This doesn't appear to be in patch format .. There no filename at the
top..

Daniel

2008-03-07 07:14:04

by Matthias Kaehlcke

[permalink] [raw]
Subject: Re: [PATCH] Alchemy Semi Au1000 pcmcia driver: convert pcmcia_sockets_lock in a mutex

El Thu, Mar 06, 2008 at 07:05:49PM -0800 Daniel Walker ha dit:

> On Thu, 2008-03-06 at 23:22 +0100, Matthias Kaehlcke wrote:
> > 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]>
> >
>
> 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

--

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]>

--

diff --git a/drivers/pcmcia/au1000_generic.c b/drivers/pcmcia/au1000_generic.c
index b693367..97e29c8 100644
--- a/drivers/pcmcia/au1000_generic.c
+++ b/drivers/pcmcia/au1000_generic.c
@@ -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;
}

--
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 `-

2008-03-07 07:39:37

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] Alchemy Semi Au1000 pcmcia driver: convert pcmcia_sockets_lock in a mutex

On Fri, 7 Mar 2008 08:13:42 +0100 Matthias Kaehlcke <[email protected]> wrote:

> El Thu, Mar 06, 2008 at 07:05:49PM -0800 Daniel Walker ha dit:
>
> > On Thu, 2008-03-06 at 23:22 +0100, Matthias Kaehlcke wrote:
> > > 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]>
> > >
> >
> > 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
>
> --
>
> Alchemy Semi Au1000 pcmcia driver: The semaphore pcmcia_sockets_lock
> is used as a mutex, convert it to the mutex API

OK.

> @@ -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.