GitHub/LineageOS/G12/android_kernel_amlogic_linux-4.9.git
9 years agostaging: comedi: pcl816: use common function to setup dma
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:14 +0000 (10:05 -0700)]
staging: comedi: pcl816: use common function to setup dma

THe pcl816_ai_setup_dma() and pcl816_ai_setup_next_dma() functions are similar
other than the buffer switch and the inclusion of the "unread_samples" in
pcl818_ai_setup_next_dma() when calculating the dma size.

Merge these two functions by initializing the 'dma->cur_dma' in the callers
and passing '0' for the "unread_samples" when first starting the DMA.

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>
9 years agostaging: comedi: pcl816: simplify the dma->size calculations
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:13 +0000 (10:05 -0700)]
staging: comedi: pcl816: simplify the dma->size calculations

Currently this driver determines the number of DMA "runs" needed and the size
of the "last" DMA transfer in order to perform a command. As long as there are
more "runs" required, the dma->size is set to the buffer maxsize. On the last
"run" the buffer is set to the "last" size.

Refactor the driver to use the comedi core helpers to determine the DMA size
based on the buffer maxsize and the number of samples remaining in the command.

This allows removing the 'dma_runs_to_end' and 'last_dma_run' mamebers from
the private data.

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>
9 years agostaging: comedi: pcl818: use common function to setup dma
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:12 +0000 (10:05 -0700)]
staging: comedi: pcl818: use common function to setup dma

THe pcl818_ai_setup_dma() and pcl818_ai_setup_next_dma() functions are similar
other than the buffer switch and the inclusion of the "unread_samples" in
pcl818_ai_setup_next_dma() when calculating the dma size.

Merge these two functions by initializing the 'dma->cur_dma' in the callers
and passing '0' for the "unread_samples" when first starting the DMA.

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>
9 years agostaging: comedi: pcl818: simplify the dma->size calculations
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:11 +0000 (10:05 -0700)]
staging: comedi: pcl818: simplify the dma->size calculations

Currently this driver determines the number of DMA "runs" needed and the size
of the "last" DMA transfer in order to perform a command. As long as there are
more "runs" required, the dma->size is set to the buffer maxsize. On the last
"run" the buffer is set to the "last" size.

Refactor the driver to use the comedi core helpers to determine the DMA size
based on the buffer maxsize and the number of samples remaining in the command.

This allows removing the 'dma_runs_to_end' and 'last_dma_run' mamebers from
the private data. Also remove the 'ai_data_len' member which is set but never
used.

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>
9 years agostaging: comedi: ni_labpc_isadma: use comedi_isdma module
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:10 +0000 (10:05 -0700)]
staging: comedi: ni_labpc_isadma: use comedi_isdma module

The labpc driver has already had the depends on ISA_DMA_API limitation removed
by moving all the DMA support code into the labpc_isadma module.

For aesthetics, use the comedi_isadma module to provide the actual ISA DMA
support.

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>
9 years agostaging: comedi: ni_at_a2150: remove depends on ISA_DMA_API limitation
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:09 +0000 (10:05 -0700)]
staging: comedi: ni_at_a2150: remove depends on ISA_DMA_API limitation

Use the new comedi_isadma module to provide the ISA DMA support. This removes
all the ISA_DMA_API code from this driver and allows the driver to be used on
platforms that don't support the ISA_DMA_API.

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>
9 years agostaging: comedi: dt282x: remove depends on ISA_DMA_API limitation
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:08 +0000 (10:05 -0700)]
staging: comedi: dt282x: remove depends on ISA_DMA_API limitation

Use the new comedi_isadma module to provide the ISA DMA support. This removes
all the ISA_DMA_API code from this driver and allows the driver to be used on
platforms that don't support the ISA_DMA_API.

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>
9 years agostaging: comedi: das1800: remove depends on ISA_DMA_API limitation
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:07 +0000 (10:05 -0700)]
staging: comedi: das1800: remove depends on ISA_DMA_API limitation

Use the new comedi_isadma module to provide the ISA DMA support. This removes
all the ISA_DMA_API code from this driver and allows the driver to be used on
platforms that don't support the ISA_DMA_API.

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>
9 years agostaging: comedi: das16: remove depends on ISA_DMA_API limitation
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:06 +0000 (10:05 -0700)]
staging: comedi: das16: remove depends on ISA_DMA_API limitation

Use the new comedi_isadma module to provide the ISA DMA support. This removes
all the ISA_DMA_API code from this driver and allows the driver to be used on
platforms that don't support the ISA_DMA_API.

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>
9 years agostaging: comedi: pcl812: remove depends on ISA_DMA_API limitation
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:05 +0000 (10:05 -0700)]
staging: comedi: pcl812: remove depends on ISA_DMA_API limitation

Use the new comedi_isadma module to provide the ISA DMA support. This removes
all the ISA_DMA_API code from this driver and allows the driver to be used on
platforms that don't support the ISA_DMA_API.

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>
9 years agostaging: comedi: pcl816: remove depends on ISA_DMA_API limitation
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:04 +0000 (10:05 -0700)]
staging: comedi: pcl816: remove depends on ISA_DMA_API limitation

