Skip to content
  • Ian Abbott's avatar
    staging: comedi: s626: distinguish counter src from encoder mode · 622ec01a
    Ian Abbott authored
    
    
    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: default avatarIan Abbott <abbotti@mev.co.uk>
    Reviewed-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    622ec01a