[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 1/7] console: add qemu_console_lookup_by_device_name |
Date: |
Fri, 15 Jan 2016 17:41:49 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Markus Armbruster <address@hidden> writes:
> Gerd Hoffmann <address@hidden> writes:
>
>> 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.
>
> "duplicate"
>
>>
>> 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);
>
> Peeking ahead in the series... okay, this is factored out of
> qemu_input_handler_bind() and vnc_display_open(), with the error message
> improved slightly.
>
> I'd squash PATCH 1-3 together, to make that more obvious.
And add a declaration to a suitable header :)
ui/input.c: In function ‘qemu_input_handler_bind’:
ui/input.c:87:11: warning: implicit declaration of function
‘qemu_console_lookup_by_device_name’ [-Wimplicit-function-declaration]
con = qemu_console_lookup_by_device_name(device_id, head, &err);
^