[PATCH 00/37] staging: comedi: some comedi core reorganization

Ian Abbott abbotti at mev.co.uk
Thu Apr 4 13:58:41 UTC 2013


This series of patches reorganizes the comedi core module somewhat.  My
main aim was originally to implement proper reference counting for
comedi devices and get rid of various race conditions related to removal
of devices.  I haven't got that far yet due to time constraints but I
have got as far as simplifying the data structures used by the core,
eliminating the `struct comedi_file_info` type, which seems like a
natural break point.  I plan to come back to the reference counting
stuff later, but have real (payed) work to do in the meantime and I
don't want my existing patches to go stale.  (Besides, this series of
patches is starting to get a bit long already!)

01) staging: comedi: check comedi_auto_config() params
02) staging: comedi: no need to zero out comedi_file_info_table[]
03) staging: comedi: remove memset() call from comedi_device_init()
04) staging: comedi: adjust module count on device cleanup
05) staging: comedi: refactor comedi_free_board_minor()
06) staging: comedi: add comedi_release_hardware_device()
07) staging: comedi: call comedi_release_hardware_device() on error
08) staging: comedi: make comedi_free_board_minor() static
09) staging: comedi: change comedi_alloc_board_minor() to return pointer
10) staging: comedi: pre-lock mutex on creation of comedi device
11) staging: comedi: avoid releasing legacy minors automatically
12) staging: comedi: no need to evade comedi_auto_unconfig()
13) staging: comedi: remove manually unconfigured dynamic devices
14) staging: comedi: avoid forward declarations
15) staging: comedi: simplify driver module counting
16) staging: comedi: put module _after_ detach
17) staging: comedi: replace  __comedi_device_detach()
18) staging: comedi: move detach out of post-config
19) staging: comedi: set hw_dev in comedi_alloc_board_minor()
20) staging: comedi: change comedi_file_info_table_lock to mutex
21) staging: comedi: move COMEDI_NUM_MINORS and
    COMEDI_FIRST_SUBDEVICE_MINOR
22) staging: comedi: remove COMEDI_FIRST_SUBDEVICE_MINOR
23) staging: comedi: separate board and subdevice minor tables
24) staging: comedi: remove comedi_clear_minor()
25) staging: comedi: remove hardware_device from struct
    comedi_device_info
26) staging: comedi: rename dev parameter of device attribute functions
27) staging: comedi: get mutex before subdevice in attribute functions
28) staging: comedi: use minor device number in attribute functions
29) staging: comedi: change comedi_read/write_subdevice() parameters
30) staging: comedi: reduce use of struct comedi_file_info
31) staging: comedi: refactor comedi_dev_from_minor()
32) staging: comedi: remove comedi_clear_subdevice_minor()
33) staging: comedi: remove comedi_file_info_from_board_minor()
34) staging: comedi: simplify comedi_subdevice_minor_table[]
35) staging: comedi: simplify comedi_board_minor_table[]
36) staging: comedi: remove struct comedi_file_info
37) staging: comedi: add comedi_clear_board_dev()

 drivers/staging/comedi/comedi_fops.c     | 527 ++++++++++++++++++-------------
 drivers/staging/comedi/comedi_internal.h |   5 +-
 drivers/staging/comedi/comedidev.h       |   2 -
 drivers/staging/comedi/drivers.c         |  80 ++---
 4 files changed, 346 insertions(+), 268 deletions(-)



More information about the devel mailing list