Commit Graph

4425 Commits

Author SHA1 Message Date
Ian Abbott
03c1a0b890 staging: comedi: s626: bitfield manipulation macros for CRA, CRB and setup
Some bits of the 'CRB' register have different functions when read or
written, so add macros to define the read-only parts.

Add macros to define the widths of the bitfields in the 'CRA' and 'CRB'
registers and the standard encoder setup value.

Add macros to construct and extract parts of the 'CRA' and 'CRB'
register values and the standard encoder setup value, along with a
couple of general helper macros for the above.

Redefine the bitfield mask macros for 'CRA', 'CRB' and standard encoder
setup using the above.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-19 13:47:23 -07:00
Ian Abbott
e0b07b797c staging: comedi: s626: add missing bits for 'CRB' register
There are some bits in the 'CRB' register not defined in "s626.h".
Three of these are read-only bits that overlay the write-only interrupt
control bits.  Another missing bit controls whether counter 'B' is
cleared when counter 'A' overflows.  Add the missing bit definitions for
completeness.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-19 13:47:23 -07:00
Ian Abbott
9349399333 staging: comedi: s626: correct S626_CRAMSK_CLKPOL_A macro (unused)
The counter 'A' clock polarity field in the 'CRA' register is only 1 bit
wide, but the `S626_CRAMSK_CLKPOL_A` macro shows it as 2 bits wide,
which would overlap with the counter 'A' interrupt source field.  This
is harmless as the macro isn't actually used yet, but correct it anyway
as I want to use it!

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-19 13:47:23 -07:00
Ian Abbott
622ec01ab9 staging: comedi: s626: distinguish counter src from encoder mode
The macros `S626_CLKSRC_COUNTER`, `S626_CLKSRC_TIMER` and
`S626_CLKSRC_EXTENDER` are used logically to set the operating mode of
an encoder channel.  `S626_CLKSRC_COUNTER` (0) is also used as a 2-bit
physical value to set the counter source of an encoder channel to
"encoder".

Rename the macros to `S626_ENCMODE_COUNTER`, `S626_ENCMODE_TIMER` and
`S626_ENCMODE_EXTENDER` and rename some other macros and (unused)
functions relating to the encoder mode for consistency.

Define new macros to specify the physical counter source values for the
'CRA' register and rename the corresponding bitshift and mask macros
accordingly.  The physical values for the counter source are:

  S626_CNTSRC_ENCODER = 0      // encoder
  S626_CNTSRC_DIGIN = 1        // digital inputs
  S626_CNTSRC_SYSCLK = 2       // system clock up
  S626_CNTSRC_SYSCLK_DOWN = 3  // system clock down

Also use the `S626_CNTSRC_SYSCLK` value as a bitmask (bit 1) to indicate
either of the system clock values, with the direction (bit 0) indicated
separately in this case.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-19 13:47:23 -07:00
Ian Abbott
7293808874 staging: comedi: s626: correct a comment in s626_get_mode_b()
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-19 13:47:23 -07:00
Ian Abbott
2e179e428c staging: comedi: s626: specify bitshift for encoder A clock source
When setting the clock source for one of the 'A' encoders to operate in
"counter" mode in `s626_set_mode_a()`, bitshift the clock source value by
`S626_CRABIT_CLKSRC_A` for consistency with the other modes.  This has
no effect on the value since `S626_CRABIT_CLKSRC_A` is 0.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-19 13:47:23 -07:00
Ian Abbott
6c661434f9 staging: comedi: s626: clock polarity and direction are the same
When setting up an encoder channel, the setup value includes a polarity
and direction, but these are the same bit of the setup value:

  S626_CLKPOL_POS = S626_CNTDIR_UP = 0

  S626_CLKPOL_NEG = S626_CNTDIR_DOWN = 1

In the construction of the setup value, both the CLKPOL and the CNTDIR
constants are shifted by the same amount `S626_BF_CLKPOL`.  Only the
following combinations are set up currently (this may change if user
configuration of the encoder is implemented properly):

  (S626_CLKPOL_POS << S626_BF_CLKPOL)

  (S626_CLKPOL_POS << S626_BF_CLKPOL) |
  (S626_CNTDIR_UP << S626_BF_CLKPOL)

  (S626_CLKPOL_POS << S626_BF_CLKPOL) |
  (S626_CNTDIR_DOWN << S626_BF_CLKPOL)

