From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Nick Desaulniers <nick.desaulniers@gmail.com>
Cc: gregkh@linuxfoundation.org, linux-input@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] Input: mousedev - fix implicit conversion warning
Date: Fri, 26 May 2017 10:07:46 -0700 [thread overview]
Message-ID: <20170526170746.GA40877@dtor-ws> (raw)
In-Reply-To: <20170526154029.9405-1-nick.desaulniers@gmail.com>
On Fri, May 26, 2017 at 08:40:28AM -0700, Nick Desaulniers wrote:
> Clang warns:
>
> drivers/input/mousedev.c:653:63: error: implicit conversion from 'int'
> to 'signed char' changes value from 200 to -56
> [-Wconstant-conversion]
> client->ps2[1] = 0x60; client->ps2[2] = 3; client->ps2[3] = 200;
> ~ ^~~
>
> As far as I can tell, from
>
> http://www.computer-engineering.org/ps2mouse/
>
> Under "Command Set" > "0xE9 (Status Request)"
>
> the value 200 is a valid sample rate. Using unsigned char, rather than
> signed char, for client->ps2 silences this warning.
>
> Signed-off-by: Nick Desaulniers <nick.desaulniers@gmail.com>
> ---
> * Additionally change function signature for the lone function dealing
> with ps2 data.
>
> drivers/input/mousedev.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c
> index 0e0ff84088fd..0e31a109b1b4 100644
> --- a/drivers/input/mousedev.c
> +++ b/drivers/input/mousedev.c
> @@ -103,7 +103,7 @@ struct mousedev_client {
> spinlock_t packet_lock;
> int pos_x, pos_y;
>
> - signed char ps2[6];
> + unsigned char ps2[6];
> unsigned char ready, buffer, bufsiz;
> unsigned char imexseq, impsseq;
> enum mousedev_emul mode;
> @@ -577,7 +577,7 @@ static inline int mousedev_limit_delta(int delta, int limit)
> }
>
> static void mousedev_packet(struct mousedev_client *client,
> - signed char *ps2_data)
> + unsigned char *ps2_data)
> {
> struct mousedev_motion *p = &client->packets[client->tail];
If you look at the code of this fucntion we really use ps2_data as
signed in calculations, and this change would break that. While making
ps2_data u8 might be beneficial we'd need to rework mousedev_packet() to
use signed temporaries for dx, dy and dz before stufifng them into
ps2_data.
Thanks.
--
Dmitry
next prev parent reply other threads:[~2017-05-26 17:07 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-26 5:22 [PATCH] Input: mousedev - fix implicit conversion warning Nick Desaulniers
2017-05-26 5:22 ` Nick Desaulniers
2017-05-26 15:34 ` [PATCH v2] " Nick Desaulniers
2017-05-26 15:34 ` Nick Desaulniers
2017-05-26 15:40 ` [PATCH v3] " Nick Desaulniers
2017-05-26 15:40 ` Nick Desaulniers
2017-05-26 17:07 ` Dmitry Torokhov [this message]
2017-05-29 19:22 ` Nick Desaulniers
2017-05-30 2:44 ` Dmitry Torokhov
2017-05-30 5:41 ` [PATCH v4] " Nick Desaulniers
2017-05-30 5:41 ` Nick Desaulniers
2017-06-06 16:18 ` Nick Desaulniers
2017-06-23 4:16 ` Nick Desaulniers
2017-06-25 18:06 ` Dmitry Torokhov
2017-06-27 1:39 ` Nick Desaulniers
2017-07-12 6:57 ` Nick Desaulniers
2017-07-12 18:19 ` Dmitry Torokhov
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=20170526170746.GA40877@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nick.desaulniers@gmail.com \
/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.