On Mon, Oct 25, 2021 at 1:25 AM Markus Armbruster wrote: > Signed-off-by: Markus Armbruster > --- > include/qapi/qmp/dispatch.h | 1 - > monitor/misc.c | 3 +-- > scripts/qapi/commands.py | 5 +---- > 3 files changed, 2 insertions(+), 7 deletions(-) > > diff --git a/include/qapi/qmp/dispatch.h b/include/qapi/qmp/dispatch.h > index 075203dc67..0ce88200b9 100644 > --- a/include/qapi/qmp/dispatch.h > +++ b/include/qapi/qmp/dispatch.h > @@ -21,7 +21,6 @@ typedef void (QmpCommandFunc)(QDict *, QObject **, Error > **); > > typedef enum QmpCommandOptions > { > - QCO_NO_OPTIONS = 0x0, > QCO_NO_SUCCESS_RESP = (1U << 0), > QCO_ALLOW_OOB = (1U << 1), > QCO_ALLOW_PRECONFIG = (1U << 2), > diff --git a/monitor/misc.c b/monitor/misc.c > index ffe7966870..3556b177f6 100644 > --- a/monitor/misc.c > +++ b/monitor/misc.c > @@ -230,8 +230,7 @@ static void monitor_init_qmp_commands(void) > > qmp_init_marshal(&qmp_commands); > > - qmp_register_command(&qmp_commands, "device_add", qmp_device_add, > - QCO_NO_OPTIONS); > + qmp_register_command(&qmp_commands, "device_add", qmp_device_add, 0); > > QTAILQ_INIT(&qmp_cap_negotiation_commands); > qmp_register_command(&qmp_cap_negotiation_commands, > "qmp_capabilities", > diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py > index 3654825968..c8a975528f 100644 > --- a/scripts/qapi/commands.py > +++ b/scripts/qapi/commands.py > @@ -229,15 +229,12 @@ def gen_register_command(name: str, > if coroutine: > options += ['QCO_COROUTINE'] > > - if not options: > - options = ['QCO_NO_OPTIONS'] > - > ret = mcgen(''' > qmp_register_command(cmds, "%(name)s", > qmp_marshal_%(c_name)s, %(opts)s); > ''', > name=name, c_name=c_name(name), > - opts=" | ".join(options)) > + opts=' | '.join(options) or 0) > return ret > > > I'm not a big fan of naked constants on the C side, but the generator simplification is nice. I suppose it's worth the trade-off if you like it better this way. "eh". Reviewed-by: John Snow