The first two are used in "counter" mode and is equivalent to:

  (S626_CLKPOL_POS << S626_BF_CLKPOL)

The last one is used in "timer" mode and is equivalent to:

  (S626_CNTDIR_DOWN << S626_BF_CLKPOL)

Use the shorter equivalents.  The comments in "s626.h" indicate that the
'CLKPOL' constants make more sense for the "counter" mode (when the
encoders operate as up/down counters) and the 'CNTDIR' constants make
more sense for the "timer" mode.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-19 13:47:23 -07:00
Ian Abbott
f8d939e411 staging: comedi: rtd520: use normal bitfield functions
The `unsigned char chan_is_bipolar[]` member of `struct rtd_private` is
used with some macros as a packed array of 1-bit values that indicate
whether the corresponding entries in the hardware's "channel-gain" table
have been set to a bipolar (1) or unipolar (0) range, as the raw samples
from the hardware need to be cooked differently in each case.

Replace the declaration of the member with a standard Linux bitfield
using `DECLARE_BITFIELD()`, and replace the home-grown macros used
access the bitfield with the standard Linux non-atomic bitop functions,
`__set_bit()`, `__clear_bit()` and `test_bit()`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-19 13:45:54 -07:00
Ian Abbott
f1d376beae staging: comedi: usbduxsigma: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Use unsigned types consistently for handling comedi sample data and also
for the USB data buffers.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:32 -07:00
Ian Abbott
470180c611 staging: comedi: usbdux: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Use unsigned types consistently for handling comedi sample data and also
for the USB data buffers.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:32 -07:00
Ian Abbott
5fd4b711be staging: comedi: s626: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Use unsigned types consistently in the "s626" module when dealing with
sample values.

Rewrite `s626_reg_to_uint()` as it can be done with a one-liner.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:32 -07:00
Ian Abbott
055a1e2c56 staging: comedi: rtd520: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Use unsigned types for sample value manipulations in the "rtd520" driver
for consistency.

Also replace the hand-coded munging of 2's complement sample values with
calls to `comedi_offset_munge()` and AND with `s->maxdata` to strip off
any extra sign bits.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:31 -07:00
Ian Abbott
8bab0d680e staging: comedi: quatech_daqp_cs: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change `daqp_interrupt()` to use unsigned sample values for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:31 -07:00
Ian Abbott
5c174c41d8 staging: comedi: pcmuio: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change `pcmuio_handle_intr_subdev()` in the "pcmuio" module to use
unsigned sample values for consistency.

Also, make the order in which `pcmuio_handle_intr_subdev()` writes the
two sample values (each actually containing up to 16 1-bit sample
values) independent of the host byte ordering.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:31 -07:00
Ian Abbott
f23b65a588 staging: comedi: pcmmio: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change `interrupt_pcmmio()` and `ai_rinsn()` in the "pcmmio" module to
use unsigned sample values for consistency.

Also, make the order in which `interrupt_pcmmio()` writes the two sample
values (each actually containing up to 16 1-bit sample values)
independent of the host byte ordering.

Note that this module is a mess, so please excuse the checkpatch
warnings.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:31 -07:00
Ian Abbott
4bf59ce248 staging: comedi: pcl818: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the interrupt data transfer functions in the "pcl818" module to
use unsigned types for consistency.

Also remove the `short *ai_data` member of `struct pcl818_private` as it
is only assigned to and otherwise unused.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:31 -07:00
Ian Abbott
54d2dd8443 staging: comedi: pcl816: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the "pcl816" module to use unsigned types to handle samples for
consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:31 -07:00
Ian Abbott
8017c51305 staging: comedi: pcl812: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change `transfer_from_dma_buf()` and `interrupt_pcl812_ai_dma()` in the
"pcl812" module to use `unsigned short` sample values for consistency.

Also remove the `short *ai_data` member of `struct pcl812_private` as it
is only assigned to.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:30 -07:00
Ian Abbott
b12bb4a5f3 staging: comedi: pcl711: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Don't cast the sample value parameter of `comedi_buf_put()` to `short`,
particularly as it has now been changed to `unsigned short`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:30 -07:00
Ian Abbott
319b67ae1c staging: comedi: ni_pcidio: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change `nidio_interrupt()` to use unsigned types for sample values
(actually bit-vectors of 1-bit sample values) instead of signed types.

