lkml.org 
[lkml]   [2017]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 1/3] pinctrl: Widen the generic pinconf argument from 16 to 24 bits
    From
    Date
    On Thu, 2017-01-19 at 12:48 +0300, Mika Westerberg wrote:
    > The current pinconf packed format allows only 16-bit argument limiting
    > the maximum value 65535. For most types this is enough. However,
    > debounce time can be in range of hundreths of milliseconds in case of
    > mechanical switches so we cannot represent the worst case using the
    > current format.
    >


    >  static inline enum pin_config_param pinconf_to_config_param(unsigned
    > long config)
    >  {
    > - return (enum pin_config_param) (config & 0xffffUL);
    > + return (enum pin_config_param) (config & 0xffUL);
    >  }
    >  
    > -static inline u16 pinconf_to_config_argument(unsigned long config)
    > +static inline u32 pinconf_to_config_argument(unsigned long config)
    >  {
    > - return (enum pin_config_param) ((config >> 16) & 0xffffUL);
    > + return (enum pin_config_param) ((config >> 8) & 0xffffffUL);

    Looks like copy'n'paste error in the initial code, I mean casting should
    go as (u16) -> (u32).

    Perhaps, in case you submit new version, do the first patch with a fix
    of this one. Then conversion would look more logical.

    --
    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Intel Finland Oy

    \
     
     \ /
      Last update: 2017-01-19 13:09    [W:2.334 / U:0.768 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site