linux/drivers/input
Stephen Boyd 506788dafb Input: pmic8xxx-pwrkey - fix algorithm for converting trigger delay
commit eda5ecc0a6 upstream.

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: 92d57a73e4 ("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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-05-04 14:48:45 -07:00
..
gameport x86/asm/tsc: Rename native_read_tsc() to rdtsc() 2015-07-06 15:23:28 +02:00
joystick Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-12-19 09:51:11 -08:00
keyboard Input: snvs_pwrkey - remove duplicated semicolon 2015-10-26 17:28:34 -07:00
misc Input: pmic8xxx-pwrkey - fix algorithm for converting trigger delay 2016-05-04 14:48:45 -07:00
mouse Input: synaptics - handle spurious release of trackstick buttons, again 2016-04-12 09:09:04 -07:00
serio Input: i8042 - add Fujitsu Lifebook U745 to the nomux list 2016-02-25 12:01:21 -08:00
tablet Input: gtco - fix crash on detecting device without endpoints 2016-05-04 14:48:45 -07:00
touchscreen Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-12-19 09:51:11 -08:00
apm-power.c
evbug.c
evdev.c Input: evdev - fix bug in checking duplicate clock change request 2015-10-31 10:35:02 -07:00
ff-core.c Input: document and check on implicitly defined FF_MAX_EFFECTS 2015-10-16 15:32:16 -07:00
ff-memless.c [media] fixp-arith: replace sin/cos table by a better precision one 2015-03-02 14:50:06 -03:00
input-compat.c
input-compat.h
input-leds.c Input: LEDs - skip unnamed LEDs 2015-07-24 09:11:01 -07:00
input-mt.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-04-14 18:25:15 -07:00
input-polldev.c
input.c Input: improve autorepeat initialization 2015-10-13 23:30:31 -07:00
joydev.c Input: joydev - fix possible ERR_PTR() dereferencing 2015-10-06 16:38:40 -07:00
Kconfig Input: export LEDs as class devices in sysfs 2015-06-11 18:18:11 -07:00
Makefile Input: export LEDs as class devices in sysfs 2015-06-11 18:18:11 -07:00
matrix-keymap.c
mousedev.c
sparse-keymap.c