Thread (39 messages) 39 messages, 2 authors, 2009-12-15

Re: [PATCH 07/28] virtio: console: don't assume a single console port.

From: Rusty Russell <hidden>
Date: 2009-11-30 01:50:02

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help