Re: [PATCH 1/3] pinctrl: Widen the generic pinconf argument from 16 to 24 bits

From: Andy Shevchenko
Date: Thu Jan 19 2017 - 07:09:29 EST


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@xxxxxxxxxxxxxxx>
Intel Finland Oy