]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/block/paride/pf.c
block: autoconvert trivial BKL users to private mutex
[net-next-2.6.git] / drivers / block / paride / pf.c
index 4457b494882a46c7ac42e85c7990dc12098b7ae0..635f25dd9e1082c9d1099c0ccca8142436e8f38d 100644 (file)
@@ -152,9 +152,10 @@ enum {D_PRT, D_PRO, D_UNI, D_MOD, D_SLV, D_LUN, D_DLY};
 #include <linux/spinlock.h>
 #include <linux/blkdev.h>
 #include <linux/blkpg.h>
-#include <linux/smp_lock.h>
+#include <linux/mutex.h>
 #include <asm/uaccess.h>
 
+static DEFINE_MUTEX(pf_mutex);
 static DEFINE_SPINLOCK(pf_spin_lock);
 
 module_param(verbose, bool, 0644);
@@ -302,7 +303,7 @@ static int pf_open(struct block_device *bdev, fmode_t mode)
        struct pf_unit *pf = bdev->bd_disk->private_data;
        int ret;
 
-       lock_kernel();
+       mutex_lock(&pf_mutex);
        pf_identify(pf);
 
        ret = -ENODEV;
@@ -318,7 +319,7 @@ static int pf_open(struct block_device *bdev, fmode_t mode)
        if (pf->removable)
                pf_lock(pf, 1);
 out:
-       unlock_kernel();
+       mutex_unlock(&pf_mutex);
        return ret;
 }
 
@@ -349,9 +350,9 @@ static int pf_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, u
 
        if (pf->access != 1)
                return -EBUSY;
-       lock_kernel();
+       mutex_lock(&pf_mutex);
        pf_eject(pf);
-       unlock_kernel();
+       mutex_unlock(&pf_mutex);
 
        return 0;
 }
@@ -360,9 +361,9 @@ static int pf_release(struct gendisk *disk, fmode_t mode)
 {
        struct pf_unit *pf = disk->private_data;
 
-       lock_kernel();
+       mutex_lock(&pf_mutex);
        if (pf->access <= 0) {
-               unlock_kernel();
+               mutex_unlock(&pf_mutex);
                return -EINVAL;
        }
 
@@ -371,7 +372,7 @@ static int pf_release(struct gendisk *disk, fmode_t mode)
        if (!pf->access && pf->removable)
                pf_lock(pf, 0);
 
-       unlock_kernel();
+       mutex_unlock(&pf_mutex);
        return 0;
 
 }