[PATCH 00/42] staging: comedi: ni_660x: big driver cleanup

Ian Abbott abbotti at mev.co.uk
Mon Mar 21 15:38:47 UTC 2016


On 18/03/16 19:38, H Hartley Sweeten wrote:
> This driver has a lot of checkpatch.pl issues:
> total: 0 errors, 71 warnings, 27 checks, 1222 lines checked
>
> There is also a lot of cruft that bloats the driver and makes it harder
> to follow.
>
> This series fixes all the checkpatch.pl issues:
> total: 0 errors, 0 warnings, 0 checks, 944 lines checked
>
> And, even better, removes the cruft:
>
>     text    data     bss     dec     hex filename
>    10249     344       0   10593    2961 ni_660x.o.original
>     4719     344       0    5063    13c7 ni_660x.o
>
> H Hartley Sweeten (42):
>    staging: comedi: ni_660x: change IOConfigReg() into a macro
>    staging: comedi: ni_660x: remove struct NI_660xRegisterData 'name'
>    staging: comedi: ni_660x: remove enum ni_register_width
>    staging: comedi: ni_660x: remove enum ni_660x_register_direction
>    staging: comedi: ni_660x: rename CamelCase 'NI_660xRegisterData'
>    staging: comedi: ni_660x: cleanup the NI660X_IO_CFG register helpers
>    staging: comedi: ni_660x: tidy up multi-line comment
>    staging: comedi: ni_660x: remove enum clock_config_register_bits
>    staging: comedi: ni_660x: cleanup the NI660X_DMA_CFG register helpers
>    staging: comedi: ni_660x: cleanup the NI660X_GLOBAL_INT_{STATUS,CFG}
>    staging: comedi: ni_660x: tidy up ni_660x_write_register()
>    staging: comedi: ni_660x: tidy up ni_660x_read_register()
>    staging: comedi: ni_660x: tidy up ni_gpct_{write,read}_register()
>    staging: comedi: ni_660x: tidy up ni_660x_select_pfi_output()
>    staging: comedi: ni_660x: remove BUG_ON() in ni_660x_request_mite_channel()
>    staging: comedi: ni_660x: fix block comment issues
>    staging: comedi: ni_660x: remove enum ni_660x_subdevices
>    staging: comedi: ni_660x: remove ni_660x_num_counters()
>    staging: comedi: ni_660x: Prefer 'unsigned int' to bare use of 'unsigned'
>    staging: comedi: ni_660x: Prefer kernel type 'u64' over 'uint64_t'
>    staging: comedi: ni_660x: tidy up Digital I/O subdevice init
>    staging: comedi: ni_660x: tidy up ni_660x_dio_insn_bits()
>    staging: comedi: ni_660x: tidy up ni_660x_set_pfi_routing()
>    staging: comedi: ni_660x: add a comment about the initial DIO state
>    staging: comedi: ni_660x: refactor ni_gpct_to_660x_register()
>    staging: comedi: ni_660x: add comments for the spinlock_t definitions
>    staging: comedi: ni_660x: fix memory barrier without comment
>    staging: comedi: ni_660x: tidy up the misc. constants
>    staging: comedi: ni_660x: tidy up the counter subdevices init
>    staging: comedi: ni_660x: ni_gpct_device_destroy() can handle a NULL pointer
>    staging: comedi: ni_mio_common: ni_gpct_device_destroy() can handle a NULL pointer
>    staging: comedi: ni_660x: disable interrupts when detaching driver
>    staging: comedi: ni_660x: init TIO chips before subdevice init
>    staging: comedi: ni_660x: allocate counters early in (*auto_attach)
>    staging: comedi: ni_660x: initialize the counter with the subdevice init
>    staging: comedi: ni_660x: default DIO channels with subdevice init
>    staging: comedi: ni_660x: remove inline mite_ring()
>    staging: comedi: ni_660x: sort enum ni_660x_register
>    staging: comedi: ni_660x: remove ni_gpct_to_660x_register[]
>    staging: comedi: ni_660x: remove spinlock 'dma_cfg_lock'
>    staging: comedi: ni_660x: refactor GPCT_OFFSET
>    staging: comedi: ni_660x: update the MODULE_DESCRIPTION
>
>   drivers/staging/comedi/drivers/ni_660x.c       | 1156 +++++++++---------------
>   drivers/staging/comedi/drivers/ni_mio_common.c |    6 +-
>   2 files changed, 441 insertions(+), 721 deletions(-)
>

It all looks fine, apart from some breakage in patches 30 and 31 related 
to the calls to ni_gpct_device_destroy().  I'm not entirely sure what 
the memory barrier moved by patch 27 is for - it's probably redundant.

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti at mev.co.uk> )=-
-=(                          Web: http://www.mev.co.uk/  )=-


More information about the devel mailing list