]> git.baikalelectronics.ru Git - kernel.git/commit
Input: drv2665 - fix misuse of regmap_update_bits
authorFlorian Vaussard <florian.vaussard@gmail.com>
Wed, 30 Nov 2016 01:38:58 +0000 (17:38 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 30 Nov 2016 17:03:44 +0000 (09:03 -0800)
commit2a7b8ce50de69052de8e1e583ae2ec41f8f2e8ec
tree8560bc5cb053a99a3ee2b4a4318d16fc5d2c5716
parentbffcd80b4deccd33f11e57d80a126e8a52af2d7e
Input: drv2665 - fix misuse of regmap_update_bits

Using regmap_update_bits(..., mask, 1) with 'mask' following (1 << k)
and k greater than 0 is wrong. Indeed, _regmap_update_bits will perform
(mask & 1), which results in 0 if LSB of mask is 0. Thus the call
regmap_update_bits(..., mask, 1) is in reality equivalent to
regmap_update_bits(..., mask, 0).

In such a case, the correct use is regmap_update_bits(..., mask, mask).

This driver is performing such a mistake with the DRV2665_STANDBY mask,
which equals BIT(6). Fix the driver to make it consistent with the API,
and fix the alignment problem at the same time. Please note that this
change is untested, as I do not have this piece of hardware. Testers
are welcome!

Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/drv2665.c