linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / pcmcia / socket_sysfs.c
index c5d7476..5ab1cde 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/moduleparam.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
+#include <linux/config.h>
 #include <linux/string.h>
 #include <linux/major.h>
 #include <linux/errno.h>
@@ -24,7 +25,6 @@
 #include <linux/pm.h>
 #include <linux/pci.h>
 #include <linux/device.h>
-#include <linux/mutex.h>
 #include <asm/system.h>
 #include <asm/irq.h>
 
@@ -183,7 +183,7 @@ static ssize_t pccard_store_resource(struct class_device *dev, const char *buf,
                s->resource_setup_done = 1;
        spin_unlock_irqrestore(&s->lock, flags);
 
-       mutex_lock(&s->skt_mutex);
+       down(&s->skt_sem);
        if ((s->callback) &&
            (s->state & SOCKET_PRESENT) &&
            !(s->state & SOCKET_CARDBUS)) {
@@ -192,7 +192,7 @@ static ssize_t pccard_store_resource(struct class_device *dev, const char *buf,
                        module_put(s->callback->owner);
                }
        }
-       mutex_unlock(&s->skt_mutex);
+       up(&s->skt_sem);
 
        return count;
 }
@@ -322,7 +322,7 @@ static ssize_t pccard_store_cis(struct kobject *kobj, char *buf, loff_t off, siz
        kfree(cis);
 
        if (!ret) {
-               mutex_lock(&s->skt_mutex);
+               down(&s->skt_sem);
                if ((s->callback) && (s->state & SOCKET_PRESENT) &&
                    !(s->state & SOCKET_CARDBUS)) {
                        if (try_module_get(s->callback->owner)) {
@@ -330,7 +330,7 @@ static ssize_t pccard_store_cis(struct kobject *kobj, char *buf, loff_t off, siz
                                module_put(s->callback->owner);
                        }
                }
-               mutex_unlock(&s->skt_mutex);
+               up(&s->skt_sem);
        }