From: johan@kernel.org (Johan Hovold)
To: linus-amlogic@lists.infradead.org
Subject: [RFC v2 1/9] serdev: implement parity configuration
Date: Wed, 3 Jan 2018 10:06:33 +0100 [thread overview]
Message-ID: <20180103090633.GP16993@localhost> (raw)
In-Reply-To: <CAFBinCD=iuE+ho22kihCFG=AJV5t+JtjRww8PLuq-cAJ2RkAHQ@mail.gmail.com>
On Tue, Jan 02, 2018 at 10:34:04PM +0100, Martin Blumenstingl wrote:
> On Tue, Jan 2, 2018 at 10:16 PM, Martin Blumenstingl
> <martin.blumenstingl@googlemail.com> wrote:
> > Hi Marcel, Hi Rob,
> >
> > On Tue, Jan 2, 2018 at 12:16 PM, Marcel Holtmann <marcel@holtmann.org> wrote:
> >> Hi Martin,
> >>
> >>> Some Bluetooth modules (for example the ones found in Realtek RTL8723BS
> >>> and RTL8723DS) want to communicate with the host with even parity
> >>> enabled.
> >>> Add a new function and the corresponding internal callbacks so parity
> >>> can be configured. This supports enabling and disabling parity as well
> >>> as setting the type to odd or even.
> >>>
> >>> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
> >>> ---
> >>> drivers/tty/serdev/core.c | 12 ++++++++++++
> >>> drivers/tty/serdev/serdev-ttyport.c | 21 +++++++++++++++++++++
> >>> include/linux/serdev.h | 5 +++++
> >>> 3 files changed, 38 insertions(+)
> >>>
> >>> diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c
> >>> index 1bef39828ca7..d327b02980f5 100644
> >>> --- a/drivers/tty/serdev/core.c
> >>> +++ b/drivers/tty/serdev/core.c
> >>> @@ -225,6 +225,18 @@ void serdev_device_set_flow_control(struct serdev_device *serdev, bool enable)
> >>> }
> >>> EXPORT_SYMBOL_GPL(serdev_device_set_flow_control);
> >>>
> >>> +void serdev_device_set_parity(struct serdev_device *serdev, bool enable,
> >>> + bool odd)
> >>> +{
> >>> + struct serdev_controller *ctrl = serdev->ctrl;
> >>> +
> >>> + if (!ctrl || !ctrl->ops->set_parity)
> >>> + return;
> >>> +
> >>> + ctrl->ops->set_parity(ctrl, enable, odd);
> >>> +}
> >>> +EXPORT_SYMBOL_GPL(serdev_device_set_parity);
> >>> +
> >>
> >> this really needs Rob?s ACK before I take the patch.
> > sure
> >
> > I could even live with a NACK in case these two bool parameters are
> > considered to be ugly
> > in that case I would propose an enum with three values: DISABLED,
> > EVEN, ODD so the arguments would look like this:
> > void serdev_device_set_parity(struct serdev_device *serdev, enum parity)
> I just discovered: such a patch was already posted by Ulrich Hecht: [0]
>
>
> [0] https://patchwork.kernel.org/patch/9903787/
Yeah, that would be the preferred way of doing this as it's more
readable and less error prone (and more easily extended if anyone ever
needs mark and space parity).
Also, I know serdev currently fails to check for errors from
tty_set_termios, but we really need to start doing that. Not all serial
drivers support (every) parity mode so you need to check the tty termios
for the actual mode used after tty_set_termios() returns.
Thanks,
Johan
WARNING: multiple messages have this Message-ID (diff)
From: Johan Hovold <johan@kernel.org>
To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Cc: Marcel Holtmann <marcel@holtmann.org>,
Rob Herring <robh+dt@kernel.org>,
devicetree <devicetree@vger.kernel.org>,
"open list:BLUETOOTH DRIVERS" <linux-bluetooth@vger.kernel.org>,
linux-serial@vger.kernel.org, Mark Rutland <mark.rutland@arm.com>,
"Gustavo F. Padovan" <gustavo@padovan.org>,
Johan Hedberg <johan.hedberg@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jslaby@suse.com>, Johan Hovold <johan@kernel.org>,
linux-amlogic@lists.infradead.org,
Larry Finger <Larry.Finger@lwfinger.net>,
Carlo Caione <carlo@endlessm.com>,
Daniel Drake <drake@endlessm.com>,
ulrich.hecht+renesas@gmail.com
Subject: Re: [RFC v2 1/9] serdev: implement parity configuration
Date: Wed, 3 Jan 2018 10:06:33 +0100 [thread overview]
Message-ID: <20180103090633.GP16993@localhost> (raw)
In-Reply-To: <CAFBinCD=iuE+ho22kihCFG=AJV5t+JtjRww8PLuq-cAJ2RkAHQ@mail.gmail.com>
On Tue, Jan 02, 2018 at 10:34:04PM +0100, Martin Blumenstingl wrote:
> On Tue, Jan 2, 2018 at 10:16 PM, Martin Blumenstingl
> <martin.blumenstingl@googlemail.com> wrote:
> > Hi Marcel, Hi Rob,
> >
> > On Tue, Jan 2, 2018 at 12:16 PM, Marcel Holtmann <marcel@holtmann.org> wrote:
> >> Hi Martin,
> >>
> >>> Some Bluetooth modules (for example the ones found in Realtek RTL8723BS
> >>> and RTL8723DS) want to communicate with the host with even parity
> >>> enabled.
> >>> Add a new function and the corresponding internal callbacks so parity
> >>> can be configured. This supports enabling and disabling parity as well
> >>> as setting the type to odd or even.
> >>>
> >>> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
> >>> ---
> >>> drivers/tty/serdev/core.c | 12 ++++++++++++
> >>> drivers/tty/serdev/serdev-ttyport.c | 21 +++++++++++++++++++++
> >>> include/linux/serdev.h | 5 +++++
> >>> 3 files changed, 38 insertions(+)
> >>>
> >>> diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c
> >>> index 1bef39828ca7..d327b02980f5 100644
> >>> --- a/drivers/tty/serdev/core.c
> >>> +++ b/drivers/tty/serdev/core.c
> >>> @@ -225,6 +225,18 @@ void serdev_device_set_flow_control(struct serdev_device *serdev, bool enable)
> >>> }
> >>> EXPORT_SYMBOL_GPL(serdev_device_set_flow_control);
> >>>
> >>> +void serdev_device_set_parity(struct serdev_device *serdev, bool enable,
> >>> + bool odd)
> >>> +{
> >>> + struct serdev_controller *ctrl = serdev->ctrl;
> >>> +
> >>> + if (!ctrl || !ctrl->ops->set_parity)
> >>> + return;
> >>> +
> >>> + ctrl->ops->set_parity(ctrl, enable, odd);
> >>> +}
> >>> +EXPORT_SYMBOL_GPL(serdev_device_set_parity);
> >>> +
> >>
> >> this really needs Rob’s ACK before I take the patch.
> > sure
> >
> > I could even live with a NACK in case these two bool parameters are
> > considered to be ugly
> > in that case I would propose an enum with three values: DISABLED,
> > EVEN, ODD so the arguments would look like this:
> > void serdev_device_set_parity(struct serdev_device *serdev, enum parity)
> I just discovered: such a patch was already posted by Ulrich Hecht: [0]
>
>
> [0] https://patchwork.kernel.org/patch/9903787/
Yeah, that would be the preferred way of doing this as it's more
readable and less error prone (and more easily extended if anyone ever
needs mark and space parity).
Also, I know serdev currently fails to check for errors from
tty_set_termios, but we really need to start doing that. Not all serial
drivers support (every) parity mode so you need to check the tty termios
for the actual mode used after tty_set_termios() returns.
Thanks,
Johan
WARNING: multiple messages have this Message-ID (diff)
From: Johan Hovold <johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Martin Blumenstingl
<martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
Cc: Marcel Holtmann <marcel-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
devicetree <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"open list:BLUETOOTH DRIVERS"
<linux-bluetooth-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
"Gustavo F. Padovan"
<gustavo-THi1TnShQwVAfugRpC6u6w@public.gmane.org>,
Johan Hedberg
<johan.hedberg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
Jiri Slaby <jslaby-IBi9RG/b67k@public.gmane.org>,
Johan Hovold <johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Larry Finger
<Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>,
Carlo Caione <carlo-6IF/jdPJHihWk0Htik3J/w@public.gmane.org>,
Daniel Drake <drake-6IF/jdPJHihWk0Htik3J/w@public.gmane.org>,
ulrich.hecht+renesas-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Subject: Re: [RFC v2 1/9] serdev: implement parity configuration
Date: Wed, 3 Jan 2018 10:06:33 +0100 [thread overview]
Message-ID: <20180103090633.GP16993@localhost> (raw)
In-Reply-To: <CAFBinCD=iuE+ho22kihCFG=AJV5t+JtjRww8PLuq-cAJ2RkAHQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Tue, Jan 02, 2018 at 10:34:04PM +0100, Martin Blumenstingl wrote:
> On Tue, Jan 2, 2018 at 10:16 PM, Martin Blumenstingl
> <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
> > Hi Marcel, Hi Rob,
> >
> > On Tue, Jan 2, 2018 at 12:16 PM, Marcel Holtmann <marcel-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org> wrote:
> >> Hi Martin,
> >>
> >>> Some Bluetooth modules (for example the ones found in Realtek RTL8723BS
> >>> and RTL8723DS) want to communicate with the host with even parity
> >>> enabled.
> >>> Add a new function and the corresponding internal callbacks so parity
> >>> can be configured. This supports enabling and disabling parity as well
> >>> as setting the type to odd or even.
> >>>
> >>> Signed-off-by: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
> >>> ---
> >>> drivers/tty/serdev/core.c | 12 ++++++++++++
> >>> drivers/tty/serdev/serdev-ttyport.c | 21 +++++++++++++++++++++
> >>> include/linux/serdev.h | 5 +++++
> >>> 3 files changed, 38 insertions(+)
> >>>
> >>> diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c
> >>> index 1bef39828ca7..d327b02980f5 100644
> >>> --- a/drivers/tty/serdev/core.c
> >>> +++ b/drivers/tty/serdev/core.c
> >>> @@ -225,6 +225,18 @@ void serdev_device_set_flow_control(struct serdev_device *serdev, bool enable)
> >>> }
> >>> EXPORT_SYMBOL_GPL(serdev_device_set_flow_control);
> >>>
> >>> +void serdev_device_set_parity(struct serdev_device *serdev, bool enable,
> >>> + bool odd)
> >>> +{
> >>> + struct serdev_controller *ctrl = serdev->ctrl;
> >>> +
> >>> + if (!ctrl || !ctrl->ops->set_parity)
> >>> + return;
> >>> +
> >>> + ctrl->ops->set_parity(ctrl, enable, odd);
> >>> +}
> >>> +EXPORT_SYMBOL_GPL(serdev_device_set_parity);
> >>> +
> >>
> >> this really needs Rob’s ACK before I take the patch.
> > sure
> >
> > I could even live with a NACK in case these two bool parameters are
> > considered to be ugly
> > in that case I would propose an enum with three values: DISABLED,
> > EVEN, ODD so the arguments would look like this:
> > void serdev_device_set_parity(struct serdev_device *serdev, enum parity)
> I just discovered: such a patch was already posted by Ulrich Hecht: [0]
>
>
> [0] https://patchwork.kernel.org/patch/9903787/
Yeah, that would be the preferred way of doing this as it's more
readable and less error prone (and more easily extended if anyone ever
needs mark and space parity).
Also, I know serdev currently fails to check for errors from
tty_set_termios, but we really need to start doing that. Not all serial
drivers support (every) parity mode so you need to check the tty termios
for the actual mode used after tty_set_termios() returns.
Thanks,
Johan
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2018-01-03 9:06 UTC|newest]
Thread overview: 123+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-01 20:42 [RFC v2 0/9] Realtek Bluetooth serdev support (H5 protocol) Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` [RFC v2 1/9] serdev: implement parity configuration Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-02 11:16 ` Marcel Holtmann
2018-01-02 11:16 ` Marcel Holtmann
2018-01-02 11:16 ` Marcel Holtmann
2018-01-02 21:16 ` Martin Blumenstingl
2018-01-02 21:16 ` Martin Blumenstingl
2018-01-02 21:16 ` Martin Blumenstingl
2018-01-02 21:34 ` Martin Blumenstingl
2018-01-02 21:34 ` Martin Blumenstingl
2018-01-02 21:34 ` Martin Blumenstingl
2018-01-03 9:06 ` Johan Hovold [this message]
2018-01-03 9:06 ` Johan Hovold
2018-01-03 9:06 ` Johan Hovold
2018-01-03 12:37 ` Marcel Holtmann
2018-01-03 12:37 ` Marcel Holtmann
2018-01-03 12:37 ` Marcel Holtmann
2018-01-01 20:42 ` [RFC v2 2/9] dt-bindings: net: bluetooth: add support for Realtek Bluetooth chips Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-02 11:16 ` Marcel Holtmann
2018-01-02 11:16 ` Marcel Holtmann
2018-01-02 11:16 ` Marcel Holtmann
2018-01-02 21:10 ` Martin Blumenstingl
2018-01-02 21:10 ` Martin Blumenstingl
2018-01-02 21:10 ` Martin Blumenstingl
2018-01-03 19:07 ` Rob Herring
2018-01-03 19:07 ` Rob Herring
2018-01-03 19:07 ` Rob Herring
2018-01-01 20:42 ` [RFC v2 3/9] Bluetooth: btrtl: add MODULE_FIRMWARE declarations Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` [RFC v2 4/9] Bluetooth: btrtl: split the device initialization into smaller parts Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` [RFC v2 5/9] Bluetooth: btrtl: add support for retrieving the UART settings Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` [RFC v2 6/9] Bluetooth: btrtl: add support for the RTL8723BS and RTL8723DS chips Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` [RFC v2 7/9] bluetooth: btrtl: load the config blob from devicetree when available Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-02 11:11 ` Marcel Holtmann
2018-01-02 11:11 ` Marcel Holtmann
2018-01-02 11:11 ` Marcel Holtmann
2018-01-02 11:15 ` Carlo Caione
2018-01-02 11:15 ` Carlo Caione
2018-01-02 11:15 ` Carlo Caione
2018-01-02 11:19 ` Marcel Holtmann
2018-01-02 11:19 ` Marcel Holtmann
2018-01-02 11:19 ` Marcel Holtmann
2018-01-02 11:31 ` Carlo Caione
2018-01-02 11:31 ` Carlo Caione
2018-01-02 11:31 ` Carlo Caione
2018-01-02 11:38 ` Marcel Holtmann
2018-01-02 11:38 ` Marcel Holtmann
2018-01-02 11:38 ` Marcel Holtmann
2018-01-02 21:43 ` Martin Blumenstingl
2018-01-02 21:43 ` Martin Blumenstingl
2018-01-02 21:43 ` Martin Blumenstingl
2018-01-02 21:46 ` Martin Blumenstingl
2018-01-02 21:46 ` Martin Blumenstingl
2018-01-02 21:46 ` Martin Blumenstingl
2018-01-02 23:06 ` Carlo Caione
2018-01-02 23:06 ` Carlo Caione
2018-01-02 23:06 ` Carlo Caione
2018-01-03 20:50 ` Martin Blumenstingl
2018-01-03 20:50 ` Martin Blumenstingl
2018-01-03 20:50 ` Martin Blumenstingl
2018-01-04 9:46 ` Carlo Caione
2018-01-04 9:46 ` Carlo Caione
2018-01-04 9:46 ` Carlo Caione
2018-01-05 14:57 ` Marcel Holtmann
2018-01-05 14:57 ` Marcel Holtmann
2018-01-05 14:57 ` Marcel Holtmann
2018-01-05 16:15 ` Marcel Holtmann
2018-01-05 16:15 ` Marcel Holtmann
2018-01-05 16:15 ` Marcel Holtmann
2018-01-05 20:44 ` Marcel Holtmann
2018-01-05 20:44 ` Marcel Holtmann
2018-01-05 20:44 ` Marcel Holtmann
2018-01-07 20:07 ` Martin Blumenstingl
2018-01-07 20:07 ` Martin Blumenstingl
2018-01-07 20:07 ` Martin Blumenstingl
2018-01-09 15:26 ` Marcel Holtmann
2018-01-09 15:26 ` Marcel Holtmann
2018-01-09 15:26 ` Marcel Holtmann
2018-01-01 20:42 ` [RFC v2 8/9] Bluetooth: drop HCI_UART_INIT_PENDING support Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-02 11:04 ` Marcel Holtmann
2018-01-02 11:04 ` Marcel Holtmann
2018-01-02 11:04 ` Marcel Holtmann
2018-01-02 21:06 ` Martin Blumenstingl
2018-01-02 21:06 ` Martin Blumenstingl
2018-01-02 21:06 ` Martin Blumenstingl
2018-01-03 17:14 ` Loic Poulain
2018-01-03 17:14 ` Loic Poulain
2018-01-03 17:14 ` Loic Poulain
2018-01-03 20:30 ` Martin Blumenstingl
2018-01-03 20:30 ` Martin Blumenstingl
2018-01-03 20:30 ` Martin Blumenstingl
2018-01-03 18:38 ` Rob Herring
2018-01-03 18:38 ` Rob Herring
2018-01-03 18:38 ` Rob Herring
2018-01-03 20:38 ` Martin Blumenstingl
2018-01-03 20:38 ` Martin Blumenstingl
2018-01-03 20:38 ` Martin Blumenstingl
2018-01-01 20:42 ` [RFC v2 9/9] Bluetooth: hci_h5: add support for Realtek UART Bluetooth modules Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-01 20:42 ` Martin Blumenstingl
2018-01-02 11:11 ` Marcel Holtmann
2018-01-02 11:11 ` Marcel Holtmann
2018-01-02 11:11 ` Marcel Holtmann
2018-01-02 21:27 ` Martin Blumenstingl
2018-01-02 21:27 ` Martin Blumenstingl
2018-01-02 21:27 ` Martin Blumenstingl
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=20180103090633.GP16993@localhost \
--to=johan@kernel.org \
--cc=linus-amlogic@lists.infradead.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.