提交 50a4cf9b 编写于 作者: H H Hartley Sweeten 提交者: Greg Kroah-Hartman

staging: comedi: usbduxfast: remove 'probed' from private data

The 'probed' flag in the private data was used to handle the
disconnect between the usb (*probe) and the comedi_driver
(*auto_attach) so that if the comedi_driver was attached without
an associated usb_device the subdevice functions would return
-ENODEV.

Now that the usb_driver (*probe) is part of the comedi_driver
(*auto_attach), the comedi_driver can only attach if the usb
device is present.

Remove the unnecessary variable from the private data and its
uses in the driver.
Signed-off-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 38bf7ba8
...@@ -149,7 +149,6 @@ static const struct comedi_lrange range_usbduxfast_ai_range = { ...@@ -149,7 +149,6 @@ static const struct comedi_lrange range_usbduxfast_ai_range = {
*/ */
struct usbduxfast_private { struct usbduxfast_private {
int attached; /* is attached? */ int attached; /* is attached? */
int probed; /* is it associated with a subdevice? */
struct usb_device *usb; /* pointer to the usb-device */ struct usb_device *usb; /* pointer to the usb-device */
struct urb *urbIn; /* BULK-transfer handling: urb */ struct urb *urbIn; /* BULK-transfer handling: urb */
int8_t *transfer_buffer; int8_t *transfer_buffer;
...@@ -248,10 +247,6 @@ static int usbduxfast_ai_cancel(struct comedi_device *dev, ...@@ -248,10 +247,6 @@ static int usbduxfast_ai_cancel(struct comedi_device *dev,
return -EFAULT; return -EFAULT;
} }
down(&devpriv->sem); down(&devpriv->sem);
if (!devpriv->probed) {
up(&devpriv->sem);
return -ENODEV;
}
/* unlink */ /* unlink */
ret = usbduxfast_ai_stop(devpriv, 1); ret = usbduxfast_ai_stop(devpriv, 1);
up(&devpriv->sem); up(&devpriv->sem);
...@@ -476,14 +471,10 @@ static int usbduxfast_ai_cmdtest(struct comedi_device *dev, ...@@ -476,14 +471,10 @@ static int usbduxfast_ai_cmdtest(struct comedi_device *dev,
struct comedi_subdevice *s, struct comedi_subdevice *s,
struct comedi_cmd *cmd) struct comedi_cmd *cmd)
{ {
struct usbduxfast_private *devpriv = dev->private;
int err = 0; int err = 0;
long int steps, tmp; long int steps, tmp;
int minSamplPer; int minSamplPer;
if (!devpriv->probed)
return -ENODEV;
/* Step 1 : check if triggers are trivially valid */ /* Step 1 : check if triggers are trivially valid */
err |= cfc_check_trigger_src(&cmd->start_src, err |= cfc_check_trigger_src(&cmd->start_src,
...@@ -580,10 +571,6 @@ static int usbduxfast_ai_inttrig(struct comedi_device *dev, ...@@ -580,10 +571,6 @@ static int usbduxfast_ai_inttrig(struct comedi_device *dev,
return -EFAULT; return -EFAULT;
down(&devpriv->sem); down(&devpriv->sem);
if (!devpriv->probed) {
up(&devpriv->sem);
return -ENODEV;
}
if (trignum != 0) { if (trignum != 0) {
dev_err(dev->class_dev, "%s: invalid trignum\n", __func__); dev_err(dev->class_dev, "%s: invalid trignum\n", __func__);
...@@ -632,10 +619,6 @@ static int usbduxfast_ai_cmd(struct comedi_device *dev, ...@@ -632,10 +619,6 @@ static int usbduxfast_ai_cmd(struct comedi_device *dev,
return -EFAULT; return -EFAULT;
down(&devpriv->sem); down(&devpriv->sem);
if (!devpriv->probed) {
up(&devpriv->sem);
return -ENODEV;
}
if (devpriv->ai_cmd_running) { if (devpriv->ai_cmd_running) {
dev_err(dev->class_dev, dev_err(dev->class_dev,
"ai_cmd not possible. Another ai_cmd is running.\n"); "ai_cmd not possible. Another ai_cmd is running.\n");
...@@ -1083,10 +1066,6 @@ static int usbduxfast_ai_insn_read(struct comedi_device *dev, ...@@ -1083,10 +1066,6 @@ static int usbduxfast_ai_insn_read(struct comedi_device *dev,
} }
down(&devpriv->sem); down(&devpriv->sem);
if (!devpriv->probed) {
up(&devpriv->sem);
return -ENODEV;
}
if (devpriv->ai_cmd_running) { if (devpriv->ai_cmd_running) {
dev_err(dev->class_dev, dev_err(dev->class_dev,
"ai_insn_read not possible. Async Command is running.\n"); "ai_insn_read not possible. Async Command is running.\n");
...@@ -1342,8 +1321,6 @@ static int usbduxfast_auto_attach(struct comedi_device *dev, ...@@ -1342,8 +1321,6 @@ static int usbduxfast_auto_attach(struct comedi_device *dev,
if (!devpriv->transfer_buffer) if (!devpriv->transfer_buffer)
return -ENOMEM; return -ENOMEM;
devpriv->probed = 1;
/* /*
* Request, and upload, the firmware so we can * Request, and upload, the firmware so we can
* complete the comedi_driver (*auto_attach). * complete the comedi_driver (*auto_attach).
...@@ -1372,8 +1349,6 @@ static void usbduxfast_detach(struct comedi_device *dev) ...@@ -1372,8 +1349,6 @@ static void usbduxfast_detach(struct comedi_device *dev)
if (devpriv->intf) if (devpriv->intf)
usb_set_intfdata(devpriv->intf, NULL); usb_set_intfdata(devpriv->intf, NULL);
devpriv->probed = 0;
if (devpriv->urbIn) { if (devpriv->urbIn) {
/* waits until a running transfer is over */ /* waits until a running transfer is over */
usb_kill_urb(devpriv->urbIn); usb_kill_urb(devpriv->urbIn);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册