Use the new comedi_isadma module to provide the ISA DMA support. This removes
all the ISA_DMA_API code from this driver and allows the driver to be used on
platforms that don't support the ISA_DMA_API.

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>
9 years agostaging: comedi: pcl818: remove depends on ISA_DMA_API limitation
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:03 +0000 (10:05 -0700)]
staging: comedi: pcl818: remove depends on ISA_DMA_API limitation

Use the new comedi_isadma module to provide the ISA DMA support. This removes
all the ISA_DMA_API code from this driver and allows the driver to be used on
platforms that don't support the ISA_DMA_API.

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>
9 years agostaging: comedi: comedi_isadma: introduce helper module for ISA DMA
H Hartley Sweeten [Wed, 14 Jan 2015 17:05:02 +0000 (10:05 -0700)]
staging: comedi: comedi_isadma: introduce helper module for ISA DMA

Introduce a new helper module to consolidate all the ISA DMA code. This will
allow removing the "depends on ISA_DMA_API" from the legacy drivers that can
use DMA for async command support.

This module is complete based on the various uses of ISA DMA in the comedi
drivers.

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>
9 years agostaging: comedi: das1800: tidy up das1800_ai_transfer_size()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:44 +0000 (10:16 -0700)]
staging: comedi: das1800: tidy up das1800_ai_transfer_size()

For aesthetics, pass the fill time 'ns' as a parameter to this function.

Refactor this function to calculate the transfer size in 'samples' instead
of 'bytes'. This removes the need to constantly multiply the values by the
'sample_size'. It also helps avoid any possible integer overflow issues.

Use the comedi_nsamples_left() helper to limit the samples when cmd->stop_src
is TRIG_COUNT.

Use comedi_samples_to_bytes() to return the final DMA size in bytes.

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>
9 years agostaging: comedi: das1800: remove hard coded 'sample_size'
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:43 +0000 (10:16 -0700)]
staging: comedi: das1800: remove hard coded 'sample_size'

Use the comedi_bytes_per_sample() helper to remove the hard coded sample_size
in suggest_transfer_size().

The helper function needs to comedi_subdevice pointer. Change the parameters
passed to suggest_transfer_size() and setup_dma() so that this pointer is
available. Rename these functions so they have namespace associated with the
driver.

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>
9 years agostaging: comedi: ni_labpc_isadma: introduce labpc_isadma_program()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:42 +0000 (10:16 -0700)]
staging: comedi: ni_labpc_isadma: introduce labpc_isadma_program()

Introduce a helper function to program the ISA DMA controller. Program
the ISA DMA as described in Documentation/DMA-ISA-LPC.txt.

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>
9 years agostaging: comedi: ni_labpc_isadma: move dma programming out of labpc_drain_dma()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:41 +0000 (10:16 -0700)]
staging: comedi: ni_labpc_isadma: move dma programming out of labpc_drain_dma()

The external caller of labpc_drain_dma() does not enable the DMA transfer. Only
the call from handle_isa_dma() results in the programmed DMA operation getting
enabled.

For aesthetics, move the dma programming to handle_isa_dma(). Make sure the
DMA operation would actually do something (dma->size != 0) before programming
it to avoid enabling the DMA at the end of a stop_src == TRIG_COUNT command.

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>
9 years agostaging: comedi: ni_labpc_isadma: tidy up labpc_drain_dma()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:40 +0000 (10:16 -0700)]
staging: comedi: ni_labpc_isadma: tidy up labpc_drain_dma()

Tidy up the code that determines the number of samples to read for the
current DMA transfer and how many samples are needed for the next DMA,

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>
9 years agostaging: comedi: ni_labpc_isadma: introduce labpc_isadma_disable()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:39 +0000 (10:16 -0700)]
staging: comedi: ni_labpc_isadma: introduce labpc_isadma_disable()

Introduce a helper function to disable and the ISA DMA controller and
return the residue as described in Documentation/DMA-ISA-LPC.txt.

The DMA will always be disabled when labpc_setup_dma() is called. Remove
the unnecessary disable in that function.

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>
9 years agostaging: comedi: ni_labpc_isadma: convert 'dma_buffer_size' to a define
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:38 +0000 (10:16 -0700)]
staging: comedi: ni_labpc_isadma: convert 'dma_buffer_size' to a define

For aesthetics, convert this statis const global variable to a define.

Cleanup the maximum 'size' calc in labpc_suggest_transfer_size(). The modulo
operation will always result in '0'.

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>
9 years agostaging: comedi: ni_labpc_isadma: remove hard coded samples size
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:37 +0000 (10:16 -0700)]
staging: comedi: ni_labpc_isadma: remove hard coded samples size

Use the comedi_bytes_per_sample() helper and remove the hard coded sample
size.

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>
9 years agostaging: comedi: ni_at_a2150: introduce a2150_isadma_disable()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:36 +0000 (10:16 -0700)]
staging: comedi: ni_at_a2150: introduce a2150_isadma_disable()

Introduce a helper function to disable and the ISA DMA controller and
return the residue as described in Documentation/DMA-ISA-LPC.txt.

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>
9 years agostaging: comedi: ni_at_a2150: introduce a2150_isadma_program()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:35 +0000 (10:16 -0700)]
staging: comedi: ni_at_a2150: introduce a2150_isadma_program()

Introduce a helper function to program the ISA DMA controller. Program
the ISA DMA as described in Documentation/DMA-ISA-LPC.txt.

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>
9 years agostaging: comedi: pcl812: introduce pcl812_isadma_disable()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:34 +0000 (10:16 -0700)]
staging: comedi: pcl812: introduce pcl812_isadma_disable()

