Another question, what is the purpose of tty_port->console?
It seems to have no user.
So the tty_port layer can in future know about whether it is a console
without a tty necessarily being present or referenceable.
Is tty_port really the right thing for a console driver like in the UML
case?
It will be. In order to fix the tty locking mess we need to shove a lot
of stuff whose lifetime is the lifetime of the physical port somewhere
else - the tty_port is that structure.