All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>
To: Bastien Nocera <hadess@hadess.net>, linux-input@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, "Jiri Kosina" <jikos@kernel.org>,
	"Benjamin Tissoires" <benjamin.tissoires@redhat.com>,
	"Filipe Laíns" <lains@riseup.net>,
	"Nestor Lopez Casado" <nlopezcasad@logitech.com>
Subject: Re: [RFC v1 1/2] HID: logitech-hidpp: Fix "Sw. Id." for HID++ 2.0 commands
Date: Mon, 29 Aug 2022 10:22:28 -0400	[thread overview]
Message-ID: <fab763ac-2865-58b1-d735-51a28a76aa94@gmail.com> (raw)
In-Reply-To: <20220829134852.312548-1-hadess@hadess.net>


On 8/29/22 09:48, Bastien Nocera wrote:
> Always set a non-zero "Sw. Id." in the lower nibble of the Function/ASE
> and Software Identifier byte in HID++ 2.0 commands.
>
> As per the "Protocol HID++2.0 essential features" section in
> https://lekensteyn.nl/files/logitech/logitech_hidpp_2.0_specification_draft_2012-06-04.pdf
> "
> Software identifier (4 bits, unsigned)
>
> A number uniquely defining the software that sends a request. The
> firmware must copy the software identifier in the response but does
> not use it in any other ways.
>
> 0 Do not use (allows to distinguish a notification from a response).
> "
>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=215699
> Signed-off-by: Bastien Nocera <hadess@hadess.net>
> ---
>   drivers/hid/hid-logitech-hidpp.c | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c
> index 86e7a38d8a9a..02f8c99672c7 100644
> --- a/drivers/hid/hid-logitech-hidpp.c
> +++ b/drivers/hid/hid-logitech-hidpp.c
> @@ -41,6 +41,9 @@ module_param(disable_tap_to_click, bool, 0644);
>   MODULE_PARM_DESC(disable_tap_to_click,
>   	"Disable Tap-To-Click mode reporting for touchpads (only on the K400 currently).");
>   
> +/* Define a non-zero software ID to identify our own requests */
> +#define LINUX_KERNEL_SW_ID			0x06
> +
>   #define REPORT_ID_HIDPP_SHORT			0x10
>   #define REPORT_ID_HIDPP_LONG			0x11
>   #define REPORT_ID_HIDPP_VERY_LONG		0x12
> @@ -343,7 +346,7 @@ static int hidpp_send_fap_command_sync(struct hidpp_device *hidpp,
>   	else
>   		message->report_id = REPORT_ID_HIDPP_LONG;
>   	message->fap.feature_index = feat_index;
> -	message->fap.funcindex_clientid = funcindex_clientid;
> +	message->fap.funcindex_clientid = funcindex_clientid | LINUX_KERNEL_SW_ID;
>   	memcpy(&message->fap.params, params, param_count);
>   
>   	ret = hidpp_send_message_sync(hidpp, message, response);



Looks good to me.  It might be better to use ID 0x01 to signifiy the "first" 
software but that is a minor quibble.


peter



      parent reply	other threads:[~2022-08-29 14:22 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-29 13:48 [RFC v1 1/2] HID: logitech-hidpp: Fix "Sw. Id." for HID++ 2.0 commands Bastien Nocera
2022-08-29 13:48 ` [RFC v1 2/2] HID: logitech-hidpp: Remove hard-coded " Bastien Nocera
2022-08-29 14:23   ` Peter F. Patel-Schneider
2022-08-29 14:22 ` Peter F. Patel-Schneider [this message]

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=fab763ac-2865-58b1-d735-51a28a76aa94@gmail.com \
    --to=pfpschneider@gmail.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=hadess@hadess.net \
    --cc=jikos@kernel.org \
    --cc=lains@riseup.net \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nlopezcasad@logitech.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.