All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Hans de Goede <hdegoede@redhat.com>
Cc: "Johan Hovold" <johan@kernel.org>,
	"Shrirang Bagul" <shrirang.bagul@canonical.com>,
	linux-serial@vger.kernel.org, gregkh@linuxfoundation.org,
	"Rob Herring" <robh@kernel.org>,
	"Frédéric Danis" <frederic.danis.oss@gmail.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	"Lukas Wunner" <lukas@wunner.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC][PATCH 0/1] serdev: Support HS-UART serdev slaves over tty
Date: Wed, 25 Apr 2018 09:47:36 +0200	[thread overview]
Message-ID: <20180425074736.GK4615@localhost> (raw)
In-Reply-To: <b4947b3c-15b3-15ea-e1b7-38169f11d0f9@redhat.com>

On Tue, Apr 24, 2018 at 11:16:38PM +0200, Hans de Goede wrote:
> Hi,
> 
> On 24-04-18 19:18, Johan Hovold wrote:
> > [ Adding some more people on CC. ]
> > 
> > On Tue, Apr 24, 2018 at 04:29:53PM +0800, Shrirang Bagul wrote:
> >> On systems using Intel Atom (Baytrail-I) SoC's, slave devices connected on
> >> HSUART1/2 ports are described by the ACPI BIOS as virtual hardware using
> >> HID's INT3511/INT3512 [1].
> >>
> >> As a consequence, HW manufacturers have complete freedom to install any
> >> devices on-board as long as they can be accessed over serial tty
> >> interface. Once such device is Dell Edge 3002 IoT Gateway which sports
> >> ZigBee & GPS devices on the HS-UART ports 1 & 2 respectively.
> >>
> >> In kernels before the introduction of 'Serial Device Bus (serdev)'
> >> subsystem, these devices were accessible using /dev/ttySx nodes. But,
> >> kernels since 4.15 can no longer do so.
> >>
> >> Post 4.15, with CONFIG_SERIAL_DEV_BUS=y, serdev port controller driver
> >> handles the enumeration for the slaves connected on these ports. Also,
> >> /dev/ttySx device nodes for these ports are no longer exposed to the
> >> userspace.
> >>
> >> This patch implements a new driver which binds to the ACPI serdev slaves
> >> enumerated by the serdev port controller and exposes /dev/ttyHSx device
> >> nodes which the userspace applications can use. Otherwise, upgrades to 4.15
> >> or higher kernels would certainly render these devices unusable.
> >>
> >> Considering serdev is new and evolving, this is one approach to solving
> >> the problem at hand. An obvious drawback is the change in the tty device
> >> node name from ttySx => ttyHSx, which means userspace applications have to
> >> be modified (I know that this is strongly discouraged). For the same
> >> reason, I am submitting these patches as RFC.
> >>
> >> If there are other/better ways of solving this or improving on the
> >> proposed solution, that will be most helpful.
> > 
> > Yeah, I don't think this is the right solution to this problem. It seems
> > we need to blacklist (or maybe even use whitelists) ACPI-ids until there
> > are drivers for the slave devices that would otherwise be claimed by
> > serdev.
> 
> FWIW I've been using this patch for a while for realtek UART attached bluetooth:
> https://github.com/jwrdegoede/linux-sunxi/commit/bc904e3703940600ca66c65fcdb0a8cb01dff55d
> which is a gross hack.
> 
> If we're going to do a whitelist for this, it better support some sort of
> wildcards as there are a LOT of BCM2E?? devices which need to be on the
> whitelist. I think a blacklist would actually be better though, this also
> documents which devices are lacking a proper kernel (where applicable).

Yeah, you guys know the ACPI space better than I do. I just fear that
if we go with the blacklist approach, we'll be playing a whack-a-mole
with this for a long time when people start upgrading there systems to
4.15 and discover that their serial ports are gone.

Since this would qualify as a severe regression, me may need to consider
adding a serdev whitelist for every ACPI id we add to a serdev driver
instead.

Thanks,
Johan

  reply	other threads:[~2018-04-25  7:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20180424082954.11453-1-shrirang.bagul@canonical.com>
2018-04-24 17:18 ` [RFC][PATCH 0/1] serdev: Support HS-UART serdev slaves over tty Johan Hovold
2018-04-24 21:16   ` Hans de Goede
2018-04-25  7:47     ` Johan Hovold [this message]
2018-04-25  9:00       ` Rafael J. Wysocki
2018-04-25  9:12         ` Johan Hovold

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=20180425074736.GK4615@localhost \
    --to=johan@kernel.org \
    --cc=frederic.danis.oss@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hdegoede@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=rjw@rjwysocki.net \
    --cc=robh@kernel.org \
    --cc=shrirang.bagul@canonical.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 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.