According to Documentation/DMA-ISA-LPC.txt, the DMA lock needs to be
claimed before using any of the ISA DMA routines. Introduce a helper
function to disable the ISA DMA controller and add the necessary
locking calls.

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>
9 years agostaging: comedi: pcl812: introduce pcl812_isadma_program()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:33 +0000 (10:16 -0700)]
staging: comedi: pcl812: introduce pcl812_isadma_program()

Introduce a helper function to program the ISA DMA controller. Program
the ISA DMA as described in Documentation/DMA-ISA-LPC.txt.

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>
9 years agostaging: comedi: das16: introduce das16_isadma_disable()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:32 +0000 (10:16 -0700)]
staging: comedi: das16: introduce das16_isadma_disable()

Introduce a helper function to disable and the ISA DMA controller and
return the residue as described in Documentation/DMA-ISA-LPC.txt.

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>
9 years agostaging: comedi: das16: introduce das16_isadma_program()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:31 +0000 (10:16 -0700)]
staging: comedi: das16: introduce das16_isadma_program()

Introduce a helper function to program the ISA DMA controller. Program
the ISA DMA as described in Documentation/DMA-ISA-LPC.txt.

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>
9 years agostaging: comedi: das16: move dma transfer 'size' to dma descriptor
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:30 +0000 (10:16 -0700)]
staging: comedi: das16: move dma transfer 'size' to dma descriptor

For asethetics, move the variable that holds the dma transfer 'size' into
the dma descriptor.

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>
9 years agostaging: comedi: das1800: introduce das1800_isadma_disable()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:29 +0000 (10:16 -0700)]
staging: comedi: das1800: introduce das1800_isadma_disable()

Introduce a helper function to disable and the ISA DMA controller and
return the residue as described in Documentation/DMA-ISA-LPC.txt.

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>
9 years agostaging: comedi: das1800: introduce das1800_isadma_program()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:28 +0000 (10:16 -0700)]
staging: comedi: das1800: introduce das1800_isadma_program()

Introduce a helper function to program the ISA DMA controller. Program
the ISA DMA as described in Documentation/DMA-ISA-LPC.txt.

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>
9 years agostaging: comedi: das1800: move dma transfer 'size' to dma descriptor
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:27 +0000 (10:16 -0700)]
staging: comedi: das1800: move dma transfer 'size' to dma descriptor

For asethetics, move the variable that holds the dma transfer 'size' into
the dma descriptor.

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>
9 years agostaging: comedi: das1800: pass dma descriptor to das1800_flush_dma_channel()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:26 +0000 (10:16 -0700)]
staging: comedi: das1800: pass dma descriptor to das1800_flush_dma_channel()

Instead of passing the dma descriptor 'chan' and 'virt_addr' just pass the
dma descriptor.

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>
9 years agostaging: comedi: dt282x: introduce dt282x_isadma_disable()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:25 +0000 (10:16 -0700)]
staging: comedi: dt282x: introduce dt282x_isadma_disable()

According to Documentation/DMA-ISA-LPC.txt, the DMA lock needs to be
claimed before using any of the ISA DMA routines. Introduce a helper
function to disable the ISA DMA controller and add the necessary
locking calls.

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>
9 years agostaging: comedi: dt282x: introduce dt282x_isadma_program()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:24 +0000 (10:16 -0700)]
staging: comedi: dt282x: introduce dt282x_isadma_program()

Introduce a helper function to program the ISA DMA controller. Program
the ISA DMA as described in Documentation/DMA-ISA-LPC.txt.

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>
9 years agostaging: comedi: pcl816: introduce pcl816_isadma_disable()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:23 +0000 (10:16 -0700)]
staging: comedi: pcl816: introduce pcl816_isadma_disable()

According to Documentation/DMA-ISA-LPC.txt, the DMA lock needs to be
claimed before using any of the ISA DMA routines. Introduce a helper
function to disable the ISA DMA controller and add the necessary
locking calls.

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>
9 years agostaging: comedi: pcl816: introduce pcl816_isadma_program()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:22 +0000 (10:16 -0700)]
staging: comedi: pcl816: introduce pcl816_isadma_program()

Introduce a helper function to program the ISA DMA controller. Program
the ISA DMA as described in Documentation/DMA-ISA-LPC.txt.

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>
9 years agostaging: comedi: pcl818: introduce pcl818_isadma_disable()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:21 +0000 (10:16 -0700)]
staging: comedi: pcl818: introduce pcl818_isadma_disable()

According to Documentation/DMA-ISA-LPC.txt, the DMA lock needs to be
claimed before using any of the ISA DMA routines. Introduce a helper
function to disable the ISA DMA controller and add the necessary
locking calls.

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>
9 years agostaging: comedi: pcl818: introduce pcl818_isadma_program()
H Hartley Sweeten [Tue, 13 Jan 2015 17:16:20 +0000 (10:16 -0700)]
staging: comedi: pcl818: introduce pcl818_isadma_program()

Introduce a helper function to program the ISA DMA controller. Program
the ISA DMA as described in Documentation/DMA-ISA-LPC.txt.

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>
9 years agostaging: comedi: das16: board is not a PCI device
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:15 +0000 (10:56 -0700)]
staging: comedi: das16: board is not a PCI device

