On Wed, Dec 04, 2013 at 11:46:48AM +0000, Ian Abbott wrote: > On 2013-12-03 19:07, H Hartley Sweeten wrote: > > The comedi subsystem only requires the drivers to support interrupts if one > > or more of the subdevices support async commands. Since this is optional: > > > > 1) don't fail the attach if the irq is not available > > 2) only hookup the async command support if the irq is available > > 3) remove any async command init from subdevices that don't need it > > 4) remove any unnecessary sanity checks in the async command functions > > > > Make use of the comedi_device 'read_subdev' and 'write_subdev' pointers > > instead of accessing the dev->subdevices array directly with "magic" numbers > > to the correct subdevice. > > > > Also, remove any unnecessary debug noise associated with the irq requests. > > > > H Hartley Sweeten (51): > > staging: comedi: s626: fix async command hookup > > staging: comedi: pcl816: remove 'irq_free' from private data > > staging: comedi: pcl816: only init command support if irq is available > > staging: comedi: pcl816: remove 'sub_ai' from private data > > staging: comedi: pcl816: use dev->read_subdev > > staging: comedi: pcl818: remove 'irq_free' from private data > > staging: comedi: pcl818: remove unnecessary 'dev->irq' tests > > staging: comedi: pcl818: remove function trace noise > > staging: comedi: pcl818: only init async command members when needed > > staging: comedi: pcl818: remove 'sub_ai' from private data > > staging: comedi: pcl818: use dev->read_subdev > > staging: comedi: pcl818: remove unnecessary s->len_chanlist init > > staging: comedi: pcl812: remove unnecessary s->len_chanlist init > > staging: comedi: pcl812: only init async command members when needed > > staging: comedi: pcl812: use dev->read_subdev > > staging: comedi: ni_pcimio: tidy up the irq request > > staging: comedi: ni_pcidio: tidy up the irq request > > staging: comedi: ni_at_a2150: tidy up the irq request > > staging: comedi: me4000: refactor request_irq() during attach > > staging: comedi: me4000: use dev->read_subdev > > staging: comedi: me4000: remove unnecessary check in the irq handler > > staging: comedi: das1800: tidy up irq request > > staging: comedi: das1800: only init command support if irq is available > > staging: comedi: das1800: remove unnecessary 'dev->irq' test > > staging: comedi: das1800: use dev->read_subdev > > staging: comedi: das16m1: remove unnecessary 'dev->irq' test > > staging: comedi: adl_pci9111: fix incorrect irq passed to request_irq() > > staging: comedi: adl_pci9111: the irq is only needed for async command support > > staging: comedi: adl_pci9111: remove unnecessary 'dev->irq' test > > staging: comedi: dt2814: use dev->read_subdev > > staging: comedi: dt282x: use dev->read_subdev > > staging: comedi: dt282x: use dev->write_subdev > > staging: comedi: amplc_pci230: tidy up irq request > > staging: comedi: adl_pci9118: tidy up irq request > > staging: comedi: adv_pci1710: only init async command members when needed > > staging: comedi: adv_pci1710: use dev->read_subdev > > staging: comedi: dt3000: don't fail attach if irq is not available > > staging: comedi: dt3000: use dev->read_subdev > > staging: comedi: s626: use dev->read_subdev > > staging: comedi: hwrdv_apci3120: use dev->read_subdev > > staging: comedi: hwrdv_apci3200: use dev->read_subdev > > staging: comedi: adl_pci9118: use dev->read_subdev > > staging: comedi: amplc_pc236: use dev->read_subdev > > staging: comedi: amplc_pci224: use dev->write_subdev > > staging: comedi: ni_65xx: use dev->read_subdev > > staging: comedi: ni_atmio16d: use dev->read_subdev > > staging: comedi: rtd520: use dev->read_subdev > > staging: comedi: ni_pcidio: factor board reset out of attach > > staging: comedi: ni_pcidio: request_irq() before seting up subdevices > > staging: comedi: ni_pcidio: use dev->read_subdev > > staging: comedi: multiq3: pass subdevice to encoder_reset() > > > > .../comedi/drivers/addi-data/hwdrv_apci3120.c | 6 +- > > .../comedi/drivers/addi-data/hwdrv_apci3200.c | 2 +- > > drivers/staging/comedi/drivers/adl_pci9111.c | 31 ++++---- > > drivers/staging/comedi/drivers/adl_pci9118.c | 45 +++++------ > > drivers/staging/comedi/drivers/adv_pci1710.c | 10 +-- > > drivers/staging/comedi/drivers/amplc_pc236.c | 2 +- > > drivers/staging/comedi/drivers/amplc_pci224.c | 2 +- > > drivers/staging/comedi/drivers/amplc_pci230.c | 27 +++---- > > drivers/staging/comedi/drivers/das16m1.c | 5 -- > > drivers/staging/comedi/drivers/das1800.c | 89 +++++++++------------- > > drivers/staging/comedi/drivers/dt2814.c | 4 +- > > drivers/staging/comedi/drivers/dt282x.c | 10 +-- > > drivers/staging/comedi/drivers/dt3000.c | 29 +++---- > > drivers/staging/comedi/drivers/me4000.c | 37 ++++----- > > drivers/staging/comedi/drivers/multiq3.c | 6 +- > > drivers/staging/comedi/drivers/ni_65xx.c | 2 +- > > drivers/staging/comedi/drivers/ni_at_a2150.c | 45 +++++------ > > drivers/staging/comedi/drivers/ni_atmio16d.c | 2 +- > > drivers/staging/comedi/drivers/ni_pcidio.c | 66 ++++++++-------- > > drivers/staging/comedi/drivers/ni_pcimio.c | 19 ++--- > > drivers/staging/comedi/drivers/pcl812.c | 11 +-- > > drivers/staging/comedi/drivers/pcl816.c | 36 ++++----- > > drivers/staging/comedi/drivers/pcl818.c | 41 +++------- > > drivers/staging/comedi/drivers/rtd520.c | 2 +- > > drivers/staging/comedi/drivers/s626.c | 17 ++--- > > 25 files changed, 234 insertions(+), 312 deletions(-) > > > > I have issues with patches 18, 19, 22, and 49, although patch 19 is > fixed by patch 20. Ok, I've applied the first 17 then. Hartley, care to fix up the rest and resend? thanks, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel