Skip to content

Commit

Permalink
staging: comedi: comedi_usb: allow comedi usb drivers to pass a 'cont…
Browse files Browse the repository at this point in the history
…ext'

Allow the comedi usb drivers to pass a 'context' from their (*probe)
functions to the comedi core's comedi_usb_auto_config(). This 'context'
is then passed to comedi_auto_config() and then to the comedi_driver's
(*auto_attach).

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 Feb 6, 2013
1 parent 29d6dd3 commit 55ab4f6
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 7 deletions.
6 changes: 4 additions & 2 deletions drivers/staging/comedi/comedi_usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,15 @@ EXPORT_SYMBOL_GPL(comedi_to_usb_interface);
* comedi_usb_auto_config() - Configure/probe a comedi USB driver.
* @intf: usb_interface struct
* @driver: comedi_driver struct
* @context: driver specific data, passed to comedi_auto_config()
*
* Typically called from the usb_driver (*probe) function.
*/
int comedi_usb_auto_config(struct usb_interface *intf,
struct comedi_driver *driver)
struct comedi_driver *driver,
unsigned long context)
{
return comedi_auto_config(&intf->dev, driver, 0);
return comedi_auto_config(&intf->dev, driver, context);
}
EXPORT_SYMBOL_GPL(comedi_usb_auto_config);

Expand Down
3 changes: 2 additions & 1 deletion drivers/staging/comedi/comedidev.h
Original file line number Diff line number Diff line change
Expand Up @@ -476,7 +476,8 @@ struct usb_interface;

struct usb_interface *comedi_to_usb_interface(struct comedi_device *);

int comedi_usb_auto_config(struct usb_interface *, struct comedi_driver *);
int comedi_usb_auto_config(struct usb_interface *, struct comedi_driver *,
unsigned long context);
void comedi_usb_auto_unconfig(struct usb_interface *);

int comedi_usb_driver_register(struct comedi_driver *, struct usb_driver *);
Expand Down
2 changes: 1 addition & 1 deletion drivers/staging/comedi/drivers/usbdux.c
Original file line number Diff line number Diff line change
Expand Up @@ -2388,7 +2388,7 @@ static void usbdux_firmware_request_complete_handler(const struct firmware *fw,
"Could not upload firmware (err=%d)\n", ret);
goto out;
}
comedi_usb_auto_config(uinterf, &usbdux_driver);
comedi_usb_auto_config(uinterf, &usbdux_driver, 0);
out:
release_firmware(fw);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/staging/comedi/drivers/usbduxfast.c
Original file line number Diff line number Diff line change
Expand Up @@ -1490,7 +1490,7 @@ static void usbduxfast_firmware_request_complete_handler(const struct firmware
goto out;
}

comedi_usb_auto_config(uinterf, &usbduxfast_driver);
comedi_usb_auto_config(uinterf, &usbduxfast_driver, 0);
out:
release_firmware(fw);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/staging/comedi/drivers/usbduxsigma.c
Original file line number Diff line number Diff line change
Expand Up @@ -2374,7 +2374,7 @@ static void usbdux_firmware_request_complete_handler(const struct firmware *fw,
"Could not upload firmware (err=%d)\n", ret);
goto out;
}
comedi_usb_auto_config(uinterf, &usbduxsigma_driver);
comedi_usb_auto_config(uinterf, &usbduxsigma_driver, 0);
out:
release_firmware(fw);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/staging/comedi/drivers/vmk80xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -1401,7 +1401,7 @@ static int vmk80xx_usb_probe(struct usb_interface *intf,

mutex_unlock(&glb_mutex);

comedi_usb_auto_config(intf, &vmk80xx_driver);
comedi_usb_auto_config(intf, &vmk80xx_driver, id->driver_info);

return 0;

Expand Down

0 comments on commit 55ab4f6

Please sign in to comment.