On Sat, 28 Nov 2009 05:20:30 pm Amit Shah wrote:
> Keep a list of all ports being used as a console, and provide a lock
> and a lookup function. The hvc callbacks only give us a vterm number,
> so we need to map this.
OK, I think we can do better than this.
How about we introduce a 'struct console_port', like so:
/* A port which is used as a console. */
struct console_port {
struct port port;
u32 vtermno;
struct list_head list;
};
static DEFINE_SPINLOCK(console_lock);
static LIST_HEAD(consoles);
ie. now we have nicely partitioned off the console-specific parts, and
can use ->port and container_of() to get from this to a generic port and
vice-versa.
It will make allocations a little more complex, since we need to allocate
a 'struct console_port' or a 'struct port' depending on what we want, but the
rest should be significantly cleaner.
Thanks,
Rusty.
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization