All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Johan Hovold <johan@kernel.org>
Cc: Himadri Pandya <himadrispandya@gmail.com>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 2/3] USB: serial: kl5kusb105: simplify line-status handling
Date: Tue, 21 Sep 2021 15:30:08 +0200	[thread overview]
Message-ID: <20210921133009.13739-3-johan@kernel.org> (raw)
In-Reply-To: <20210921133009.13739-1-johan@kernel.org>

Now that the driver is using usb_control_msg_recv(), the line status
handling can be simplified further by reading directly into the status
variable and doing the endian conversion in place.

Signed-off-by: Johan Hovold <johan@kernel.org>
---
 drivers/usb/serial/kl5kusb105.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/usb/serial/kl5kusb105.c b/drivers/usb/serial/kl5kusb105.c
index 7681671ddb79..99dffbdd3142 100644
--- a/drivers/usb/serial/kl5kusb105.c
+++ b/drivers/usb/serial/kl5kusb105.c
@@ -163,21 +163,18 @@ static unsigned long klsi_105_status2linestate(const __u16 status)
  * Read line control via vendor command and return result through
  * *line_state_p
  */
-/* It seems that the status buffer has always only 2 bytes length */
-#define KLSI_STATUSBUF_LEN	2
 static int klsi_105_get_line_state(struct usb_serial_port *port,
 				   unsigned long *line_state_p)
 {
+	u16 status;
 	int rc;
-	u8 status_buf[KLSI_STATUSBUF_LEN];
-	__u16 status;
 
 	rc = usb_control_msg_recv(port->serial->dev, 0,
 				  KL5KUSB105A_SIO_POLL,
 				  USB_TYPE_VENDOR | USB_DIR_IN,
 				  0, /* value */
 				  0, /* index */
-				  status_buf, KLSI_STATUSBUF_LEN,
+				  &status, sizeof(status),
 				  10000,
 				  GFP_KERNEL);
 	if (rc) {
@@ -185,10 +182,9 @@ static int klsi_105_get_line_state(struct usb_serial_port *port,
 		return rc;
 	}
 
-	status = get_unaligned_le16(status_buf);
+	le16_to_cpus(&status);
 
-	dev_dbg(&port->dev, "read status %02x %02x\n",
-		status_buf[0], status_buf[1]);
+	dev_dbg(&port->dev, "read status %04x\n", status);
 
 	*line_state_p = klsi_105_status2linestate(status);
 
-- 
2.32.0


  parent reply	other threads:[~2021-09-21 13:31 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-21 13:30 [PATCH 0/3] USB: serial: kl5kusb105: clean up line-status handling Johan Hovold
2021-09-21 13:30 ` [PATCH 1/3] " Johan Hovold
2021-09-21 13:30 ` Johan Hovold [this message]
2021-09-21 13:30 ` [PATCH 3/3] USB: serial: kl5kusb105: drop line-status helper Johan Hovold
2021-09-21 14:08 ` [PATCH 0/3] USB: serial: kl5kusb105: clean up line-status handling Greg KH

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=20210921133009.13739-3-johan@kernel.org \
    --to=johan@kernel.org \
    --cc=himadrispandya@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@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.