LKML Archive on
help / color / mirror / Atom feed
* inverse mapping from a struct console to device
@ 2015-01-26 19:40 Jon Masters
  2015-01-26 20:20 ` Greg KH
  2015-01-26 20:50 ` Mark Rutland
  0 siblings, 2 replies; 10+ messages in thread
From: Jon Masters @ 2015-01-26 19:40 UTC (permalink / raw)
  To: linux-kernel

Hi Folks,

TLDR: I need a back reference from a console struct to its device. I
can't see an easy way to do this right now without adding one?

I've a quick question. I have prototype code that parses an ACPI table
known as the SPCR (Serial Port Console Redirection - exists on both x86
and ARM systems). It finds the correct serial device (but it's not a
Linux specific DT-style solution so there's no "console=" parameter
embedded in it or something) to use for the preferred console (I have
effectively the device object connected with the acpi_handle of the
underlying serial device, which I map on by walking the ACPI namespace
down from the root until I find the _ADR of the specified SPCR address).

One of the problems that I have is that I want to make the decision
about whether a console should be automatically configured once we get
to register_console, because that's where the existing logic is, and
it's one path I can be sure everyone is going to call (serial drivers
have a number of different APIs that they use during registration).

Once I'm in register_console, I have only the console struct to play
with. I can get from that to the tty_driver (by walking the tty driver
list and finding the back reference), but that still doesn't give me
what I want. I can add a reference to the underlying device in one of
these structs, but I would like to have additional opinions before I go
and make something hackish folks will balk at later. So, am I missing
something obvious? I hope I am because this seems slightly weird.


P.S. I would love it if I could (for debug purposes only) just walk down
from the root of the kernel device hierarchy until I found a device that
had a resource matching the one I am looking for (you can do exactly
this in the ACPI namespace using exported methods), but the only code
that can do that today is unexported core core used during shutdown to
shutdown all devices recursively. Just a sidenote.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-01-29  1:34 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-26 19:40 inverse mapping from a struct console to device Jon Masters
2015-01-26 20:20 ` Greg KH
2015-01-27  3:16   ` Jon Masters
2015-01-26 20:50 ` Mark Rutland
2015-01-27  3:06   ` Jon Masters
2015-01-27 10:14     ` Mark Rutland
2015-01-27 11:54       ` Jon Masters
2015-01-27 12:30         ` Mark Rutland
2015-01-27 20:42           ` Jon Masters
2015-01-28 22:48             ` Peter Hurley

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).