qemu-devel
[Top][All Lists]
Advanced

[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:22:11 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]