The DAS16 board is an ISA device not a PCI device. For aesthetics, use
dma_{alloc,free}_coherent() to allocate and free the DMA buffers instead
of the PCI versions.

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>
9 years agostaging: comedi: das16: introduce das16_free_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:14 +0000 (10:56 -0700)]
staging: comedi: das16: introduce das16_free_dma()

For aesthetics, move the freeing of the DMA channel and the buffers to
a helper function.

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>
9 years agostaging: comedi: das16 introduce das16_alloc_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:13 +0000 (10:56 -0700)]
staging: comedi: das16 introduce das16_alloc_dma()

DMA is optional with this driver. Introduce a helper function to request
the DMA channel and allocate the buffers. Don't fail the driver attach
if the user passed an invalid DMA channel or the channel cannot be
requested.

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>
9 years agostaging: comedi: das16: introduce struct das16_dma_desc
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:12 +0000 (10:56 -0700)]
staging: comedi: das16: introduce struct das16_dma_desc

For aesthetics, introduce a struct to hold the DMA descriptor data.

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>
9 years agostaging: comedi: dt282x: remove VIRT_TO_BUS dependancy
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:11 +0000 (10:56 -0700)]
staging: comedi: dt282x: remove VIRT_TO_BUS dependancy

Use dma_{alloc,free}_coherent() to allocate and free the DMA buffers.
This removes the dependancy on VIRT_TO_BUS.

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>
9 years agostaging: comedi: dt282x: introduce struct dt282x_dma_desc
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:10 +0000 (10:56 -0700)]
staging: comedi: dt282x: introduce struct dt282x_dma_desc

For aesthetics, introduce a struct to hold the DMA descriptor data.

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>
9 years agostaging: comedi: dt282x: introduce dt282x_alloc_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:09 +0000 (10:56 -0700)]
staging: comedi: dt282x: introduce dt282x_alloc_dma()

The IRA and DMA are optional with this driver but both are required to
support async commands. Introduce a helper function to request the IRQ
and DMA channel and allocate the buffers. Don't fail the driver attach
if the user passed an invalid IRQ or DMA channel or they cannot be
requested.

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>
9 years agostaging: comedi: pcl812: remove VIRT_TO_BUS dependancy
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:08 +0000 (10:56 -0700)]
staging: comedi: pcl812: remove VIRT_TO_BUS dependancy

Use dma_{alloc,free}_coherent() to allocate and free the DMA buffers.
This removes the dependancy on VIRT_TO_BUS.

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>
9 years agostaging: comedi: pcl812: introduce struct pcl812_dma_desc
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:07 +0000 (10:56 -0700)]
staging: comedi: pcl812: introduce struct pcl812_dma_desc

For aesthetics, introduce a struct to hold the DMA descriptor data.

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>
9 years agostaging: comedi: pcl812: introduce pcl812_free_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:06 +0000 (10:56 -0700)]
staging: comedi: pcl812: introduce pcl812_free_dma()

For aesthetics, move the freeing of the DMA channel and the buffers to
a helper function.

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>
9 years agostaging: comedi: pcl812: introduce pcl812_alloc_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:05 +0000 (10:56 -0700)]
staging: comedi: pcl812: introduce pcl812_alloc_dma()

DMA is optional with this driver. Introduce a helper function to request
the DMA channel and allocate the buffers. Don't fail the driver attach
if the user passed an invalid DMA channel or the channel cannot be
requested.

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>
9 years agostaging: comedi: pcl816: fix short DMA transactions
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:04 +0000 (10:56 -0700)]
staging: comedi: pcl816: fix short DMA transactions

When the cmd->stop_src == TRIG_COUNT the last DMA transfer might be smaller
than the buffer size. This results in invalid data being added to the async
buffer.

Add a 'size' member to the DMA descriptor and initialize it with the
actual size of the DMA transfer. Use that in interrupt and ai subdevice
(*poll) function to return the proper number of samples. Use the
comedi_bytes_to_samples() helper to convert the byte size to comedi
samples in the interrupt handler.

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>
9 years agostaging: comedi: pcl816: remove VIRT_TO_BUS dependancy
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:03 +0000 (10:56 -0700)]
staging: comedi: pcl816: remove VIRT_TO_BUS dependancy

Use dma_{alloc,free}_coherent() to allocate and free the DMA buffers.
This removes the dependancy on VIRT_TO_BUS.

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>
9 years agostaging: comedi: pcl816: introduce struct pcl816_dma_desc
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:02 +0000 (10:56 -0700)]
staging: comedi: pcl816: introduce struct pcl816_dma_desc

For aesthetics, introduce a struct to hold the DMA descriptor data.

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>
9 years agostaging: comedi: pcl816: introduce pcl816_free_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:01 +0000 (10:56 -0700)]
staging: comedi: pcl816: introduce pcl816_free_dma()

For aesthetics, move the freeing of the DMA channel and the buffers to
a helper function.

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>
9 years agostaging: comedi: pcl816: introduce pcl816_alloc_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:56:00 +0000 (10:56 -0700)]
staging: comedi: pcl816: introduce pcl816_alloc_dma()

