From: Hans de Goede <hdegoede@redhat.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>, linux-input@vger.kernel.org
Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Input: psmouse - when comparing PNP IDs ignore case
Date: Sat, 28 Feb 2015 11:15:19 +0100 [thread overview]
Message-ID: <54F19537.3050401@redhat.com> (raw)
In-Reply-To: <20150228001852.GA18983@dtor-ws>
Hi,
On 28-02-15 01:18, Dmitry Torokhov wrote:
> PNP IDs are supposed to be case-insensitive and so we should compare
> them as such.
>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Looks good:
Acked-by: Hans de Goede <hdegoede@redhat.com>
Regards,
Hans
> ---
> drivers/input/mouse/psmouse-base.c | 39 +++++++++++++++++++++++++++++++-------
> 1 file changed, 32 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
> index 4ccd01d..a175496 100644
> --- a/drivers/input/mouse/psmouse-base.c
> +++ b/drivers/input/mouse/psmouse-base.c
> @@ -463,19 +463,44 @@ static int psmouse_poll(struct psmouse *psmouse)
> PSMOUSE_CMD_POLL | (psmouse->pktsize << 8));
> }
>
> +static bool psmouse_check_pnp_id(const char *id, const char * const ids[])
> +{
> + int i;
> +
> + for (i = 0; ids[i]; i++)
> + if (!strcasecmp(id, ids[i]))
> + return true;
> +
> + return false;
> +}
> +
> /*
> * psmouse_matches_pnp_id - check if psmouse matches one of the passed in ids.
> */
> bool psmouse_matches_pnp_id(struct psmouse *psmouse, const char * const ids[])
> {
> - int i;
> -
> - if (!strncmp(psmouse->ps2dev.serio->firmware_id, "PNP:", 4))
> - for (i = 0; ids[i]; i++)
> - if (strstr(psmouse->ps2dev.serio->firmware_id, ids[i]))
> - return true;
> + struct serio *serio = psmouse->ps2dev.serio;
> + char *p, *fw_id_copy, *save_ptr;
> + bool found = false;
> +
> + if (!strncmp(serio->firmware_id, "PNP:", 4))
> + return false;
> +
> + fw_id_copy = kstrndup(&serio->firmware_id[4],
> + sizeof(serio->firmware_id) - 4,
> + GFP_KERNEL);
> + if (!fw_id_copy)
> + return false;
> +
> + save_ptr = fw_id_copy;
> + while ((p = strsep(&fw_id_copy, " ")) != NULL) {
> + if (psmouse_check_pnp_id(p, ids))
> + found = true;
> + break;
> + }
>
> - return false;
> + kfree(save_ptr);
> + return found;
> }
>
> /*
>
next prev parent reply other threads:[~2015-02-28 10:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-28 0:18 [PATCH] Input: psmouse - when comparing PNP IDs ignore case Dmitry Torokhov
2015-02-28 10:15 ` Hans de Goede [this message]
2015-03-02 22:14 ` Jeff Epler
2015-03-02 22: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=54F19537.3050401@redhat.com \
--to=hdegoede@redhat.com \
--cc=benjamin.tissoires@redhat.com \
--cc=dmitry.torokhov@gmail.com \
--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.