staging: comedi: vmk80xx: remove private data 'attached'
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 6 Feb 2013 00:23:16 +0000 (17:23 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 6 Feb 2013 02:07:11 +0000 (18:07 -0800)
The 'attached' flag in the private data is set after the comedi_driver
(*auto_attach) function has completed successfully.

The only places it's checked are in rudimentary_check(), which does
some basic sanity checks before doing any of the subdevice operations,
and vmk80xx_auto_attach(), which is the comedi_driver (*auto_attach)
function.

The (*auto_attach) function can only be called as the result of a
successfull usb_driver (*probe). Part of the probe is to locate a
free slot in the static private data array. All free slots are
initialized to '0' so the 'attached' flag will always be cleared.

Remove the unneccessary 'attached' flag in the private data.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/vmk80xx.c

index a9aa988..00a115d 100644 (file)
@@ -210,7 +210,6 @@ struct vmk80xx_private {
        unsigned char *usb_rx_buf;
        unsigned char *usb_tx_buf;
        unsigned long flags;
-       int attached;
 };
 
 static struct vmk80xx_private vmb[VMK80XX_MAX_BOARDS];
@@ -528,8 +527,6 @@ static int rudimentary_check(struct vmk80xx_private *devpriv, int dir)
 {
        if (!devpriv)
                return -EFAULT;
-       if (!devpriv->attached)
-               return -ENODEV;
        if (dir & DIR_IN) {
                if (test_bit(TRANS_IN_BUSY, &devpriv->flags))
                        return -EBUSY;
@@ -1280,8 +1277,6 @@ static int vmk80xx_attach_common(struct comedi_device *dev,
                s->insn_write = vmk80xx_pwm_winsn;
        }
 
-       devpriv->attached = 1;
-
        up(&devpriv->limit_sem);
 
        return 0;
@@ -1300,8 +1295,6 @@ static int vmk80xx_auto_attach(struct comedi_device *dev,
                        break;
        if (i == VMK80XX_MAX_BOARDS)
                ret = -ENODEV;
-       else if (vmb[i].attached)
-               ret = -EBUSY;
        else
                ret = vmk80xx_attach_common(dev, &vmb[i]);
        mutex_unlock(&glb_mutex);