]> git.baikalelectronics.ru Git - kernel.git/commit
Input: pmic8xxx-pwrkey - fix algorithm for converting trigger delay
authorStephen Boyd <sboyd@codeaurora.org>
Sun, 17 Apr 2016 12:21:42 +0000 (05:21 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sun, 17 Apr 2016 12:24:53 +0000 (05:24 -0700)
commit20cc245901109a43c8ae208285d9334270f1c31e
tree3d19c74c486fe015b0ebbbf6bdb6dc674ef84c0b
parent11fa2da55f4e9008734c582c5980f962436e5b21
Input: pmic8xxx-pwrkey - fix algorithm for converting trigger delay

The trigger delay algorithm that converts from microseconds to
the register value looks incorrect. According to most of the PMIC
documentation, the equation is

delay (Seconds) = (1 / 1024) * 2 ^ (x + 4)

except for one case where the documentation looks to have a
formatting issue and the equation looks like

delay (Seconds) = (1 / 1024) * 2 x + 4

Most likely this driver was written with the improper
documentation to begin with. According to the downstream sources
the valid delays are from 2 seconds to 1/64 second, and the
latter equation just doesn't make sense for that. Let's fix the
algorithm and the range check to match the documentation and the
downstream sources.

Reported-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Fixes: 3e4ca3d89846 ("input: Add support for Qualcomm PMIC8XXX power key")
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Tested-by: John Stultz <john.stultz@linaro.org>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/pmic8xxx-pwrkey.c