Commit graph

482,444 commits

Author SHA1 Message Date
H Hartley Sweeten
aaf802fb30 staging: comedi: addi_apci_3120: absorb apci3120_cyclic_ai()
This functon is called by apci3120_ai_cmd() with one additional parameter,
'mode', The 'mode' is based on the cmd->scan_begin_src.

For aesthetics, absorb the function into apci3120_ai_cmd() and use the
cmd->scan_begin_src directly to determine the 'mode'.

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>
2014-11-07 09:34:02 -08:00
H Hartley Sweeten
fb43ceaf1d staging: comedi: addi_apci_3120: move start_src check into apci3120_cyclic_ai()
For aesthetics, move the check of the cmd->start_src.

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>
2014-11-07 09:34:02 -08:00
H Hartley Sweeten
b72b365666 staging: comedi: addi_apci_3120: move timer 2 enable in apci3120_cyclic_ai()
Move the enable of timer 2 to avoid needing the extra if() check.

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>
2014-11-07 09:34:02 -08:00
H Hartley Sweeten
5c66a77e1d staging: comedi: addi_apci_3120: flip 'us_UseDma' test in apci3120_cyclic_ai()
For aesthetics, flip this test and do the DMA setup first.

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>
2014-11-07 09:34:02 -08:00
H Hartley Sweeten
76931af200 staging: comedi: addi_apci_3120: remove APCI3120_{ENABLE,DISABLE}
These true/false defines don't add any significant clarity to the code.
Remove them.

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>
2014-11-07 09:34:02 -08:00
H Hartley Sweeten
e451dfeb4c staging: comedi: addi_apci_3120: factor DMA setup out of apci3120_cyclic_ai()
For aesthetics, factor the DMA setup code out of apci3120_cyclic_ai().

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>
2014-11-07 09:34:02 -08:00
H Hartley Sweeten
169f35e82c staging: comedi: addi_apci_3120: move apci3120_set_chanlist() to driver source
Move this function from the included hwdrv_apci31210.c source file to the
main driver source file.

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>
2014-11-07 09:34:02 -08:00
H Hartley Sweeten
0a3e518102 staging: comedi: addi_apci_3120: remove check in apci3120_setup_chan_list()
The n_chan check is not needed. This value will always be >= 1. Remove
the unnecessary check.

For aesthetics, rename the function and change it's return type to void.

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>
2014-11-07 09:34:02 -08:00
H Hartley Sweeten
6a51cfc62f staging: comedi: addi_apci_3120: move apci3120_ai_insn_read() to driver source
Move this function, and its helper function, from the included hwdrv_apci31210.c
source file to the main driver source file.

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>
2014-11-07 09:34:02 -08:00
H Hartley Sweeten
5cf5fa9579 staging: comedi: addi_apci_3120: move apci3120_ao_insn_write() to driver source
Move this function, and its helper function, from the included hwdrv_apci31210.c
source file to the main driver source file.

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>
2014-11-07 09:34:02 -08:00
H Hartley Sweeten
c737b2ce4f staging: comedi: addi_apci_3120: move apci3120_di_insn_bits() to driver source
Move this function from the included hwdrv_apci31210.c source file to the main
driver source file.

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>
2014-11-07 09:34:02 -08:00
H Hartley Sweeten
ae12280db7 staging: comedi: addi_apci_3120: move apci3120_do_insn_bits() to driver source
Move this function from the included hwdrv_apci31210.c source file to the main
driver source file.

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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
196540ee44 staging: comedi: addi_apci_3120: remove private data 'ai_running'
This member of the private data was used to determine if the interrupt
routine was handling data for the (*insn_read) or an async command. Now
that the (*insn_read) does not use interrupts this member is not needed.

Remove the member and refactor the code.

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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
3da982374a staging: comedi: addi_apci_3120: define status register bits
Define the bits in the status register and use them to clarify the code.

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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
b0a0d0bc58 staging: comedi: addi_apci_3120: rename APCI3120_RD_STATUS
For aesthetics, rename this define used for the status register offset.

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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
08595f9da2 staging: comedi: addi_apci_3120: remove private data 'ui_AiChannelList'
This member of the private data is no longer used. Remove 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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
2e8fcfdd05 staging: comedi: addi_apci_3120: remove private data 'ui_AiNbrofChannels'
This member of the private data is always the cmd->chanlist_len. Use that
instead and remove the member.

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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
bb201b94cc staging: comedi: addi_apci_3120: absorb apci3120_interrupt_handle_eos()
Absorb this simple function into apci3120_interrupt().

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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
89e9057b50 staging: comedi: addi_apci_3120: fix apci3120_ai_insn_read()
Now that the scanning and interrupt support have been removed from this
function it can be refactored to work correctly.