The IRA and DMA are optional with this driver but both are required to
support async commands. Introduce a helper function to request the IRQ
and DMA channel and allocate the buffers. Don't fail the driver attach
if the user passed an invalid IRQ or DMA channel or they cannot be
requested.

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>
9 years agostaging: comedi: pcl818: fix pcl818_handle_dma() for short DMA transaction
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:59 +0000 (10:55 -0700)]
staging: comedi: pcl818: fix pcl818_handle_dma() for short DMA transaction

Currently this function always transfers the full DMA buffer to the comedi
async buffer. When the cmd->stop_src == TRIG_COUNT the last DMA transfer
might be smaller than the buffer size. This results in invalid data being
added to the asunc buffer.

Add a 'size' member to the DMA descriptor and initialize it with the
actual size of the DMA transfer. Use that in pcl818_handle_dma() to
return the proper number of samples. Use the comedi_bytes_to_samples()
helper to convert the byte size to comedi samples. Remove the unnecessary
'bufptr' local variable.

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>
9 years agostaging: comedi: pcl818: remove VIRT_TO_BUS dependancy
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:58 +0000 (10:55 -0700)]
staging: comedi: pcl818: remove VIRT_TO_BUS dependancy

Use dma_{alloc,free}_coherent() to allocate and free the DMA buffers.
This removes the dependancy on VIRT_TO_BUS.

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>
9 years agostaging: comedi: pcl818: introduce struct pcl818_dma_desc
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:57 +0000 (10:55 -0700)]
staging: comedi: pcl818: introduce struct pcl818_dma_desc

For aesthetics, introduce a struct to hold the DMA descriptor data.

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>
9 years agostaging: comedi: pcl818: introduce pcl818_dma_free()
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:56 +0000 (10:55 -0700)]
staging: comedi: pcl818: introduce pcl818_dma_free()

For aesthetics, move the freeing of the DMA channel and the buffers to
a helper function.

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>
9 years agostaging: comedi: pcl818: introduce pcl818_alloc_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:55 +0000 (10:55 -0700)]
staging: comedi: pcl818: introduce pcl818_alloc_dma()

DMA is optional with this driver. Introduce a helper function to request
the DMA channel and allocate the buffers. Don't fail the driver attach
if the user passed an invalid DMA channel or the channel cannot be
requested.

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>
9 years agostaging: comedi: ni_labpc: remove VIRT_TO_BUS dependancy
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:54 +0000 (10:55 -0700)]
staging: comedi: ni_labpc: remove VIRT_TO_BUS dependancy

Use dma_{alloc,free}_coherent() to allocate and free the DMA buffers.
This removes the dependancy on VIRT_TO_BUS.

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>
9 years agostaging: comedi: ni_labpc_isadma: tidy up labpc_init_dma_chan()
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:53 +0000 (10:55 -0700)]
staging: comedi: ni_labpc_isadma: tidy up labpc_init_dma_chan()

DMA support is optional for the labpc driver. The return value from
labpc_init_dma_chan() is not even checked by the caller.

Change the return type to void and tidy up the function a bit.

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>
9 years agostaging: comedi: ni_labpc: introduce struct labpc_dma_desc
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:52 +0000 (10:55 -0700)]
staging: comedi: ni_labpc: introduce struct labpc_dma_desc

For aesthetics, introduce a struct to hold the DMA descriptor data.

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>
9 years agostaging: comedi: ni_at_a2150: remove VIRT_TO_BUS dependancy
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:51 +0000 (10:55 -0700)]
staging: comedi: ni_at_a2150: remove VIRT_TO_BUS dependancy

Use dma_{alloc,free}_coherent() to allocate and free the DMA buffers.
This removes the dependancy on VIRT_TO_BUS.

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>
9 years agostaging: comedi: ni_at_a2150: introduce struct a2150_dma_desc
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:50 +0000 (10:55 -0700)]
staging: comedi: ni_at_a2150: introduce struct a2150_dma_desc

For aesthetics, introduce a struct to hold the DMA descriptor data.

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>
9 years agostaging: comedi: ni_at_a2150: introduce a2150_free_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:49 +0000 (10:55 -0700)]
staging: comedi: ni_at_a2150: introduce a2150_free_dma()

For aesthetics, introduce a helper function to free the DMA channel and
buffer.

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>
9 years agostaging: comedi: ni_at_a2150: introduce a2150_alloc_irq_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:48 +0000 (10:55 -0700)]
staging: comedi: ni_at_a2150: introduce a2150_alloc_irq_dma()

This driver requires an IRQ and DMA in order to support async commands.

For aesthetics, introduce a helper function to request the IRQ and DMA
channels and allocate the DMA buffer. Since the async command support
is optional, make the helper function handle any request/allocation
errors and allow the driver to still attach without async command support.

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>
9 years agostaging: comedi: ni_at_a2150: use comedi_bytes_per_sample()
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:47 +0000 (10:55 -0700)]
staging: comedi: ni_at_a2150: use comedi_bytes_per_sample()

For aesthetics, use the helper function to get the byte size of each sample
instead of using sizeof() the first buffer element.

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>
9 years agostaging: comedi: ni_at_a2150: remove 'volatile' from private data variable
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:46 +0000 (10:55 -0700)]
staging: comedi: ni_at_a2150: remove 'volatile' from private data variable

As indicated by checkpatch.pl, "WARNING: Use of volatile is usually
wrong: ...", the 'count' member of the private data does not need to
be volatile.

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>
9 years agostaging: comedi: das1800: introduce das1800_free_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:45 +0000 (10:55 -0700)]
staging: comedi: das1800: introduce das1800_free_dma()

