Messages in this thread | | | Subject | Re: [PATCH 1/3] pinctrl: Widen the generic pinconf argument from 16 to 24 bits | From | Andy Shevchenko <> | Date | Thu, 19 Jan 2017 14:04:59 +0200 |
| |
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
| |