The comedi core expects (*insn_read) functions to read insn->n values
from the hardware and return the number of samples read. This function
currently just reads one sample but it returns insn->n.

Fix this function to work like the core expects.

Use comedi_timeout() to prevent a possible deadlock in the loop that
waits for the end-of-conversion.

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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
22f75dac46 staging: comedi: addi_apci_3120: remove private data 'ui_AiReadData'
This member of the private data was used to return analog input samples that
were acquired for the (*insn_read) using interrupts. The interrupt support
code for the (*insn_read) has been removed. Remove this unused member 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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
e614d17108 staging: comedi: addi_apci_3120: remove apci3120_ai_insn_config()
This function does not follow the comedi API for (*insn_config) functions.
It's also no long needed. Just remove 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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
7ee779a237 staging: comedi: addi_apci_3120: remove interrupt support from ai (*insn_read)
(*insn_read) functions are supposed to do simple polled reads of a single
channel. This driver tries to be tricky and allow enabling interrupts in
the analog input (*insn_config) to allow the (*insn_read) to read samples
with the end-of-conversion interrupt.

The (*insn_config) doesn't follow the comedi API and this operation mode
is not part of the API.

Remove the interrupt support from the (*insn_read) as well as the support
code in the (*insn_config) and 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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
46ad4793a7 staging: comedi: addi_apci_3120: remove private data 'ui_EocEosConversionTime'
This driver tries to be tricky and allow passing an analog input conversion time
for the (*insn_read) in the (*insn_config).  The (*insn_config) doesn't follow
the comedi API and this programmable conversion time is not part of the API for
(*insn_read) operations.

Remove the member from the private data and use a fixed 10us (10000ns) conversion
time in the (*insn_read).

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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
34c0ae09a6 staging: comedi: addi_apci_3120: remove scanning from ai (*insn_read)
(*insn_read) functions are supposed to do simple polled reads of a single
channel. This driver tries to be tricky and allow passing a chanlist in
the analog input (*insn_config) to allow the (*insn_read) to do chanlist
scanning with or without interrupts.

The (*insn_config) doesn't follow the comedi API and this operation mode
is not part of the API.

Remove the scanning support from the (*insn_read) as well as the support
code in the (*insn_config) and 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>
2014-11-07 09:34:01 -08:00
H Hartley Sweeten
aae8f725aa staging: comedi: addi_apci_3120: rename APCI3120_WRITE_MODE_SELECT
For aesthetics, rename this define used for the mode register offset.

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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
bd8e69e2b7 staging: comedi: addi_apci_3120: define the timer 2 clock select bits
For aesthetics, redefine the bits in the mode register used to select the
clock for timer 2.

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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
7cbc057d85 staging: comedi: addi_apci_3120: define the timer 2 operation bits
For aesthetics, redefine the bits in the mode register used to set the
operation mode of timer 2.

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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
1869ae026c staging: comedi: addi_apci_3120: define the "enable" bits in the mode register
For aesthetics, redefine the bits in the mode register that enable interrupts
and scanning.

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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
67d3a2e715 staging: comedi: addi_apci_3120: remove APCI3120_DISABLE_SCAN
This define is not used in the driver. Remove 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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
7a945f984d staging: comedi: addi_apci_3120: remove APCI3120_DISABLE_EOS_INT
For aesthetics, remove this define and just use ~APCI3120_ENABLE_EOS_INT.

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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
1084dce74f staging: comedi: addi_apci_3120: remove APCI3120_DISABLE_EOC_INT
For aesthetics, remove this define and just use ~APCI3120_ENABLE_EOC_INT.

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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
604f8e10b5 staging: comedi: addi_apci_3120: remove APCI3120_DISABLE_TIMER_INT
For aesthetics, remove this define and just use ~APCI3120_ENABLE_TIMER_INT.

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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
b6eb21d6df staging: comedi: addi_apci_3120: remove APCI3120_DISABLE_WATCHDOG
For aesthetics, remove this define and just use ~APCI3120_ENABLE_WATCHDOG.

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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
b835aac0bd staging: comedi: addi_apci_3120: remove APCI3120_DISABLE_TIMER_COUNTER
For aesthetics, remove this define and just use ~APCI3120_ENABLE_TIMER_COUNTER.

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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
81ff03ba19 staging: comedi: addi_apci_3120: remove devpriv->mode '0xef' magic value
This mask value is the same as APCI3120_DISABLE_TIMER_COUNTER. Use that
instead and remove the "magic" value.

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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
363aa5f2f4 staging: comedi: addi_apci_3120: remove unnecessary devpriv->mode masking
The devpriv->mode is set to '0' at the start of apci3120_ai_insn_read() and
apci3120_cyclic_ai(). There is no need to clear any of the bits or do any
of the additional writes of those cleared bits.

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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
627e83a7e0 staging: comedi: addi_apci_3120: rename private data 'b_ModeSelectRegister'
Rename this CamelCase member of the private data and tidy up the mask/set
of its bits.

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>
2014-11-07 09:34:00 -08:00
H Hartley Sweeten
b2cf40a31d staging: comedi: addi_apci_3120: properly disable interrupts in apci3120_cancel()
The APCI3120_DISABLE_ALL_INTERRUPT define is a mask value used to clear bits
in devpriv->b_ModeSelectRegister to disable the interrupt sources. Writing this
value directly sets unintended bits.