For aesthetics, introduce a helper function to free the DMA channels and
allocated buffers.

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>
9 years agostaging: comedi: das1800: remove VIRT_TO_BUS dependancy
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:44 +0000 (10:55 -0700)]
staging: comedi: das1800: remove VIRT_TO_BUS dependancy

Use dma_{alloc,free}_coherent() to allocate and free the DMA buffers.
This removes the dependancy on VIRT_TO_BUS.

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>
9 years agostaging: comedi: das1800: tidy up das1800_init_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:43 +0000 (10:55 -0700)]
staging: comedi: das1800: tidy up das1800_init_dma()

Refactor this function so that a for loop can be used to request and
set up the two DMA descriptors.

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>
9 years agostaging: comedi: das1800: introduce struct das1800_dma_desc
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:42 +0000 (10:55 -0700)]
staging: comedi: das1800: introduce struct das1800_dma_desc

For aesthetics, introduce a struct to hold the DMA descriptor data.

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>
9 years agostaging: comedi: das1800: separate AI FIFO bounce buffer from DMA buffer
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:41 +0000 (10:55 -0700)]
staging: comedi: das1800: separate AI FIFO bounce buffer from DMA buffer

This driver can use DMA or the hardware FIFO to read analog input samples.
When DMA is enabled it's also possible for some async commands to cause
DMA to be disabled and the FIFO is used instead.

Currently the first DMA channels buffer is used for the bounce buffer
when using the FIFO. For aesthetics, add a new member to the private
data and use that for the FIFO bounce buffer.

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>
9 years agostaging: comedi: das1800: reduce indent level of das1800_init_dma()
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:40 +0000 (10:55 -0700)]
staging: comedi: das1800: reduce indent level of das1800_init_dma()

An IRQ and at least one DMA channel are required to use DMA with this driver.
Move the check to the caller to reduce the indent level of this function.

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>
9 years agostaging: comedi: adl_pci9118: remove VIRT_TO_BUS dependancy
H Hartley Sweeten [Mon, 12 Jan 2015 17:55:39 +0000 (10:55 -0700)]
staging: comedi: adl_pci9118: remove VIRT_TO_BUS dependancy

This driver no longer uses virt_to_bus(). Remove the dependancy.

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>
9 years agoStaging: rtl8192u: Remove check of ieee in rtl819x_BAProc.c
Vaishali Thakkar [Sat, 10 Jan 2015 10:35:32 +0000 (16:05 +0530)]
Staging: rtl8192u: Remove check of ieee in rtl819x_BAProc.c

This patch fixes following smatch warning:

drivers/staging/rtl8192u/ieee80211/rtl819x_BAProc.c:117
ieee80211_ADDBA() warn: variable dereferenced before check 'ieee' (see line 114)

As ieee can not be NULL at this point, all such checks are removed.

Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: Fix duplicated conditional branch
Alexander Kuleshov [Sun, 4 Jan 2015 07:23:50 +0000 (13:23 +0600)]
staging: rtl8192e: Fix duplicated conditional branch

Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agodrivers: staging: rtl8192u driver cleanup
Rene Kolarik [Mon, 12 Jan 2015 01:31:57 +0000 (02:31 +0100)]
drivers: staging: rtl8192u driver cleanup

Correct redundant initialization reported by sparse

Signed-off-by: Rene Kolarik <rene.kolarik@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8712: remove spaces before commas
Max Perepelitsyn [Fri, 2 Jan 2015 08:08:08 +0000 (14:08 +0600)]
staging: rtl8712: remove spaces before commas

checkpatch.pl fix for
ERROR: space prohibited before that ',' (ctx:WxE)

Signed-off-by: Max Perepelitsyn <mperepelitsyn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: fixed a space coding style issue
Gangadhar Vukkesala [Sun, 21 Dec 2014 02:53:59 +0000 (08:23 +0530)]
staging: rtl8192e: fixed a space coding style issue

Fixed a space coding style issue in 3-dimensional array initialization
which was found when running checkpatch.pl script on rtl819x_HTProc.c.

Signed-off-by: Gangadhar Vukkesala <gangs.freelancer@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: rtllib_rx.c: Remove some unused functions
Rickard Strandqvist [Sun, 21 Dec 2014 17:53:37 +0000 (18:53 +0100)]
staging: rtl8192e: rtllib_rx.c: Remove some unused functions

Removes some functions that are not used anywhere:
update_ibss_network() rtllib_SignalStrengthTranslate()

This was partially found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: rtl8192e: rtl_pm.c: Remove some unused functions
Rickard Strandqvist [Sat, 20 Dec 2014 12:49:58 +0000 (13:49 +0100)]
staging: rtl8192e: rtl8192e: rtl_pm.c: Remove some unused functions

Removes some functions that are not used anywhere:
rtl8192E_save_state() rtl8192E_enable_wake()

This was partially found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8188eu: core: rtw_mlme_ext.c: Remove unused function
Rickard Strandqvist [Sat, 20 Dec 2014 12:23:03 +0000 (13:23 +0100)]
staging: rtl8188eu: core: rtw_mlme_ext.c: Remove unused function

Remove the function NULL_hdl() that is not used anywhere.

