Re: [PATCH 1/2] gpio: max77620: Fixup debounce delays

From: Pavel Machek
Date: Fri Nov 08 2019 - 15:54:12 EST


On Fri 2019-11-08 17:07:46, Thierry Reding wrote:
> From: Thierry Reding <treding@xxxxxxxxxx>
>
> When converting milliseconds to microseconds in commit fffa6af94894
> ("gpio: max77620: Use correct unit for debounce times") some ~1 ms gaps
> were introduced between the various ranges supported by the controller.
> Fix this by changing the start of each range to the value immediately
> following the end of the previous range. This way a debounce time of,
> say 8250 us will translate into 16 ms instead of returning an -EINVAL
> error.
>
> Typically the debounce delay is only ever set through device tree and
> specified in milliseconds, so we can never really hit this issue because
> debounce times are always a multiple of 1000 us.
>
> The only notable exception for this is drivers/mmc/host/mmc-spi.c where
> the CD GPIO is requested, which passes a 1 us debounce time. According
> to a comment preceeding that code this should actually be 1 ms (i.e.
> 1000 us).
>
> Reported-by: Pavel Machek <pavel@xxxxxxx>
> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>

Thanks for doing this!

Acked-by: Pavel Machek <pavel@xxxxxxx>

And I guess this should be cc: stable, as the commit this fixes was
making its way there.

Best regards,
Pavel


> @@ -198,13 +198,13 @@ static int max77620_gpio_set_debounce(struct max77620_gpio *mgpio,
> case 0:
> val = MAX77620_CNFG_GPIO_DBNC_None;
> break;
> - case 1000 ... 8000:
> + case 1 ... 8000:
> val = MAX77620_CNFG_GPIO_DBNC_8ms;
> break;
> - case 9000 ... 16000:
> + case 8001 ... 16000:
> val = MAX77620_CNFG_GPIO_DBNC_16ms;
> break;
> - case 17000 ... 32000:
> + case 16001 ... 32000:
> val = MAX77620_CNFG_GPIO_DBNC_32ms;
> break;
> default:

--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

Attachment: signature.asc
Description: PGP signature