Bluetooth: Remove unused and unneeded support in virtual driver
authorMarcel Holtmann <marcel@holtmann.org>
Mon, 8 Jun 2009 12:31:00 +0000 (14:31 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 8 Jun 2009 12:50:01 +0000 (14:50 +0200)
The virtual driver implements fasync and ioctl support, but it is not used
and unneeded due to its constraints via the Bluetooth core layer. So too
just make the driver simpler, remove support for both of them.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/hci_vhci.c

index 7ebdb1d309392bb9f6ba16d639e859a7ea113d06..1df9dda2e377d8415366ae43fb1c44e57e2ed9d2 100644 (file)
@@ -51,14 +51,8 @@ struct vhci_data {
 
        wait_queue_head_t read_wait;
        struct sk_buff_head readq;
-
-       struct fasync_struct *fasync;
 };
 
-#define VHCI_FASYNC    0x0010
-
-static struct miscdevice vhci_miscdev;
-
 static int vhci_open_dev(struct hci_dev *hdev)
 {
        set_bit(HCI_RUNNING, &hdev->flags);
@@ -105,9 +99,6 @@ static int vhci_send_frame(struct sk_buff *skb)
        memcpy(skb_push(skb, 1), &bt_cb(skb)->pkt_type, 1);
        skb_queue_tail(&data->readq, skb);
 
-       if (data->flags & VHCI_FASYNC)
-               kill_fasync(&data->fasync, SIGIO, POLL_IN);
-
        wake_up_interruptible(&data->read_wait);
 
        return 0;
@@ -293,35 +284,13 @@ static int vhci_release(struct inode *inode, struct file *file)
        return 0;
 }
 
-static int vhci_fasync(int fd, struct file *file, int on)
-{
-       struct vhci_data *data = file->private_data;
-       int err = 0;
-
-       lock_kernel();
-       err = fasync_helper(fd, file, on, &data->fasync);
-       if (err < 0)
-               goto out;
-
-       if (on)
-               data->flags |= VHCI_FASYNC;
-       else
-               data->flags &= ~VHCI_FASYNC;
-
-out:
-       unlock_kernel();
-       return err;
-}
-
 static const struct file_operations vhci_fops = {
-       .owner          = THIS_MODULE,
        .read           = vhci_read,
        .write          = vhci_write,
        .poll           = vhci_poll,
        .ioctl          = vhci_ioctl,
        .open           = vhci_open,
        .release        = vhci_release,
-       .fasync         = vhci_fasync,
 };
 
 static struct miscdevice vhci_miscdev= {