devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh+dt@kernel.org>
To: Sebastian Reichel <sre@kernel.org>
Cc: Marcel Holtmann <marcel@holtmann.org>,
	Gustavo Padovan <gustavo@padovan.org>,
	Johan Hedberg <johan.hedberg@gmail.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Pavel Machek <pavel@ucw.cz>, Tony Lindgren <tony@atomide.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jslaby@suse.com>, Mark Rutland <mark.rutland@arm.com>,
	"open list:BLUETOOTH DRIVERS" <linux-bluetooth@vger.kernel.org>,
	"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCHv2 07/11] serdev: add helpers for cts and rts handling
Date: Wed, 22 Mar 2017 16:03:14 -0500	[thread overview]
Message-ID: <CAL_JsqLD6dYFXvA8nNaMiKuVbs97VD0s0MMeVGvnmQbLbD6_zA@mail.gmail.com> (raw)
In-Reply-To: <20170321223216.11733-8-sre@kernel.org>

On Tue, Mar 21, 2017 at 5:32 PM, Sebastian Reichel <sre@kernel.org> wrote:
> Add serdev helper functions for handling of cts and rts
> lines using the serdev's tiocm functions.
>
> Signed-off-by: Sebastian Reichel <sre@kernel.org>
> ---
>  include/linux/serdev.h | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
>
> diff --git a/include/linux/serdev.h b/include/linux/serdev.h
> index 3ad1d695f947..8cdce2ea0d51 100644
> --- a/include/linux/serdev.h
> +++ b/include/linux/serdev.h
> @@ -16,6 +16,7 @@
>  #include <linux/types.h>
>  #include <linux/device.h>
>  #include <asm-generic/termios.h>
> +#include <linux/delay.h>
>
>  struct serdev_controller;
>  struct serdev_device;
> @@ -254,6 +255,36 @@ static inline int serdev_device_write_room(struct serdev_device *sdev)
>
>  #endif /* CONFIG_SERIAL_DEV_BUS */
>
> +static inline bool serdev_device_get_cts(struct serdev_device *serdev)
> +{
> +       int status = serdev_device_get_tiocm(serdev);
> +       return !!(status & TIOCM_CTS);
> +}
> +
> +static inline int serdev_device_wait_for_cts(struct serdev_device *serdev, bool state, int timeout_ms)
> +{
> +       unsigned long timeout;
> +       bool signal;
> +
> +       timeout = jiffies + msecs_to_jiffies(timeout_ms);
> +       while (!time_after(jiffies, timeout)) {

You can use time_is_after_jiffies(timeout) instead of !time_after.

> +               signal = serdev_device_get_cts(serdev);
> +               if (signal == state)
> +                       return 0;
> +               usleep_range(1000, 2000);
> +       }
> +
> +       return -ETIMEDOUT;
> +}
> +
> +static inline int serdev_device_set_rts(struct serdev_device *serdev, bool enable)
> +{
> +       if (enable)
> +               return serdev_device_set_tiocm(serdev, TIOCM_OUT2 | TIOCM_RTS, 0);

Perhaps a comment why we're messing with OUT2.

With those,

Acked-by: Rob Herring <robh@kernel.org>

> +       else
> +               return serdev_device_set_tiocm(serdev, 0, TIOCM_OUT2 | TIOCM_RTS);
> +}
> +
>  /*
>   * serdev hooks into TTY core
>   */
> --
> 2.11.0
>

  reply	other threads:[~2017-03-22 21:03 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-21 22:32 [PATCHv2 00/11] Nokia H4+ support Sebastian Reichel
2017-03-21 22:32 ` [PATCHv2 01/11] Bluetooth: hci_uart: add support for word alignment Sebastian Reichel
2017-03-21 22:32 ` [PATCHv2 02/11] Bluetooth: hci_uart: add serdev driver support library Sebastian Reichel
     [not found]   ` <20170321223216.11733-3-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-03-22  9:32     ` Pavel Machek
2017-03-21 22:32 ` [PATCHv2 03/11] Bluetooth: hci_serdev: do not open device in hci open Sebastian Reichel
2017-03-21 22:32 ` [PATCHv2 04/11] tty: serial: omap: add UPF_BOOT_AUTOCONF flag for DT init Sebastian Reichel
     [not found]   ` <20170321223216.11733-5-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-03-22  9:32     ` Pavel Machek
2017-03-21 22:32 ` [PATCHv2 05/11] serdev: add serdev_device_wait_until_sent Sebastian Reichel
     [not found]   ` <20170321223216.11733-6-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-03-22  9:39     ` Pavel Machek
2017-03-21 22:32 ` [PATCHv2 06/11] serdev: implement get/set tiocm Sebastian Reichel
2017-03-22  0:58   ` [PATCHv2.1] " Sebastian Reichel
     [not found]     ` <20170322005837.6047-1-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-03-22  9:40       ` Pavel Machek
2017-03-22 21:18       ` Rob Herring
2017-03-21 22:32 ` [PATCHv2 07/11] serdev: add helpers for cts and rts handling Sebastian Reichel
2017-03-22 21:03   ` Rob Herring [this message]
2017-03-21 22:32 ` [PATCHv2 08/11] dt-bindings: net: bluetooth: Add nokia-bluetooth Sebastian Reichel
     [not found]   ` <20170321223216.11733-9-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-03-22 21:04     ` Rob Herring
     [not found] ` <20170321223216.11733-1-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-03-21 22:32   ` [PATCHv2 09/11] Bluetooth: add nokia driver Sebastian Reichel
     [not found]     ` <20170321223216.11733-10-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-03-22 21:26       ` Rob Herring
     [not found]         ` <CAL_Jsq+UXxocmpSJwJ8dVY0ZSLn1Rk+GfTRKP7Wqvo-_cE4qPg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-03-22 22:48           ` Sebastian Reichel
2017-03-23  7:50     ` Frédéric Danis
2017-03-23  9:07       ` Sebastian Reichel
2017-03-21 22:32   ` [PATCHv2 11/11] ARM: dts: N9/N950: add bluetooth Sebastian Reichel
     [not found]     ` <20170321223216.11733-12-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-03-22 21:06       ` Rob Herring
2017-03-21 22:32 ` [PATCHv2 10/11] ARM: dts: N900: Add bluetooth Sebastian Reichel
     [not found]   ` <20170321223216.11733-11-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-03-22 21:06     ` Rob Herring
     [not found]       ` <CAL_JsqLBNSWdbiO2A11c=BDWAKvWVGjOWafaNT+1OxoZgvH+fg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-03-22 23:55         ` Tony Lindgren

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=CAL_JsqLD6dYFXvA8nNaMiKuVbs97VD0s0MMeVGvnmQbLbD6_zA@mail.gmail.com \
    --to=robh+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=gustavo@padovan.org \
    --cc=johan.hedberg@gmail.com \
    --cc=jslaby@suse.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=marcel@holtmann.org \
    --cc=mark.rutland@arm.com \
    --cc=pavel@ucw.cz \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=sre@kernel.org \
    --cc=tony@atomide.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 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).