- 2.6.17 port work build breaks, but the patch set is relativly stable
[linux-flexiantxendom0-3.2.10.git] / drivers / media / radio / radio-maxiradio.c
index c975ddd..f0bf47b 100644 (file)
@@ -37,7 +37,8 @@
 #include <linux/sched.h>
 #include <asm/io.h>
 #include <asm/uaccess.h>
-#include <asm/semaphore.h>
+#include <linux/mutex.h>
+
 #include <linux/pci.h>
 #include <linux/videodev.h>
 
@@ -101,7 +102,7 @@ static struct radio_device
                
        unsigned long freq;
        
-       struct  semaphore lock;
+       struct mutex lock;
 } radio_unit = {0, 0, 0, 0, };
 
 
@@ -267,9 +268,9 @@ static int radio_ioctl(struct inode *inode, struct file *file,
        struct radio_device *card=dev->priv;
        int ret;
        
-       down(&card->lock);
+       mutex_lock(&card->lock);
        ret = video_usercopy(inode, file, cmd, arg, radio_function);
-       up(&card->lock);
+       mutex_unlock(&card->lock);
        return ret;
 }
 
@@ -290,7 +291,7 @@ static int __devinit maxiradio_init_one(struct pci_dev *pdev, const struct pci_d
                goto err_out_free_region;
 
        radio_unit.io = pci_resource_start(pdev, 0);
-       init_MUTEX(&radio_unit.lock);
+       mutex_init(&radio_unit.lock);
        maxiradio_radio.priv = &radio_unit;
 
        if(video_register_device(&maxiradio_radio, VFL_TYPE_RADIO, radio_nr)==-1) {