[next] HID: hyperv: remove unused struct synthhid_msg

Message ID Y1XjBjiE39bPNj1d@mail.google.com
State New
Headers
Series [next] HID: hyperv: remove unused struct synthhid_msg |

Commit Message

Paulo Miguel Almeida Oct. 24, 2022, 12:57 a.m. UTC
  struct synthhid_msg was meant to be a generic representation of the
possible protocol messages sent through VMBus. In practice, only the
header is read and depending on the message type, a cast to the actual
type is done. Also, SYNTHHID_MAX_INPUT_REPORT_SIZE constant isn't used
which I suspect is a leftover from the refactoring made while this
driver was at the staging folder.

This patch removes struct synthhid_msg and refactor the code
accordingly.

Signed-off-by: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com>
---
 drivers/hid/hid-hyperv.c | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)
  

Comments

Michael Kelley (LINUX) Oct. 24, 2022, 1:04 p.m. UTC | #1
From: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com> Sent: Sunday, October 23, 2022 5:58 PM
> 
> struct synthhid_msg was meant to be a generic representation of the
> possible protocol messages sent through VMBus. In practice, only the
> header is read and depending on the message type, a cast to the actual
> type is done. Also, SYNTHHID_MAX_INPUT_REPORT_SIZE constant isn't used
> which I suspect is a leftover from the refactoring made while this
> driver was at the staging folder.
> 
> This patch removes struct synthhid_msg and refactor the code
> accordingly.
> 
> Signed-off-by: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com>

I noticed this as well when reviewing your change to use flexible arrays.
Thanks for doing this cleanup!

Reviewed-by: Michael Kelley <mikelley@microsoft.com>

> ---
>  drivers/hid/hid-hyperv.c | 16 ++++------------
>  1 file changed, 4 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/hid/hid-hyperv.c b/drivers/hid/hid-hyperv.c
> index 208cf8d981a5..0be717bb09d4 100644
> --- a/drivers/hid/hid-hyperv.c
> +++ b/drivers/hid/hid-hyperv.c
> @@ -22,9 +22,6 @@ struct hv_input_dev_info {
>  	unsigned short reserved[11];
>  };
> 
> -/* The maximum size of a synthetic input message. */
> -#define SYNTHHID_MAX_INPUT_REPORT_SIZE 16
> -
>  /*
>   * Current version
>   *
> @@ -59,11 +56,6 @@ struct synthhid_msg_hdr {
>  	u32 size;
>  };
> 
> -struct synthhid_msg {
> -	struct synthhid_msg_hdr header;
> -	char data[]; /* Enclosed message */
> -};
> -
>  union synthhid_version {
>  	struct {
>  		u16 minor_version;
> @@ -251,7 +243,7 @@ static void mousevsc_on_receive(struct hv_device *device,
>  				struct vmpacket_descriptor *packet)
>  {
>  	struct pipe_prt_msg *pipe_msg;
> -	struct synthhid_msg *hid_msg;
> +	struct synthhid_msg_hdr *hid_msg_hdr;
>  	struct mousevsc_dev *input_dev = hv_get_drvdata(device);
>  	struct synthhid_input_report *input_report;
>  	size_t len;
> @@ -262,9 +254,9 @@ static void mousevsc_on_receive(struct hv_device *device,
>  	if (pipe_msg->type != PIPE_MESSAGE_DATA)
>  		return;
> 
> -	hid_msg = (struct synthhid_msg *)pipe_msg->data;
> +	hid_msg_hdr = (struct synthhid_msg_hdr *)pipe_msg->data;
> 
> -	switch (hid_msg->header.type) {
> +	switch (hid_msg_hdr->type) {
>  	case SYNTH_HID_PROTOCOL_RESPONSE:
>  		/*
>  		 * While it will be impossible for us to protect against
> @@ -309,7 +301,7 @@ static void mousevsc_on_receive(struct hv_device *device,
>  		break;
>  	default:
>  		pr_err("unsupported hid msg type - type %d len %d\n",
> -		       hid_msg->header.type, hid_msg->header.size);
> +		       hid_msg_hdr->type, hid_msg_hdr->size);
>  		break;
>  	}
> 
> --
> 2.37.3
  
Jiri Kosina Oct. 24, 2022, 1:29 p.m. UTC | #2
On Mon, 24 Oct 2022, Paulo Miguel Almeida wrote:

> struct synthhid_msg was meant to be a generic representation of the
> possible protocol messages sent through VMBus. In practice, only the
> header is read and depending on the message type, a cast to the actual
> type is done. Also, SYNTHHID_MAX_INPUT_REPORT_SIZE constant isn't used
> which I suspect is a leftover from the refactoring made while this
> driver was at the staging folder.
> 
> This patch removes struct synthhid_msg and refactor the code
> accordingly.

Applied, thanks.
  

Patch

diff --git a/drivers/hid/hid-hyperv.c b/drivers/hid/hid-hyperv.c
index 208cf8d981a5..0be717bb09d4 100644
--- a/drivers/hid/hid-hyperv.c
+++ b/drivers/hid/hid-hyperv.c
@@ -22,9 +22,6 @@  struct hv_input_dev_info {
 	unsigned short reserved[11];
 };
 
-/* The maximum size of a synthetic input message. */
-#define SYNTHHID_MAX_INPUT_REPORT_SIZE 16
-
 /*
  * Current version
  *
@@ -59,11 +56,6 @@  struct synthhid_msg_hdr {
 	u32 size;
 };
 
-struct synthhid_msg {
-	struct synthhid_msg_hdr header;
-	char data[]; /* Enclosed message */
-};
-
 union synthhid_version {
 	struct {
 		u16 minor_version;
@@ -251,7 +243,7 @@  static void mousevsc_on_receive(struct hv_device *device,
 				struct vmpacket_descriptor *packet)
 {
 	struct pipe_prt_msg *pipe_msg;
-	struct synthhid_msg *hid_msg;
+	struct synthhid_msg_hdr *hid_msg_hdr;
 	struct mousevsc_dev *input_dev = hv_get_drvdata(device);
 	struct synthhid_input_report *input_report;
 	size_t len;
@@ -262,9 +254,9 @@  static void mousevsc_on_receive(struct hv_device *device,
 	if (pipe_msg->type != PIPE_MESSAGE_DATA)
 		return;
 
-	hid_msg = (struct synthhid_msg *)pipe_msg->data;
+	hid_msg_hdr = (struct synthhid_msg_hdr *)pipe_msg->data;
 
-	switch (hid_msg->header.type) {
+	switch (hid_msg_hdr->type) {
 	case SYNTH_HID_PROTOCOL_RESPONSE:
 		/*
 		 * While it will be impossible for us to protect against
@@ -309,7 +301,7 @@  static void mousevsc_on_receive(struct hv_device *device,
 		break;
 	default:
 		pr_err("unsupported hid msg type - type %d len %d\n",
-		       hid_msg->header.type, hid_msg->header.size);
+		       hid_msg_hdr->type, hid_msg_hdr->size);
 		break;
 	}