console-server: Enable multiple consoles
obmc-console can now support multiple consoles that can be configured.
The first console is the active console, if not configured otherwise.
This serves as preparation for uart mux support.
Change-Id: I6f350b8efe70c3b424bdadaa3fe1bbf89d310e5d
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
diff --git a/console-server.h b/console-server.h
index 5213dd0..7c2e711 100644
--- a/console-server.h
+++ b/console-server.h
@@ -124,7 +124,18 @@
// index into pollfds
size_t tty_pollfd_index;
+ struct config *config;
+
+ // the currently active console
struct console *active;
+
+ struct console **consoles;
+ size_t n_consoles;
+
+ // index into (struct console_server)->pollfds
+ size_t dbus_pollfd_index;
+
+ struct sd_bus *bus;
};
struct console {
@@ -145,11 +156,6 @@
struct poller **pollers;
long n_pollers;
-
- // index into (struct console_server)->pollfds
- size_t dbus_pollfd_index;
-
- struct sd_bus *bus;
};
/* poller API */
@@ -240,6 +246,10 @@
/* utils */
int write_buf_to_fd(int fd, const uint8_t *buf, size_t len);
+/* console_server dbus */
+int dbus_server_init(struct console_server *server);
+void dbus_server_fini(struct console_server *server);
+
/* console-dbus API */
int dbus_init(struct console *console,
struct config *config __attribute__((unused)));