linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / ide / ide-floppy.c
index a53e3ce..1f8db9a 100644 (file)
@@ -98,7 +98,6 @@
 #include <linux/cdrom.h>
 #include <linux/ide.h>
 #include <linux/bitops.h>
-#include <linux/mutex.h>
 
 #include <asm/byteorder.h>
 #include <asm/irq.h>
@@ -518,7 +517,7 @@ typedef struct {
        u8              reserved[4];
 } idefloppy_mode_parameter_header_t;
 
-static DEFINE_MUTEX(idefloppy_ref_mutex);
+static DECLARE_MUTEX(idefloppy_ref_sem);
 
 #define to_ide_floppy(obj) container_of(obj, struct ide_floppy_obj, kref)
 
@@ -529,11 +528,11 @@ static struct ide_floppy_obj *ide_floppy_get(struct gendisk *disk)
 {
        struct ide_floppy_obj *floppy = NULL;
 
-       mutex_lock(&idefloppy_ref_mutex);
+       down(&idefloppy_ref_sem);
        floppy = ide_floppy_g(disk);
        if (floppy)
                kref_get(&floppy->kref);
-       mutex_unlock(&idefloppy_ref_mutex);
+       up(&idefloppy_ref_sem);
        return floppy;
 }
 
@@ -541,9 +540,9 @@ static void ide_floppy_release(struct kref *);
 
 static void ide_floppy_put(struct ide_floppy_obj *floppy)
 {
-       mutex_lock(&idefloppy_ref_mutex);
+       down(&idefloppy_ref_sem);
        kref_put(&floppy->kref, ide_floppy_release);
-       mutex_unlock(&idefloppy_ref_mutex);
+       up(&idefloppy_ref_sem);
 }
 
 /*