Move interrupt lock to device context and expose only this structure to
the read, write and set attributes device handler. This makes these
device handler independent of the general Termios infrastructure
suitable for direct use in printk() support.
Add a new low-level device API to Termios that passes the TTY structure
to the low-level device functions. This greatly simplifies the
low-level device drivers since they are no longer forced to derive their
private data from the minor number.
It makes it possible to use the TTY low-level lock in the device driver
low-level functions which is necessary for proper SMP support. For
example to set the attributes it is often necessary to perform a
read-modify-write operation on a control register used also by interrupt
routines.
A compatibility layer is provided to support device drivers using the
old callback functions so it is not necessary to modify existing device
drivers.
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
* termios01/init.c, termios01/termios01.scn, termios02/init.c,
termios02/termios02.scn: Add tests for cfigetspeed(), cfogetspeed(),
cfisetspeed(), cfosetspeed(), ctermid(), tcflow(), tcflush(),
tcsendbreak(), tcsetpgrp(), and tcgetpgrp(). Some of these methods
are minimal implementations so the tests will have to grow as the
methods grow.
* block01/init.c, block02/init.c, block03/init.c, block04/init.c,
block05/init.c, block07/init.c, bspcmdline01/init.c,
stringto01/init.c, stringto01/stringto_test_template.h,
termios01/init.c, termios01/termios_testdriver.c, termios02/init.c:
Use rtems_test_assert() consistently instead of system assert().
rtems_test_assert() is designed to integrate into the RTEMS test
suite infrastructure.
* Makefile.am, configure.ac, termios01/termios_testdriver.c: Do not use
CONSOLE_USE_INTERRUPTS. That is in use by BSPs and we should not use
it.
* termios02/.cvsignore, termios02/Makefile.am, termios02/init.c,
termios02/termios02.doc, termios02/termios02.scn: New files.
termios02 is a test for tcdrain().
* Makefile.am, configure.ac: Add new test to exercise tcgetattr and
tcsetattr. Does a variety of baud, parity, stop bits, and bits per
character with the assistance of a special test driver which prints
the requests.
* termios01/.cvsignore, termios01/Makefile.am, termios01/init.c,
termios01/termios01.doc, termios01/termios01.scn,
termios01/termios_testdriver.c, termios01/termios_testdriver.h: New files.