Just set the devpriv->b_ModeSelectRegister to '0' and write that to the register.

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>
2014-11-07 09:33:59 -08:00
H Hartley Sweeten
f85c54dbe5 staging: comedi: addi_apci_3120: remove APCI3120_DISABLE_ALL_INTERRUPT_WITHOUT_TIMER
At the start of apci3120_ai_insn_read() the devpriv->b_ModeSelectRegister is set
to '0'. Remove the unnecessary masking to clear the interrupt enable bits.

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>
2014-11-07 09:33:59 -08:00
H Hartley Sweeten
6ef6803255 staging: comedi: addi_apci_3120: move ai range table to driver source
Move the analog input comedi_lrange table from the included hwdrv_apci3120.c
source file to the main driver source file.

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>
2014-11-07 09:33:59 -08:00
H Hartley Sweeten
d0bb66aa08 staging: comedi: addi_apci_3120: introduce apci3120_ai_reset_fifo()
A dummy read of APCI3120_TIMER_MODE_REG resets the analog input FIFO. Introduce
a helper function to clarify this.

It's not necessary to do a dummy read of the FIFO (base + 0) before reseting it.
Remove the unnecessary dummy reads.

The APCI3120_TIMER_MODE_REG is a 16-bit register. This fixes a couple 8-bit reads.

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>
2014-11-07 09:33:59 -08:00
H Hartley Sweeten
ea0bb9d221 staging: comedi: addi_apci_3120: remove 'check' param from apci3120_setup_chan_list()
This parameter is always passed as '0'. Remove it and refactor the code.

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>
2014-11-07 09:33:59 -08:00
H Hartley Sweeten
9d5b070876 staging: comedi: addi_apci_3120: tidy up scan chanlist programming
Define the chanlist register and its bits and tidy up the programming
of the scan chanlist.

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>
2014-11-07 09:33:59 -08:00
H Hartley Sweeten
51db6bad08 staging: comedi: addi_apci_3120: remove unnecessary reset of the scan sequence
The scan sequence does not need to be reset when the driver is attached. Remove
the code in apci3120_reset() that does this.

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>
2014-11-07 09:33:59 -08:00
H Hartley Sweeten
24e18c85e5 staging: comedi: addi_apci_3120: introduce apci3120_clr_timer2_interrupt()
A dummy read of APCI3120_CTR0_REG clears the timer 2 interrupt. Introduce a
helper function to clarify this.

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>
2014-11-07 09:33:59 -08:00
H Hartley Sweeten
b17d390661 staging: comedi: addi_apci_3120: move apci3120_exttrig_enable() to driver source
Move this helper function from the included source file into the main driver
source file.

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>
2014-11-07 09:33:59 -08:00
H Hartley Sweeten
a8f77b40b6 staging: comedi: addi_apci_3120: move apci3120_timer_enable() to driver source
Move this helper function from the included source file into the main driver
source file.

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>
2014-11-07 09:33:59 -08:00
H Hartley Sweeten
9625742666 staging: comedi: addi_apci_3120: rename APCI3120_WR_ADDRESS
For aesthetics, rename this define.

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>
2014-11-07 09:33:59 -08:00
H Hartley Sweeten
38abe9367f staging: comedi: addi_apci_3120: fix timer 2 disable in apci3120_write_insn_timer()
The wrong define is being used to disable the gate to stop timer 2 in this
function.

Use the apci3120_timer_enable() helper to properly disable the timer.

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>
2014-11-07 09:33:59 -08:00
H Hartley Sweeten
4ffa00a3cb staging: comedi: addi_apci_3120: introduce apci3120_timer_enable()
Introduce a helper function to enable/disable a timer.

The disable of timers 0 and 1 in apci3120_interrupt() is probably not needed.
For now use the helper function to make sure the devpriv->ctrl bits are cleared
correctly to disable the timers.

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>
2014-11-07 09:33:58 -08:00