[PATCH 0/5] staging: speakup: replace serial comms with tty io

Samuel Thibault samuel.thibault at ens-lyon.org
Mon Feb 13 08:41:04 EST 2017


Okash Khawaja, on Mon 13 Feb 2017 13:12:57 +0000, wrote:
> > On 9 Feb 2017, at 10:20, Samuel Thibault <samuel.thibault at ens-lyon.org> wrote:
> > Okash Khawaja, on Wed 08 Feb 2017 22:43:07 +0000, wrote:
> >> Please test what you can.
> > 
> > I'd say you should also add to your series a patch which migrates all
> > drivers for which it makes sense (no use of serial input, no internal
> > port knocking),
> 
> Can you briefly explain internal port knocking in speakup? Are these the synths which use synth_portlist array?

They are often called somethingpc, for instance acntpc. You can see
there that it uses in/out calls (inb, inw, outb, outw). They may indeed
use their own synth_portlist to provide non-standard adresses to use,
but that's not necessarily the case.

I can see at least acntpc, apollo, audptr, decext, decpc, dtlk, keypc,
spkout which seem to be using them. You can find just a little more
information on these in speakup/doc/spkguide.txt and.

For the pc ones, I'm not surprised. For decext for instance, it's
more surprising: AIUI it's an external device. It probably just needs
to be migrated to using spk_serial_in_nowait. apollo seems to be
manipulating the modem control lines (DTR and RTS), we'd need to add
serialio/ttyio methods for that too.  I'm also noticing that there is a
spk_serial_tx_busy() macro that some are using. That will perhaps need
to be replaced by some tty ops, depending whether the models which are
behind are actually external or internal.  In all cases, ideally you'd
find a user on this list that could test patches. Personally, I can only
test the ltlk driver, which doesn't seem to need patching.

So, to sum it up, I'd say for now make your patch migrate the drivers
which are know not to use inb/inw/outb/outw*, spk_serial_tx_busy,
spk_serial_in*.

Then for those drivers which do use them, ask on this list whether
people have them to test patches to make them migrate to proper
serialio/ttyio methods, each of them needing careful inspection of what
it is actually doing. But that can be done later; at least having a
first list of drivers migrated will be plenty.

Samuel


More information about the Speakup mailing list