From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Florian Vaussard <florian.vaussard@gmail.com>
Cc: Dan Murphy <dmurphy@ti.com>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
Florian Vaussard <florian.vaussard@heig-vd.ch>
Subject: Re: [PATCH 1/2] Input: drv2665: Fix misuse of regmap_update_bits
Date: Tue, 29 Nov 2016 17:39:17 -0800 [thread overview]
Message-ID: <20161130013917.GC20680@dtor-ws> (raw)
In-Reply-To: <1480438754-14794-2-git-send-email-florian.vaussard@heig-vd.ch>
On Tue, Nov 29, 2016 at 05:59:13PM +0100, Florian Vaussard wrote:
> 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>
Applied, thank you.
> ---
> drivers/input/misc/drv2665.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/input/misc/drv2665.c b/drivers/input/misc/drv2665.c
> index ef9bc12..b0f46e7 100644
> --- a/drivers/input/misc/drv2665.c
> +++ b/drivers/input/misc/drv2665.c
> @@ -126,7 +126,8 @@ static void drv2665_close(struct input_dev *input)
> cancel_work_sync(&haptics->work);
>
> error = regmap_update_bits(haptics->regmap,
> - DRV2665_CTRL_2, DRV2665_STANDBY, 1);
> + DRV2665_CTRL_2, DRV2665_STANDBY,
> + DRV2665_STANDBY);
> if (error)
> dev_err(&haptics->client->dev,
> "Failed to enter standby mode: %d\n", error);
> @@ -240,7 +241,7 @@ static int __maybe_unused drv2665_suspend(struct device *dev)
>
> if (haptics->input_dev->users) {
> ret = regmap_update_bits(haptics->regmap, DRV2665_CTRL_2,
> - DRV2665_STANDBY, 1);
> + DRV2665_STANDBY, DRV2665_STANDBY);
> if (ret) {
> dev_err(dev, "Failed to set standby mode\n");
> regulator_disable(haptics->regulator);
> --
> 2.5.5
>
--
Dmitry
next prev parent reply other threads:[~2016-11-30 1:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-29 16:59 [PATCH 0/2] Input: drv266x: Fix misuse of regmap_update_bits Florian Vaussard
2016-11-29 16:59 ` [PATCH 1/2] Input: drv2665: " Florian Vaussard
2016-11-30 1:39 ` Dmitry Torokhov [this message]
2016-11-29 16:59 ` [PATCH 2/2] Input: drv2667: " Florian Vaussard
2016-11-30 1:39 ` Dmitry Torokhov
2016-11-29 17:10 ` [PATCH 0/2] Input: drv266x: " Dan Murphy
2016-11-29 17:10 ` Dan Murphy
2016-11-29 17:24 ` Florian Vaussard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161130013917.GC20680@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=dmurphy@ti.com \
--cc=florian.vaussard@gmail.com \
--cc=florian.vaussard@heig-vd.ch \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.