This was partially found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8712: rtl871x_mp_ioctl.c: Remove some unused functions
Rickard Strandqvist [Sat, 20 Dec 2014 12:17:46 +0000 (13:17 +0100)]
staging: rtl8712: rtl871x_mp_ioctl.c: Remove some unused functions

Removes some functions that are not used anywhere:
oid_rt_pro_h2c_get_rate_table_hdl() oid_rt_pro_h2c_set_rate_table_hdl()
oid_rt_pro_set_pwrstate_hdl() oid_rt_pro_qry_pwrstate_hdl()
oid_rt_pro_set_basic_rate_hdl() oid_rt_pro_set_power_tracking_hdl()
oid_rt_pro_set_data_rate_ex_hdl() oid_rt_pro_cfg_debug_message_hdl()
oid_rt_poll_rx_status_hdl() oid_rt_pro_set_rf_intfs_hdl()
oid_rt_wr_attrib_mem_hdl() oid_rt_rd_attrib_mem_hdl()
oid_rt_pro8711_pkt_loss_hdl() oid_rt_pro8711_wi_poll_hdl()
oid_rt_pro_write16_eeprom_hdl() oid_rt_pro_read16_eeprom_hdl()
oid_rt_pro_write_txcmd_hdl() oid_rt_pro_burst_write_register_hdl()
oid_rt_pro_burst_read_register_hdl() oid_rt_pro8711_join_bss_hdl()
oid_rt_pro_set_pkt_test_mode_hdl() oid_rt_pro_set_tx_agc_offset_hdl()
oid_rt_set_crystal_cap_hdl() oid_rt_pro_rw_efuse_pgpkt_hdl()
oid_rt_pro_rx_packet_type_hdl() oid_rt_pro_query_dr_variable_hdl()
oid_rt_pro_dele_sta_info_hdl() oid_rt_pro_add_sta_info_hdl()
oid_rt_pro_encryption_ctrl_hdl()

This was partially found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: rtl8192u: removed an unnecessary else statement
Karthik Nayak [Thu, 18 Dec 2014 09:20:11 +0000 (14:50 +0530)]
Staging: rtl8192u: removed an unnecessary else statement

As per checkpatch warning, removed an unnecessary else statement
proceeding an if statement with a return.

Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: rtl8192e: rtl_cam.c: Remove unused function
Rickard Strandqvist [Sun, 7 Dec 2014 22:28:37 +0000 (23:28 +0100)]
staging: rtl8192e: rtl8192e: rtl_cam.c: Remove unused function

Remove the function CAM_read_entry() that is not used anywhere.

This was partially found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8188eu: os_dep: usb_ops_linux.c: Remove unused function
Rickard Strandqvist [Sun, 7 Dec 2014 21:59:07 +0000 (22:59 +0100)]
staging: rtl8188eu: os_dep: usb_ops_linux.c: Remove unused function

Remove the function usb_writeN() that is not used anywhere.

This was partially found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8188eu: hal: rtl8188e_hal_init.c: Remove unused function
Rickard Strandqvist [Sun, 7 Dec 2014 18:16:15 +0000 (19:16 +0100)]
staging: rtl8188eu: hal: rtl8188e_hal_init.c: Remove unused function

Remove the function GetEEPROMSize8188E() that is not used anywhere.

This was partially found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8188eu: hal: rtl8188e_cmd.c: Remove unused function
Rickard Strandqvist [Sun, 7 Dec 2014 17:33:06 +0000 (18:33 +0100)]
staging: rtl8188eu: hal: rtl8188e_cmd.c: Remove unused function

Remove the function rtl8188e_set_rssi_cmd() that is not used anywhere.

This was partially found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: rtl8192u : fix space before , coding style issue in r8190_rtl8256.c
Mohammad Jamal [Tue, 16 Dec 2014 16:27:44 +0000 (21:57 +0530)]
Staging: rtl8192u : fix space before , coding style issue in r8190_rtl8256.c

This is a patch to r8190_rtl8256.c file that fixes space before , warning found by checkpatch.pl tool

Signed-off-by: Mohammad Jamal<md.jamalmohiuddin@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: rejoin split quoted strings
Jonathan Jin [Tue, 16 Dec 2014 03:28:23 +0000 (21:28 -0600)]
staging: rtl8192e: rejoin split quoted strings

Fix a checkpatch.pl warning regarding quoted string splits across lines.
While each join of these quoted strings results in a new checkpatch.pl
"lines over 80 characters" warning, the regained ability to grep for
these log strings in the codebase is, I would argue, well worth the
trade-off.

Signed-off-by: Jonathan Jin <jjin082693@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8188eu: Fixed a space coding style issue.
Gangadhar Vukkesala [Sat, 20 Dec 2014 15:59:47 +0000 (21:29 +0530)]
staging: rtl8188eu: Fixed a space coding style issue.

Fixed a space coding style issue which was found when running checkpatch.pl
script on rtw_ap.c.

Signed-off-by: Gangadhar Vukkesala <gangs.freelancer@gmail.com>
Reviewed-by: Jeremiah Mahler <jmmahler@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: rtl8188eu: {core, hal, include}: Removed inline function
Abel Moyo [Thu, 4 Dec 2014 13:13:21 +0000 (14:13 +0100)]
Staging: rtl8188eu: {core, hal, include}: Removed inline function

Removed inline function get_my_bssid and open coded all its references

