[PATCH v2 00/33] staging: comedi: dt9812: cleanup driver
H Hartley Sweeten
hsweeten at visionengravers.com
Tue May 14 21:20:05 UTC 2013
This comedi driver is for a USB device and should be using the
comedi (*auto_attach) mechanism to attach to the device. Currently
the driver is a bit of a mess has a huge disconnect between the
loading of the usb_driver and the attaching of the comedi_device.
Right now this driver will even allow attaching to the comedi_device
even if the usb device is not attached to the system.
This series cleans up the driver and moves all the USB (*probe)
functionality into the comedi (*auto_attach) and the USB (*disconnect)
into the comedi (*detach). This ensures that a usb device is attached
before the comedi core does the (*auto_attach) to attach to the device.
This also allows consolidating all the private data into one struct
and makes the driver a lot easier to understand.
v2: address some issues pointed out by Ian Abbott
H Hartley Sweeten (33):
staging: comedi: dt9812: move the usb framework functions to EOF
staging: comedi: dt9812: rename the private data struct
staging: comedi: dt9812: rename 'comedi' variable in struct slot_dt9812
staging: comedi: dt9812: remove attaching by serial number
staging: comedi: dt9812: tidy up usb_bulk_msg() calls
staging: comedi: dt9812: pass the comedi_device * to dt9812_digital_in()
staging: comedi: dt9812: pass the comedi_device * to dt9812_digital_out()
staging: comedi: dt9812: pass the comedi_device * to dt9812_digital_out_shadow()
staging: comedi: dt9812: pass the comedi_device * to dt9812_analog_in()
staging: comedi: dt9812: pass the comedi_device * to dt9812_configure_gain()
staging: comedi: dt9812: pass the comedi_device * to dt9812_configure_mux()
staging: comedi: dt9812: pass the comedi_device * to dt9812_analog_out()
staging: comedi: dt9812: tidy up the usb endpoint enumeration
staging: comedi: dt9812: pass the comedi_device * to dt9812_analog_out_shadow()
staging: comedi: dt9812: move the sempaphore used by the comedi_driver
staging: comedi: dt9812: use module_comedi_usb_driver()
staging: comedi: dt9812: move shadow values to private data
staging: comedi: dt9812: remove 'interface' from usb private data
staging: comedi: dt9812: factor the endpoint setup out of dt9812_probe()
staging: comedi: dt9812: factor the device reset out of dt9812_probe()
staging: comedi: dt9812: convert to use comedi (*auto_attach)
staging: comedi: dt9812: remove unused variables from private data
staging: comedi: dt9812: convert digital in subdevice to (*insn_bits)
staging: comedi: dt9812: convert digital out subdevice to (*insn_bits)
staging: comedi: dt9812: cleanup analog in subdevice (*insn_read)
staging: comedi: dt9812: cleanup analog out subdevice (*insn_read)
staging: comedi: dt9812: cleanup analog out subdevice (*insn_write)
staging: comedi: dt9812: remove pr_fmt()
staging: comedi: dt9812: use dev->class_dev for all dev_{level} messages
staging: comedi: dt9812: remove some #if 0'ed out code
staging: comedi: dt9812: usb_bulk_msg() timeout is in milliseconds
staging: comedi: dt9812: default the analog input gain to 1
staging: comedi: dt9812: do not allow attaching to unsupported devices
drivers/staging/comedi/drivers/dt9812.c | 1031 ++++++++++++-------------------
1 file changed, 396 insertions(+), 635 deletions(-)
--
1.8.1.4
More information about the devel
mailing list