From: Johan Hovold <johan@kernel.org>
To: Michael Hanselmann <public@hansmi.ch>
Cc: linux-usb@vger.kernel.org, Johan Hovold <johan@kernel.org>,
Michael Dreher <michael@5dot1.de>,
Jonathan Olds <jontio@i4free.co.nz>
Subject: Re: [PATCH 1/4] ch341: Name more registers
Date: Tue, 24 Mar 2020 11:20:03 +0100 [thread overview]
Message-ID: <20200324102003.GE5810@localhost> (raw)
In-Reply-To: <7a9882c0c5deaa64dcd3199a2d892e9809e6cb8e.1583520568.git.public@hansmi.ch>
On Fri, Mar 06, 2020 at 07:00:42PM +0000, Michael Hanselmann wrote:
> Add more #defines with register names.
Please be more specific (e.g. which registers are you naming). Update
the patch summary too.
> Signed-off-by: Michael Hanselmann <public@hansmi.ch>
> ---
> drivers/usb/serial/ch341.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c
> index c5ecdcd51ffc..518209072c50 100644
> --- a/drivers/usb/serial/ch341.c
> +++ b/drivers/usb/serial/ch341.c
> @@ -59,6 +59,8 @@
> #define CH341_REQ_MODEM_CTRL 0xA4
>
> #define CH341_REG_BREAK 0x05
> +#define CH341_REG_PRESCALER 0x12
> +#define CH341_REG_DIVISOR 0x13
> #define CH341_REG_LCR 0x18
> #define CH341_NBREAK_BITS 0x01
>
> @@ -221,6 +223,7 @@ static int ch341_get_divisor(speed_t speed)
> static int ch341_set_baudrate_lcr(struct usb_device *dev,
> struct ch341_private *priv, u8 lcr)
> {
> + uint16_t reg;
Use u16.
> int val;
> int r;
>
> @@ -237,11 +240,15 @@ static int ch341_set_baudrate_lcr(struct usb_device *dev,
> */
> val |= BIT(7);
>
> - r = ch341_control_out(dev, CH341_REQ_WRITE_REG, 0x1312, val);
> + reg = ((uint16_t)CH341_REG_DIVISOR << 8) | CH341_REG_PRESCALER;
No need to cast.
> +
> + r = ch341_control_out(dev, CH341_REQ_WRITE_REG, reg, val);
> if (r)
> return r;
>
> - r = ch341_control_out(dev, CH341_REQ_WRITE_REG, 0x2518, lcr);
> + reg = ((uint16_t)0x2500) | CH341_REG_LCR;
Ditto, and please add a bit shift for consistency.
Hmm, but this is unrelated to the defines you are adding, and there are
other magic constants for registers in this driver. Perhaps drop this
bit or break it out in its own patch (rule of thumb: one logical change
per patch).
> +
> + r = ch341_control_out(dev, CH341_REQ_WRITE_REG, reg, lcr);
> if (r)
> return r;
I'd also move this last in the series as it's more of a clean up or
documentation patch.
Johan
next prev parent reply other threads:[~2020-03-24 10:20 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-06 19:00 [PATCH 0/4] ch341: Add support for HL340 devices Michael Hanselmann
2020-03-06 19:00 ` [PATCH 1/4] ch341: Name more registers Michael Hanselmann
2020-03-24 10:20 ` Johan Hovold [this message]
2020-03-31 23:34 ` Michael Hanselmann
2020-03-06 19:00 ` [PATCH 2/4] ch341: Detect HL340 variant Michael Hanselmann
2020-03-24 10:31 ` Johan Hovold
2020-03-31 23:35 ` Michael Hanselmann
2020-03-06 19:00 ` [PATCH 3/4] ch341: Limit prescaler on " Michael Hanselmann
2020-03-24 10:41 ` Johan Hovold
2020-03-31 23:35 ` Michael Hanselmann
2020-03-06 19:00 ` [PATCH 4/4] ch341: Simulate break condition " Michael Hanselmann
2020-03-24 10:55 ` Johan Hovold
2020-03-24 10:05 ` [PATCH 0/4] ch341: Add support for HL340 devices Johan Hovold
2020-03-31 23:35 ` Michael Hanselmann
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=20200324102003.GE5810@localhost \
--to=johan@kernel.org \
--cc=jontio@i4free.co.nz \
--cc=linux-usb@vger.kernel.org \
--cc=michael@5dot1.de \
--cc=public@hansmi.ch \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).