Introduce a new helper function, comedi_pci_detach(), that can be used
as the (*detach) of a comedi PCI driver to handle the boilerplate code
of the PCI driver detach.

Use the the new helper to remove the boilerplate from most of the comedi
PCI drivers.

The jr3_pci and mite drivers (ni_660x, ni_pcidio, and ni_pcimio) need
a bit of additional cleanup before comedi_pci_disable() can be removed.

This series was orignally posted as a single patch:
[PATCH] staging: comedi: comedi_pci: enhance comedi_pci_disable()

Ian Abbott pointed out a couple issues and race conditions in that
patch.

This breaks the patch up and addresses the problems.

H Hartley Sweeten (16):
  staging: comedi: comedi_pci: introduce comedi_pci_detach()
  staging: comedi: adv_pci_dio: remove 'valid' member from private data
  staging: comedi: adv_pci_dio: use comedi_pci_detach()
  staging: comedi: amplc_dio200: remove dio200_detach()
  staging: comedi: amplc_dio200_pci: use comedi_pci_detach()
  staging: comedi: icp_multi: remove 'valid' member from private data
  staging: comedi: icp_multi: use comedi_pci_detach()
  staging: comedi: daqboard2000: driver does not request_irq()
  staging: comedi: daqboard2000: use comedi_pci_detach()
  staging: comedi: s626: tidy up freeing of the dma buffers
  staging: comedi: s626: use comedi_pci_detach()
  staging: comedi: cb_pcidas64: tidy up freeing of the dma buffers
  staging: comedi: cb_pcidas64: use comedi_pci_detach()
  staging: comedi: gsc_hpdi: tidy up freeing of the dma buffers
  staging: comedi: gsc_hpdi: use comedi_pci_detach()
  staging: comedi: rtd520: use comedi_pci_detach()

 drivers/staging/comedi/comedi_pci.c                | 24 ++++++
 drivers/staging/comedi/comedidev.h                 |  5 ++
 drivers/staging/comedi/drivers/8255_pci.c          |  9 +--
 .../staging/comedi/drivers/addi-data/addi_common.c | 12 +--
 drivers/staging/comedi/drivers/addi_apci_1032.c    |  4 +-
 drivers/staging/comedi/drivers/addi_apci_1516.c    |  2 +-
 drivers/staging/comedi/drivers/addi_apci_1564.c    |  4 +-
 drivers/staging/comedi/drivers/addi_apci_16xx.c    |  2 +-
 drivers/staging/comedi/drivers/addi_apci_2032.c    |  4 +-
 drivers/staging/comedi/drivers/addi_apci_2200.c    |  2 +-
 drivers/staging/comedi/drivers/addi_apci_3120.c    |  8 +-
 drivers/staging/comedi/drivers/addi_apci_3501.c    |  4 +-
 drivers/staging/comedi/drivers/addi_apci_3xxx.c    | 14 +---
 drivers/staging/comedi/drivers/adl_pci6208.c       |  2 +-
 drivers/staging/comedi/drivers/adl_pci7x3x.c       |  2 +-
 drivers/staging/comedi/drivers/adl_pci8164.c       |  2 +-
 drivers/staging/comedi/drivers/adl_pci9111.c       |  4 +-
 drivers/staging/comedi/drivers/adl_pci9118.c       |  8 +-
 drivers/staging/comedi/drivers/adv_pci1710.c       |  4 +-
 drivers/staging/comedi/drivers/adv_pci1723.c       |  2 +-
 drivers/staging/comedi/drivers/adv_pci1724.c       |  2 +-
 drivers/staging/comedi/drivers/adv_pci_dio.c       | 13 +---
 drivers/staging/comedi/drivers/amplc_dio200.c      |  8 +-
 drivers/staging/comedi/drivers/amplc_dio200.h      |  2 -
 .../staging/comedi/drivers/amplc_dio200_common.c   |  9 ---
 drivers/staging/comedi/drivers/amplc_dio200_pci.c  | 10 +--
 drivers/staging/comedi/drivers/amplc_pci224.c      |  4 +-
 drivers/staging/comedi/drivers/amplc_pci230.c      |  4 +-
 drivers/staging/comedi/drivers/amplc_pci236.c      |  9 +--
 drivers/staging/comedi/drivers/amplc_pci263.c      |  2 +-
 drivers/staging/comedi/drivers/cb_pcidas.c         | 13 +---
 drivers/staging/comedi/drivers/cb_pcidas64.c       | 90 +++++++++++-----------
 drivers/staging/comedi/drivers/cb_pcidda.c         |  2 +-
 drivers/staging/comedi/drivers/cb_pcimdas.c        |  9 +--
 drivers/staging/comedi/drivers/cb_pcimdda.c        |  2 +-
 drivers/staging/comedi/drivers/contec_pci_dio.c    |  2 +-
 drivers/staging/comedi/drivers/daqboard2000.c      | 12 +--
 drivers/staging/comedi/drivers/das08_pci.c         |  2 +-
 drivers/staging/comedi/drivers/dt3000.c            | 11 +--
 drivers/staging/comedi/drivers/dyna_pci10xx.c      |  2 +-
 drivers/staging/comedi/drivers/gsc_hpdi.c          | 59 +++++++-------
 drivers/staging/comedi/drivers/icp_multi.c         | 14 +---
 drivers/staging/comedi/drivers/ke_counter.c        |  2 +-
 drivers/staging/comedi/drivers/me4000.c            |  4 +-
 drivers/staging/comedi/drivers/me_daq.c            |  6 +-
 drivers/staging/comedi/drivers/mf6x4.c             |  5 +-
 drivers/staging/comedi/drivers/ni_6527.c           |  6 +-
 drivers/staging/comedi/drivers/ni_65xx.c           |  8 +-
 drivers/staging/comedi/drivers/ni_670x.c           |  4 +-
 drivers/staging/comedi/drivers/ni_labpc_pci.c      | 11 +--
 drivers/staging/comedi/drivers/rtd520.c            | 18 ++---
 drivers/staging/comedi/drivers/s626.c              | 51 +++++-------
 drivers/staging/comedi/drivers/skel.c              |  2 +-
 53 files changed, 195 insertions(+), 321 deletions(-)

-- 
2.0.3

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to