Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 55ab4f64 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

staging: comedi: comedi_usb: allow comedi usb drivers to pass a 'context'



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: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 29d6dd33
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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);

+2 −1
Original line number Diff line number Diff line
@@ -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 *);
+1 −1
Original line number Diff line number Diff line
@@ -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);
}
+1 −1
Original line number Diff line number Diff line
@@ -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);
}
+1 −1
Original line number Diff line number Diff line
@@ -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);
}
Loading