From 318660f84a0a26451750aee68ab7dcf88731637d Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Thu, 5 Mar 2015 17:24:48 +0100 Subject: monitor: Use traditional command interface for HMP device_add All QMP commands use the "new" handler interface (mhandler.cmd_new). Most HMP commands still use the traditional interface (mhandler.cmd), but a few use the "new" one. Complicates handle_user_command() for no gain, so I'm converting these to the traditional interface. For device_add, that's easy: just wrap the obvious hmp_device_add() around do_device_add(). monitor_user_noop() is now unused, drop it. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Luiz Capitulino --- hmp-commands.hx | 3 +-- hmp.c | 6 ++++++ hmp.h | 1 + monitor.c | 2 -- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/hmp-commands.hx b/hmp-commands.hx index 52579698af..eff2f976d3 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -653,8 +653,7 @@ ETEXI .args_type = "device:O", .params = "driver[,prop=value][,...]", .help = "add device, like -device on the command line", - .user_print = monitor_user_noop, - .mhandler.cmd_new = do_device_add, + .mhandler.cmd = hmp_device_add, .command_completion = device_add_completion, }, diff --git a/hmp.c b/hmp.c index 5a43f9d2bd..514f22fbfa 100644 --- a/hmp.c +++ b/hmp.c @@ -22,6 +22,7 @@ #include "qmp-commands.h" #include "qemu/sockets.h" #include "monitor/monitor.h" +#include "monitor/qdev.h" #include "qapi/opts-visitor.h" #include "qapi/string-output-visitor.h" #include "qapi-visit.h" @@ -1499,6 +1500,11 @@ void hmp_migrate(Monitor *mon, const QDict *qdict) } } +void hmp_device_add(Monitor *mon, const QDict *qdict) +{ + do_device_add(mon, qdict, NULL); +} + void hmp_device_del(Monitor *mon, const QDict *qdict) { const char *id = qdict_get_str(qdict, "id"); diff --git a/hmp.h b/hmp.h index b81439cc3c..a70ac4fd0f 100644 --- a/hmp.h +++ b/hmp.h @@ -80,6 +80,7 @@ void hmp_block_job_pause(Monitor *mon, const QDict *qdict); void hmp_block_job_resume(Monitor *mon, const QDict *qdict); void hmp_block_job_complete(Monitor *mon, const QDict *qdict); void hmp_migrate(Monitor *mon, const QDict *qdict); +void hmp_device_add(Monitor *mon, const QDict *qdict); void hmp_device_del(Monitor *mon, const QDict *qdict); void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict); void hmp_netdev_add(Monitor *mon, const QDict *qdict); diff --git a/monitor.c b/monitor.c index 38ff972755..85bb71ed6f 100644 --- a/monitor.c +++ b/monitor.c @@ -378,8 +378,6 @@ static int GCC_FMT_ATTR(2, 3) monitor_fprintf(FILE *stream, return 0; } -static void monitor_user_noop(Monitor *mon, const QObject *data) { } - static inline int handler_is_qobject(const mon_cmd_t *cmd) { return cmd->user_print != NULL; -- cgit v1.2.1