[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name |
Date: |
Tue, 12 Jan 2016 13:29:33 +0100 |
We have two places needing this, and a third one will come shortly.
So create a helper function for that so we don't diplicate code.
Signed-off-by: Gerd Hoffmann <address@hidden>
---
include/ui/console.h | 2 ++
ui/console.c | 23 +++++++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/include/ui/console.h b/include/ui/console.h
index adac36d..bbc3b7c 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -377,6 +377,8 @@ void graphic_hw_text_update(QemuConsole *con, console_ch_t
*chardata);
QemuConsole *qemu_console_lookup_by_index(unsigned int index);
QemuConsole *qemu_console_lookup_by_device(DeviceState *dev, uint32_t head);
+QemuConsole *qemu_console_lookup_by_device_name(const char *device_id,
+ uint32_t head, Error **errp);
bool qemu_console_is_visible(QemuConsole *con);
bool qemu_console_is_graphic(QemuConsole *con);
bool qemu_console_is_fixedsize(QemuConsole *con);
diff --git a/ui/console.c b/ui/console.c
index 4b65c34..ddaa165 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -1779,6 +1779,29 @@ QemuConsole *qemu_console_lookup_by_device(DeviceState
*dev, uint32_t head)
return NULL;
}
+QemuConsole *qemu_console_lookup_by_device_name(const char *device_id,
+ uint32_t head, Error **errp)
+{
+ DeviceState *dev;
+ QemuConsole *con;
+
+ dev = qdev_find_recursive(sysbus_get_default(), device_id);
+ if (dev == NULL) {
+ error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
+ "Device '%s' not found", device_id);
+ return NULL;
+ }
+
+ con = qemu_console_lookup_by_device(dev, head);
+ if (con == NULL) {
+ error_setg(errp, "Device %s (head %d) is not bound to a QemuConsole",
+ device_id, head);
+ return NULL;
+ }
+
+ return con;
+}
+
bool qemu_console_is_visible(QemuConsole *con)
{
return (con == active_console) || (con->dcls > 0);
--
1.8.3.1
- [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name,
Gerd Hoffmann <=