Also rename the `AuxData` variable to `auxdata` and change it from
`long` to `unsigned int` as it only needs to hold a 32-bit value.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:30 -07:00
Ian Abbott
3a2b101cc5 staging: comedi: ni_mio_common: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the element type of the `ai_fifo_buffer[]` element of `struct
ni_board_struct` and the types of various local variables from `short`
to `unsigned short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:30 -07:00
Ian Abbott
c0edd2c627 staging: comedi: ni_labpc: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the type of the `data` variable in `labpc_ai_cmd()` from `short`
to `unsigned short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:30 -07:00
Ian Abbott
2fb5cd385c staging: comedi: ni_at_a2150: sample types are unsigned
Sample values in comedi are generally represented by unsigned values.
Change the type of the `dma_buffer` member of `struct a2150_private`
from `s16 *` to `uint16_t *`, and change the type of the `dpnt` variable
in `a2150_interrupt()` to `unsigned short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:29 -07:00
Ian Abbott
ac2832f859 staging: comedi: me4000: sample types are unsigned (and not long!)
Sample values in comedi are generally represented as unsigned values.
Change the types of various variables in the "me4000" driver dealing
with samples to use unsigned types for consistency.

Also replace the `long` or `unsigned long` variables used to handle
32-bit register values to `unsigned int`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:29 -07:00
Ian Abbott
22d1b0650a staging: comedi: icp_multi: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the element type of the `ao_data[]` member of `struct
icp_multi_private` from `short` to `unsigned short` for consistency.

Also remove the `ai_data` and `di_data` members as they are not used.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:29 -07:00
Ian Abbott
58f91823de staging: comedi: fl512: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the element type of the `ao_readback[]` member of `struct
fl512_private` from `short` to `unsigned short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:29 -07:00
Ian Abbott
37a96e994c staging: comedi: dt3000: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the type of the `data` variable in `dt3k_ai_empty_fifo()` from
`short` to `unsigned short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:23 -07:00
Ian Abbott
766b1f95cf staging: comedi: dt282x: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change various members of `struct dt282x_private` and various parameters
and variables dealing with samples to use `unsigned short` instead of
`short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:19 -07:00
Ian Abbott
65a62aaec2 staging: comedi: das1800: sample types are unsigned
Sample values in comedi are generally represented by unsigned values.
Change the type of the `ao_update_bits` member of `struct
das1800_private` and the types of various local variables used to hold
sample values from `short` to `unsigned short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:19 -07:00
Ian Abbott
eabbf3f43f staging: comedi: das16m1: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the element type of the `ai_buffer[]` member of `struct
das16m1_private_struct` and the types used by `munge_sample()` and
`munge_sample_array()` from `short` to `unsigned short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:19 -07:00
Ian Abbott
920983458c staging: comedi: das16: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the type of the `data` variable in `das16_ai_munge()` from `short
*` to `unsigned short *` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:18 -07:00
Ian Abbott
0522063806 staging: comedi: cb_pcidas64: sample types are unsigned
Sample values in comedi are unsigned.  Change the element type of
`ao_bounce_buffer[]` in `struct pcidas64_private` from `short` to
`unsigned short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:18 -07:00
Ian Abbott
79e3b11987 staging: comedi: cb_pcidas: sample types are unsigned
Sample values in comedi are generally represented by unsigned values.
Change the element types of `ai_buffer[]`, `ao_buffer[]` and
`ao_value[]` in `struct cb_pcidas_private` to `unsigned short` for
consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:18 -07:00
Ian Abbott
863e52769d staging: comedi: amplc_pci230: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Replace all uses of `short` to handle sample values in the
"amplc_pci230" driver with `unsigned short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:18 -07:00
Ian Abbott
b6b40b67a9 staging: comedi: amplc_pci224: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the type of the `ao_scan_vals` member of `struct pci224_private`
from `short *` to `unsigned short *` for consistency.  Also change the
type of the `array` variable in `pci224_ao_munge()` from `short *` to
`unsigned short *`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:18 -07:00
Ian Abbott
6916308938 staging: comedi: adv_pci1723: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the element type of the `ao_data[]` member of `struct
pci1723_private` from `short` to `unsigned short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:18 -07:00
Ian Abbott
e3a9e513c6 staging: comedi: adv_pci1710: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the element type of the `ao_data[]` member of `struct
pci1710_private` from `short` to `unsigned short` for consistency.  Also
remove the `ai_data` member as it is only assigned to.  Change various
local variables used to hold sample values to `unsigned short`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:17 -07:00
Ian Abbott
6cda0d26b1 staging: comedi: adl_pci9118: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the `ao_data[]` and `dmabuf_virt[]` members of `struct
pci9118_private` and various local variables dealing with sample values
to use `unsigned short` instead of `short` for consistency.

Also remove the `short *ai_data` member of `struct pci9118_private` as
it is only assigned to.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:17 -07:00
Ian Abbott
b909ba8f8b staging: comedi: adl_pci9111: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the element type of the `ai_bounce_buffer[]` member of `struct
pci9111_private_data` from `short` to `unsigned short` for consistency.
Also change the type of the `array` variable in `pci9111_ai_munge()`
from `short *` to `unsigned short *`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:17 -07:00
Ian Abbott
58a37d4186 staging: comedi: addi_apci_3120: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
Change the element type of `ul_DmaBufferVirtual[2]` in `struct
addi_private` from `short *` to `unsigned short *` for consistency.
Note that several ADDI-DATA drivers use this struct from
"addi_common.h", but only the "addi_apci_3120" driver uses this member.
Also change the type of the `dma_buffer` parameter of
`v_APCI3120_InterruptDmaMoveBlock16bit()` from `short *` to `unsigned
short *`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:17 -07:00
Ian Abbott
830e273c0e staging: comedi: 8255: sample types are unsigned
Sample values in comedi are generally represented as unsigned values.
`subdev_8255_interrupt()` calls `comedi_buf_put()` with a `short` data
value merely because that's what was previously expected.  Since it now
expects an `unsigned short`, change it here for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:17 -07:00
Ian Abbott
ca05b81334 staging: comedi: use unsigned sample in cfc_write_to_buffer()
Sample values in comedi are generally represented as unsigned values.
`cfc_write_to_buffer()` in "comedi_fc.h" currently uses `short` to hold
a 16-bit sample value to be written to the buffer.  Change the type of
the parameter to `unsigned short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:16 -07:00
Ian Abbott
0a6fd02c1c staging: comedi: use unsigned samples for comedi_buf_put()/get()
Sample values in comedi are generally represented as unsigned values.
`comedi_buf_put()` and `comedi_buf_get()` use a `short` to hold the
16-bit data value being transferred to or from the comedi buffer.
Change them to use `unsigned short` for consistency.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 12:48:16 -07:00
Ian Abbott
d8515652ef staging: comedi: s626: prefix macros in s626.h
Prefix the names of all the macros defined in "s626.h" with `S626_`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-11 15:34:22 -07:00
Ian Abbott
676921c9d2 staging: comedi: s626: prefix macros in s626.c
Prefix the macros defined in "s626.c" with `S626_`.  Macro `VECT0` is
unused, so remove it.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-11 15:34:22 -07:00
Ian Abbott
31de1948d8 staging: comedi: s626: prefix function and variable names
Add the prefix `s626_` to all the static variables and functions that
don't already have it.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-11 15:34:22 -07:00
Ian Abbott
dbb263f5bd staging: comedi: s626: rename struct buffer_dma
Re-tag `struct buffer_dma` to `struct s626_buffer_dma` to avoid
potential namespace clashes.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-11 15:34:21 -07:00
Ian Abbott
8e06d66287 staging: comedi: s626: move struct buffer_dma
Move the declaration of `struct buffer_dma` from "s626.h" to "s626.c" as
it seems more at home there.  After this move, "s626.h" just contains
macros related to hardware registers.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-11 15:34:21 -07:00
Ian Abbott
a3ae88f83b staging: comedi: s626: make trimchan[] and trimadrs[] const
Declare the static variables `trimchan[]` and `trimadrs[]` as constant
data.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-11 15:34:21 -07:00
Ian Abbott
bb49cddc02 staging: comedi: s626: add mmiowb() calls
`s626_mc_enable()` is often called to enable some function in a control
register after setting up some other registers.  Precede the write to
the control register with a call to `mmiowb()` to preserve mmio write
ordering.

`s626_mc_disable()` is called to disable some function in a control
register and is often followed up by writes to other registers.  Follow
the write to the control register with a call to `mmiowb()` to preserve
mmio write ordering.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-11 15:34:21 -07:00