linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	okash.khawaja@gmail.com, Jiri Slaby <jslaby@suse.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	devel@driverdev.osuosl.org,
	"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
	Rob Herring <robh@kernel.org>, Kirk Reiser <kirk@reisers.ca>,
	Chris Brannon <chris@the-brannons.com>,
	speakup@linux-speakup.org
Subject: Re: [patch 0/7] staging: speakup: introduce tty-based comms
Date: Wed, 15 Mar 2017 09:45:59 -0500	[thread overview]
Message-ID: <CAL_JsqJVfG2pFoNtj89e0E9OKye4wGEUi98NOnMBwNF+Yp-rPA@mail.gmail.com> (raw)
In-Reply-To: <20170314011814.p3t4zfcx3cxhgvwl@var.youpi.perso.aquilenet.fr>

On Mon, Mar 13, 2017 at 8:18 PM, Samuel Thibault
<samuel.thibault@ens-lyon.org> wrote:
> Samuel Thibault, on mar. 14 mars 2017 01:47:01 +0100, wrote:
>> Greg KH, on mar. 14 mars 2017 06:14:04 +0800, wrote:
>> > On Mon, Mar 13, 2017 at 10:05:51PM +0000, okash.khawaja@gmail.com wrote:
>> > > This patchset introduces a TTY-based way for the synths to communicate
>> > > with devices as an alternate for direct serial comms used by the synths
>> > > at the moment. It then migrates some of the synths to the TTY-based
>> > > comms. Synths migrated in this patchset are dummy, acntsa, bns and
>> > > txprt.
>> >
>> > What about using the serbus code that is now in the tree?  That should
>> > make this a lot easier than your patchset from what I can see.
>>
>> Mmm... AIUI from reading tty_port_register_device_attr, one
>> would have to have registered a speakup serdev device driver
>> *before* tty_port_register_device_attr gets called, so that
>> serdev_tty_port_register matches the driver in the loop of
>> of_serdev_register_devices, and no TTY cdev is created?

Not exactly. The driver doesn't have to be registered nor loaded, but
the device does have to be present so no tty cdev is created. The only
way a device is present currently is when a node is in the DT. I
expect the x86 folks will be adding ACPI support soon.

>> That would mean that speakup can not be loaded as a module after ttyS0
>> initialization, that won't fly for our use needs. The line discipline
>> mechanism allows us to attach ourself to an existing tty.  Could we
>> imagine a tty_port function which removes the cdev and tries to register
>> the tty port again to serdev?
>>
>> What we basically need to be able to say on speakup module load is
>> e.g. "I'm now attaching a device to ttyS0, use this serdev_device_ops to
>> discuss with it".
>
> That for_each_available_child_of_node loop is really way more complex
> than what we need.  And what's more, it's not working without CONFIG_OF
> (!)
>
> It would really make sense to me to have a
>
> serdev_device *tty_port_register_serdev_device(tty, device)
>
> which unregisters the character device of the tty, and creates instead a
> controler with the given device plugged to it. Really much like a line
> discipline, but way simpler :)

What would trigger calling this function? I could imagine people
wanting to do DT overlays to add a device which could trigger it. Or
did you have some other mechanism in mind.

>
> The issue that remains is the "tty" part: we'd need there the tty_port,
> the parent device, the tty driver, the idx. All we know when we load
> speakup is "ttyS0". That's where going through the cdev to attach a line
> discipline was simpler :)
>
> Samuel

  reply	other threads:[~2017-03-15 14:46 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-13 22:05 [patch 0/7] staging: speakup: introduce tty-based comms okash.khawaja
2017-03-13 22:05 ` [patch 1/7] tty_port: allow a port to be opened with a tty that has no file handle okash.khawaja
2017-03-13 22:12   ` Greg Kroah-Hartman
2017-03-13 22:38     ` Okash Khawaja
2017-03-14  9:14   ` Dan Carpenter
2017-03-13 22:05 ` [patch 2/7] staging: speakup: spk_serial_out and spk_wait_for_xmitr to take synth arg okash.khawaja
2017-03-13 22:05 ` [patch 3/7] staging: serial: add spk_io_ops struct to spk_synth okash.khawaja
2017-03-13 22:05 ` [patch 4/7] staging: speakup: move spk_stop_serial_interrupt into synth-specific release function okash.khawaja
2017-03-13 22:05 ` [patch 5/7] staging: speakup: move those functions which do outgoing serial comms, into serialio.c okash.khawaja
2017-03-13 22:05 ` [patch 6/7] staging: speakup: add tty-based comms functions okash.khawaja
2017-03-13 22:05 ` [patch 7/7] staging: speakup: migrate acntsa, bns, dummy and txprt to ttyio okash.khawaja
2017-03-13 22:14 ` [patch 0/7] staging: speakup: introduce tty-based comms Greg Kroah-Hartman
2017-03-13 22:26   ` Samuel Thibault
2017-03-13 23:43     ` Greg Kroah-Hartman
2017-03-13 23:49       ` Samuel Thibault
2017-03-14  0:00     ` Samuel Thibault
2017-03-14  0:47   ` Samuel Thibault
2017-03-14  1:18     ` Samuel Thibault
2017-03-15 14:45       ` Rob Herring [this message]
2017-03-15 15:03         ` Samuel Thibault
2017-03-22  0:05           ` Samuel Thibault
2017-04-09 16:54             ` Okash Khawaja
2017-03-16  9:26     ` Samuel Thibault
2017-03-14  0:24 ` Samuel Thibault

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_JsqJVfG2pFoNtj89e0E9OKye4wGEUi98NOnMBwNF+Yp-rPA@mail.gmail.com \
    --to=robh@kernel.org \
    --cc=chris@the-brannons.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jslaby@suse.com \
    --cc=kirk@reisers.ca \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=okash.khawaja@gmail.com \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=speakup@linux-speakup.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 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).