]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/char/sonypi.c
Merge master.kernel.org:/home/rmk/linux-2.6-arm
[linux-2.6-omap-h63xx.git] / drivers / char / sonypi.c
index b6998906b214b545d9b41feafa1054dbe6920b98..73037a4d3c5023f2e7b31fccf804f61a8ece0b08 100644 (file)
@@ -484,7 +484,7 @@ static struct sonypi_device {
        u16 evtype_offset;
        int camera_power;
        int bluetooth_power;
-       struct semaphore lock;
+       struct mutex lock;
        struct kfifo *fifo;
        spinlock_t fifo_lock;
        wait_queue_head_t fifo_proc_list;
@@ -885,53 +885,6 @@ found:
        return IRQ_HANDLED;
 }
 
-/* External camera command (exported to the motion eye v4l driver) */
-int sonypi_camera_command(int command, u8 value)
-{
-       if (!camera)
-               return -EIO;
-
-       down(&sonypi_device.lock);
-
-       switch (command) {
-       case SONYPI_COMMAND_SETCAMERA:
-               if (value)
-                       sonypi_camera_on();
-               else
-                       sonypi_camera_off();
-               break;
-       case SONYPI_COMMAND_SETCAMERABRIGHTNESS:
-               sonypi_set(SONYPI_CAMERA_BRIGHTNESS, value);
-               break;
-       case SONYPI_COMMAND_SETCAMERACONTRAST:
-               sonypi_set(SONYPI_CAMERA_CONTRAST, value);
-               break;
-       case SONYPI_COMMAND_SETCAMERAHUE:
-               sonypi_set(SONYPI_CAMERA_HUE, value);
-               break;
-       case SONYPI_COMMAND_SETCAMERACOLOR:
-               sonypi_set(SONYPI_CAMERA_COLOR, value);
-               break;
-       case SONYPI_COMMAND_SETCAMERASHARPNESS:
-               sonypi_set(SONYPI_CAMERA_SHARPNESS, value);
-               break;
-       case SONYPI_COMMAND_SETCAMERAPICTURE:
-               sonypi_set(SONYPI_CAMERA_PICTURE, value);
-               break;
-       case SONYPI_COMMAND_SETCAMERAAGC:
-               sonypi_set(SONYPI_CAMERA_AGC, value);
-               break;
-       default:
-               printk(KERN_ERR "sonypi: sonypi_camera_command invalid: %d\n",
-                      command);
-               break;
-       }
-       up(&sonypi_device.lock);
-       return 0;
-}
-
-EXPORT_SYMBOL(sonypi_camera_command);
-
 static int sonypi_misc_fasync(int fd, struct file *filp, int on)
 {
        int retval;
@@ -945,20 +898,20 @@ static int sonypi_misc_fasync(int fd, struct file *filp, int on)
 static int sonypi_misc_release(struct inode *inode, struct file *file)
 {
        sonypi_misc_fasync(-1, file, 0);
-       down(&sonypi_device.lock);
+       mutex_lock(&sonypi_device.lock);
        sonypi_device.open_count--;
-       up(&sonypi_device.lock);
+       mutex_unlock(&sonypi_device.lock);
        return 0;
 }
 
 static int sonypi_misc_open(struct inode *inode, struct file *file)
 {
-       down(&sonypi_device.lock);
+       mutex_lock(&sonypi_device.lock);
        /* Flush input queue on first open */
        if (!sonypi_device.open_count)
                kfifo_reset(sonypi_device.fifo);
        sonypi_device.open_count++;
-       up(&sonypi_device.lock);
+       mutex_unlock(&sonypi_device.lock);
        return 0;
 }
 
@@ -1008,7 +961,7 @@ static int sonypi_misc_ioctl(struct inode *ip, struct file *fp,
        u8 val8;
        u16 val16;
 
-       down(&sonypi_device.lock);
+       mutex_lock(&sonypi_device.lock);
        switch (cmd) {
        case SONYPI_IOCGBRT:
                if (sonypi_ec_read(SONYPI_LCD_LIGHT, &val8)) {
@@ -1108,7 +1061,7 @@ static int sonypi_misc_ioctl(struct inode *ip, struct file *fp,
        default:
                ret = -EINVAL;
        }
-       up(&sonypi_device.lock);
+       mutex_unlock(&sonypi_device.lock);
        return ret;
 }
 
@@ -1363,7 +1316,7 @@ static int __devinit sonypi_probe(struct platform_device *dev)
        }
 
        init_waitqueue_head(&sonypi_device.fifo_proc_list);
-       init_MUTEX(&sonypi_device.lock);
+       mutex_init(&sonypi_device.lock);
        sonypi_device.bluetooth_power = -1;
 
        if ((pcidev = pci_get_device(PCI_VENDOR_ID_INTEL,