]> git.baikalelectronics.ru Git - kernel.git/commit
staging: comedi: s626: distinguish counter src from encoder mode
authorIan Abbott <abbotti@mev.co.uk>
Fri, 18 Oct 2013 13:40:52 +0000 (14:40 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 19 Oct 2013 20:47:23 +0000 (13:47 -0700)
commitfc13225c977ffbbecf8c65d2f922d9a3226042cb
tree2cdf8e483aa9010b32f017805dba1bc49c9ccbce
parent1dd186e9e3aacdf032d3d2af871a6f515c67562a
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>
drivers/staging/comedi/drivers/s626.c
drivers/staging/comedi/drivers/s626.h