ce157f8032bbd46d9427034c335b0afd751da25d |
|
25-Jun-2013 |
H Hartley Sweeten <hsweeten@visionengravers.com> |
staging: comedi: don't rely on comedidev.h to include headers comedidev.h is the main kernel header for comedi. Every comedi driver includes this header which then includes a number of <linux/*> headers. All the drivers need <linux/module.h> and some of them need <linux/delay.h>. The rest are not needed by any of the drivers. Remove all the includes in comedidev.h except for <linux/dma-mapping.h>, which is needed to pick up the enum dma_data_direction for the comedi_subdevice definition, and "comedi.h", which is the uapi header for comedi. Add <linux/module.h> to all the comedi drivers and <linux/delay.h> to the couple that need it. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
0480bcb9fb5e279df9d39f21bb0e87ab15b5092a |
|
20-Jun-2013 |
H Hartley Sweeten <hsweeten@visionengravers.com> |
staging: comedi: have comedi_set_spriv() allocate the memory As suggested by Ian Abbott, comedi_set_spriv() can only be used to set the subdevice->private pointer to something that can be kfree()'d. Rename the function to comedi_alloc_spriv() and have it kzalloc() the memory as well as set the private pointer. This saves a function call in the drivers and avoids the possibility of incorrectly calling comedi_set_spriv() for some pointer that is not meant to be kfree()'d. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
588ba6dc5fb4bdca47a3da38c2718fbb82d3eee1 |
|
11-Jun-2013 |
H Hartley Sweeten <hsweeten@visionengravers.com> |
staging: comedi: drivers: let core handle freeing s->private Introduce a new subdevice runflags, SRF_FREE_SPRIV, and a new helper function, comedi_set_spriv(), that the drivers can use to set the comedi_subdevice private data pointer. The helper function will also set SRF_FREE_SPRIV to allow the comedi core to automatically free the subdevice private data during the cleanup_device() stage of the detach. Currently s->private is only allocated by the 8255, addi_watchdog, amplc_dio200_common, and ni_65xx drivers. All users of those drivers can then have the comedi_spriv_free() calls removed and in many cases the (*detach) can then simply be the appropriate comedi core provided function. The ni_65xx driver uses a helper function, ni_65xx_alloc_subdevice_private(), to allocate the private data. Refactor the function to return an errno or call comedi_set_spriv() instead of returning a pointer to the private data and requiring the caller to handle it. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
641f064e5df6fb3aaeb6256031a153a5efb16ca6 |
|
25-Apr-2013 |
H Hartley Sweeten <hsweeten@visionengravers.com> |
staging: comedi: remove FSF address from boilerplate text Addresses change... Remove the paragraph with the FSF address from all the comedi source files. Also, remove the paragraph about the finding the complete GPL in the COPYING file since it's unnecessary. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
2f69915c728c3be41e12dbbbdd4eeb8d3388d58c |
|
16-Apr-2013 |
H Hartley Sweeten <hsweeten@visionengravers.com> |
staging: comedi: introduce, and use, comedi_spriv_free() The comedi_subdevice 'private' variable is a void * that is available for the subdevice to use in manner. It's common in comedi drivers for the driver to allocate memory for a subdevice and store the pointer to that memory in the 'private' variable. It's then the responsibility of the driver to free that memory when the device is detached. Due to how the attach/detach works in comedi, the drivers need to do some sanity checking before they can free the allocated memory during the detach. Introduce a helper function, comedi_spriv_free(), to handle freeing the private data allocated for a subdevice. This allows moving all the sanity checks into the helper function and makes it safe to call with any context. It also allows removing some of the boilerplate code in the (*detach) functions. Remove the subdev_8255_cleanup() export in the 8255 subdevice driver as well as the addi_watchdog_cleanup() export in the addi_watchdog driver and use the new helper instead. The amplc_dio200_common driver uses a number of local helper functions to free the private data for it's subdevices. Remove those as well and use the new helper. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
c0cd2da16b431a2007ea83865f3dd1530c1643a5 |
|
24-Jan-2013 |
H Hartley Sweeten <hsweeten@visionengravers.com> |
staging: comedi: addi_watchdog: all i/o registers are 32-bit All the i/o registers used by the watchdog device on the addi-data boards are 32-bit. Make sure all the i/o commands use outl/inl to access the registers. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
2abcf87aeea500d28a953d4b02450f76820f899d |
|
18-Jan-2013 |
H Hartley Sweeten <hsweeten@visionengravers.com> |
staging: comedi: introduce addi_watchdog driver Many of the ADDI-DATA drivers have a "watchdog" subdevice that can be used to monitor digital output activity. All the digital outputs are released (set to 0) if the digital outputs are not accessed, or the watchdog it not pinged, before the timeout of the watchdog occurs. The only difference in the drivers for the watchdog subdevice is the base address used to talk to the watchdog registers. Instead of duplicating the code needed to support this watchdog, introduce a helper module, similar to the 8255 module. This module will be select'ed by the drivers that can use it. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|