From: Coiby Xu <coiby...@gmail.com> commit c64a6a0d4a928c63e5bc3b485552a8903a506c36 upstream.
RTC is 32.768kHz thus 512 RtcClk equals 15625 usec. The documentation likely has dropped precision and that's why the driver mistakenly took the slightly deviated value. Cc: sta...@vger.kernel.org Reported-by: Andy Shevchenko <andy.shevche...@gmail.com> Suggested-by: Andy Shevchenko <andy.shevche...@gmail.com> Suggested-by: Hans de Goede <hdego...@redhat.com> Signed-off-by: Coiby Xu <coiby...@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com> Reviewed-by: Hans de Goede <hdego...@redhat.com> Link: https://lore.kernel.org/linux-gpio/2f4706a1-502f-75f0-9596-cc25b4933...@redhat.com/ Link: https://lore.kernel.org/r/20201105231912.69527-3-coiby...@gmail.com Signed-off-by: Linus Walleij <linus.wall...@linaro.org> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org> --- drivers/pinctrl/pinctrl-amd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/pinctrl/pinctrl-amd.c +++ b/drivers/pinctrl/pinctrl-amd.c @@ -153,7 +153,7 @@ static int amd_gpio_set_debounce(struct pin_reg |= BIT(DB_TMR_OUT_UNIT_OFF); pin_reg &= ~BIT(DB_TMR_LARGE_OFF); } else if (debounce < 250000) { - time = debounce / 15600; + time = debounce / 15625; pin_reg |= time & DB_TMR_OUT_MASK; pin_reg &= ~BIT(DB_TMR_OUT_UNIT_OFF); pin_reg |= BIT(DB_TMR_LARGE_OFF);