Signed-off-by: Abel Moyo <abelmoyo.ab@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: fix sparse warning
Alexey Tulia [Wed, 24 Dec 2014 06:15:09 +0000 (09:15 +0300)]
staging: rtl8723au: fix sparse warning

drivers/staging/rtl8723au/core/rtw_xmit.c:2375 warning: symbol
'rtw_ack_tx_done23a' was not declared. Should it be static?

Function 'rtw_ack_tx_done23a' seems to be unused in current staging
code.

Signed-off-by: Alexey Tulia <alexey.tulia@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: hal: odm.c: Remove some unused functions
Rickard Strandqvist [Sat, 20 Dec 2014 16:44:10 +0000 (17:44 +0100)]
staging: rtl8723au: hal: odm.c: Remove some unused functions

Removes some functions that are not used anywhere:
odm_1R_CCA23a() odm_TXPowerTrackingCheckAP() odm_TXPowerTrackingCheckMP()
odm_RSSIMonitorCheck23aAP() odm_RSSIMonitorCheck23aMP() odm_RSSIMonitorInit()
odm_RefreshRateAdaptiveMask23aAPADSL23a() odm_RefreshRateAdaptiveMask23aMP23a()

This was partially found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: rtl8723au: core: rtw_ap: checkpatch.pl fixes
Joe Borg [Tue, 16 Dec 2014 07:54:32 +0000 (02:54 -0500)]
Staging: rtl8723au: core: rtw_ap: checkpatch.pl fixes

Fixing styling errors found with checkpatch.pl. These include:
"(foo*)" should be "(foo *)"
space required after that ';'

...totalling 5 styling errors.

Signed-off-by: Joe Borg <joe@josephb.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Fix sparse invalid assignment warnings
Yannis Damigos [Sat, 20 Dec 2014 16:47:27 +0000 (18:47 +0200)]
staging: rtl8723au: Fix sparse invalid assignment warnings

This is a patch to the hal/rtl8723au_xmit.c file that fixes the
following warnings found by sparse tool:

drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:88:22: warning: invalid assignment: |=
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:88:22:    left side has type unsigned int
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:88:22:    right side has type restricted __le32
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:91:22: warning: invalid assignment: |=
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:91:22:    left side has type unsigned int
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:91:22:    right side has type restricted __le32
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:99:22: warning: invalid assignment: |=
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:99:22:    left side has type unsigned int
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:99:22:    right side has type restricted __le32
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:103:30: warning: invalid assignment: |=
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:103:30:    left side has type unsigned int
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:103:30:    right side has type restricted __le32
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:106:38: warning: invalid assignment: |=
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:106:38:    left side has type unsigned int
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:106:38:    right side has type restricted __le32
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:108:38: warning: invalid assignment: |=
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:108:38:    left side has type unsigned int
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:108:38:    right side has type restricted __le32
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:112:38: warning: invalid assignment: |=
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:112:38:    left side has type unsigned int
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:112:38:    right side has type restricted __le32
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:120:22: warning: invalid assignment: |=
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:120:22:    left side has type unsigned int
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:120:22:    right side has type restricted __le32
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:123:30: warning: invalid assignment: |=
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:123:30:    left side has type unsigned int
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:123:30:    right side has type restricted __le32
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:125:30: warning: invalid assignment: |=
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:125:30:    left side has type unsigned int
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:125:30:    right side has type restricted __le32
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:129:30: warning: invalid assignment: |=
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:129:30:    left side has type unsigned int
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:129:30:    right side has type restricted __le32
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:184:51: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:184:51:    expected unsigned int [usertype] *pdw
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:184:51:    got restricted __le32 *<noident>
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:185:51: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:185:51:    expected unsigned int [usertype] *pdw
drivers/staging/rtl8723au//hal/rtl8723au_xmit.c:185:51:    got restricted __le32 *<noident>

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: core: fixing "foo * bar" should be "foo *bar"
Asaf Vertz [Tue, 16 Dec 2014 13:57:58 +0000 (15:57 +0200)]
staging: rtl8723au: core: fixing "foo * bar" should be "foo *bar"

Fixed a coding style error, "foo * bar" should be "foo *bar"

Signed-off-by: Asaf Vertz <asaf.vertz@tandemg.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Fix sparse warnings
Krzysztof Konopko [Mon, 15 Dec 2014 15:02:14 +0000 (16:02 +0100)]
staging: rtl8723au: Fix sparse warnings

Some struct fields in wifi.h are meant to be __le16 but were declared as
unsigned short.  This was reported by sparse:

  rtw_wlan_util.c:538:24: warning: cast to restricted __le16
  rtw_wlan_util.c:1544:29: warning: cast to restricted __le16
  rtw_wlan_util.c:1546:25: warning: cast to restricted __le16

This patch updates the types of the fields in `AC_param` and
`ADDBA_request` structs to be consistent with relevant structs in
include/linux/ieee80211.h.

Signed-off-by: Krzysztof Konopko <kris@konagma.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: rtl8723au: os_dep: Fixed a coding style issue.
Dean Michael Ancajas [Mon, 8 Dec 2014 20:55:21 +0000 (13:55 -0700)]
Staging: rtl8723au: os_dep: Fixed a coding style issue.

Fixed a coding style issue for braces.

Signed-off-by: Dean Michael Ancajas <dbancajas@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>