[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 2/2] monitor: add del completion for peripher
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH v3 2/2] monitor: add del completion for peripheral device |
Date: |
Thu, 16 Oct 2014 13:50:12 +0200 |
On Mon, 6 Oct 2014 19:38:44 +0800
Zhu Guihua <address@hidden> wrote:
> Add peripheral_device_del_completion() to let peripheral device del
> completion be possible.
>
> Signed-off-by: Zhu Guihua <address@hidden>
> ---
> monitor.c | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/monitor.c b/monitor.c
> index 667efb7..ffe5405 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -4351,6 +4351,29 @@ static void
> device_del_bus_completion(ReadLineState *rs, BusState *bus, }
> }
>
> +static void peripheral_device_del_completion(ReadLineState *rs,
> + const char *str, size_t
> len) +{
> + Object *peripheral;
> + GSList *list = NULL, *item;
> +
> + peripheral = object_resolve_path("/machine/peripheral/", NULL);
> +
pls remove unnecessary blank line
> + if (peripheral == NULL) {
> + return;
> + }
> +
> + object_child_foreach(peripheral,
> qdev_build_hotpluggable_device_list,
> + &list);
> +
> + for (item = list; item; item = g_slist_next(item)) {
> + DeviceState *dev = item->data;
add blank line here, pls.
> + if (!strncmp(str, dev->id, len)) {
> + readline_add_completion(rs, dev->id);
> + }
> + }
> +}
> +
> void chardev_remove_completion(ReadLineState *rs, int nb_args, const
> char *str) {
> size_t len;
> @@ -4424,6 +4447,7 @@ void device_del_completion(ReadLineState *rs,
> int nb_args, const char *str) len = strlen(str);
> readline_set_completion_index(rs, len);
> device_del_bus_completion(rs, sysbus_get_default(), str, len);
All ID-ed devices that might be available for removal are returned by
following line, so do we still need above recusive bus walker that
gathers duplicate devices from buses?
> + peripheral_device_del_completion(rs, str, len);
> }
>
> void object_del_completion(ReadLineState *rs, int nb_args, const
> char *str)