This driver is actually fairly simple but it's a bit confusing with all the subdevice private data usage. Clean the driver up and remove all the cruft. H Hartley Sweeten (48): staging: comedi: pcmmio: remove unused {lock,unlock}_port() staging: comedi: pcmmio: tidy up switch_page() staging: comedi: pcmmio: cleanup comedi_lrange tables staging: comedi: pcmmio: use core helpers to munge bipolar ai data staging: comedi: pcmmio: cleanup ai_rinsn() staging: comedi: pcmmio: return error if ai conversion times out staging: comedi: pcmmio: define the offset to the 2nd ADC device staging: comedi: pcmmio: tidy up the ai subdevice init staging: comedi: pcmmio: move ai shadow data to device private data staging: comedi: pcmmio: remove 'iobase' from subdevice private data staging: comedi: pcmmio: cleanup ao_winsn() staging: comedi: pcmmio: return error if ao conversion times out staging: comedi: pcmmio: tidy up ao_rinsn() staging: comedi: pcmmio: tidy up the ao subdevice init staging: comedi: pcmmio: tidy up the irq request staging: comedi: pcmmio: remove unused members in private data staging: comedi: pcmmio: there is only one asic staging: comedi: pcmmio: remove 'asic' parameter from switch_page() staging: comedi: pcmmio: tidy up init_asics() staging: comedi: pcmmio: cleanup the digital i/o register defines staging: comedi: pcmmio: remove 'subpriv' macro staging: comedi: pcmmio: rename 'spinlock' in the private data staging: comedi: pcmmio: introduce pcmmio_dio_write() staging: comedi: pcmmio: simplify pcmmio_dio_insn_config() staging: comedi: pcmmio: simplify pcmmio_dio_insn_bits() staging: comedi: pcmmio: remove 'iobases' from the subdevice private data staging: comedi: pcmmio: simplify pcmmio_stop_intr() staging: comedi: pcmmio: unwind the digital i/o subdevice init staging: comedi: pcmmio: remove unnecessary for () loop and sanity check staging: comedi: pcmmio: remove 'asic' member from subdevice private data staging: comedi: pcmmio: remove 'first_chan' from subdevice private data staging: comedi: pcmmio: remove 'asic_chan' from subdevice private data staging: comedi: pcmmio: remove 'num_asic_chans' from subdevice private data staging: comedi: pcmmio: remove subdevice private data staging: comedi: pcmmio: use comedi_legacy_detach() for (*detach) staging: comedi: pcmmio: cleanup indent levels in interrupt_pcmmio() staging: comedi: pcmmio: use pcmmio_dio_{read,write}() in interrupt_pcmmio() staging: comedi: pcmmio: factor the trigger handling out of interrupt_pcmmio() staging: comedi: pcmmio: tidy up pcmmio_handle_dio_intr() staging: comedi: pcmmio: only hook up async command support if irq is available staging: comedi: pcmmio: setup irq routing during (*attach) staging: comedi: pcmmio: tidy up pcmmio_start_intr() staging: comedi: pcmmio: remove unused defines staging: comedi: pcmmio: cleanup the private data staging: comedi: pcmmio: return '0' after successful attach staging: comedi: pcmmio: update the MODULE_DESCRIPTION staging: comedi: pcmmio: tidy up the multi-line comments staging: comedi: pcmmio: fix final checkpatch warning drivers/staging/comedi/drivers/pcmmio.c | 1450 +++++++++++++------------------ 1 file changed, 582 insertions(+), 868 deletions(-) -- 1.8.4.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel