Skip to content

Commit

Permalink
staging: comedi: usbdux: remove usbdux_attach
Browse files Browse the repository at this point in the history
This driver originally used the 'attach' method in order to get
the firmware for the device from the comedi_config utility. It
now uses request_firmware_nowait() in the usb_driver probe to
get this firmware.

Since this driver has an 'attach_usb' method in the comedi_driver,
the 'attach' method can be removed because it is now optional.

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>
  • Loading branch information
H Hartley Sweeten authored and Greg Kroah-Hartman committed Sep 21, 2012
1 parent 4e5ba2f commit 5a0f226
Showing 1 changed file with 3 additions and 52 deletions.
55 changes: 3 additions & 52 deletions drivers/staging/comedi/drivers/usbdux.c
Original file line number Diff line number Diff line change
Expand Up @@ -2293,10 +2293,8 @@ static void tidy_up(struct usbduxsub *usbduxsub_tmp)
usbduxsub_tmp->pwm_cmd_running = 0;
}

/* common part of attach and attach_usb */
static int usbdux_attach_common(struct comedi_device *dev,
struct usbduxsub *udev,
void *aux_data, int aux_len)
struct usbduxsub *udev)
{
int ret;
struct comedi_subdevice *s = NULL;
Expand All @@ -2306,10 +2304,6 @@ static int usbdux_attach_common(struct comedi_device *dev,
/* pointer back to the corresponding comedi device */
udev->comedidev = dev;

/* trying to upload the firmware into the chip */
if (aux_data)
firmwareUpload(udev, aux_data, aux_len);

dev->board_name = "usbdux";

/* set number of subdevices */
Expand Down Expand Up @@ -2429,48 +2423,6 @@ static int usbdux_attach_common(struct comedi_device *dev,
return 0;
}

/* is called when comedi-config is called */
static int usbdux_attach(struct comedi_device *dev, struct comedi_devconfig *it)
{
int ret;
int index;
int i;
void *aux_data;
int aux_len;

dev->private = NULL;

aux_data = comedi_aux_data(it->options, 0);
aux_len = it->options[COMEDI_DEVCONF_AUX_DATA_LENGTH];
if (aux_data == NULL)
aux_len = 0;
else if (aux_len == 0)
aux_data = NULL;

down(&start_stop_sem);
/* find a valid device which has been detected by the probe function of
* the usb */
index = -1;
for (i = 0; i < NUMUSBDUX; i++) {
if ((usbduxsub[i].probed) && (!usbduxsub[i].attached)) {
index = i;
break;
}
}

if (index < 0) {
printk(KERN_ERR
"comedi%d: usbdux: error: attach failed, no usbdux devs connected to the usb bus.\n",
dev->minor);
ret = -ENODEV;
} else
ret = usbdux_attach_common(dev, &usbduxsub[index],
aux_data, aux_len);
up(&start_stop_sem);
return ret;
}

/* is called from comedi_usb_auto_config() */
static int usbdux_attach_usb(struct comedi_device *dev,
struct usb_interface *uinterf)
{
Expand All @@ -2492,7 +2444,7 @@ static int usbdux_attach_usb(struct comedi_device *dev,
dev->minor);
ret = -ENODEV;
} else
ret = usbdux_attach_common(dev, this_usbduxsub, NULL, 0);
ret = usbdux_attach_common(dev, this_usbduxsub);
up(&start_stop_sem);
return ret;
}
Expand All @@ -2513,9 +2465,8 @@ static void usbdux_detach(struct comedi_device *dev)
static struct comedi_driver usbdux_driver = {
.driver_name = "usbdux",
.module = THIS_MODULE,
.attach = usbdux_attach,
.detach = usbdux_detach,
.attach_usb = usbdux_attach_usb,
.detach = usbdux_detach,
};

static void usbdux_firmware_request_complete_handler(const struct firmware *fw,
Expand Down

0 comments on commit 5a0f226

Please sign in to comment.