Message ID | 20191218172009.8868-4-philmd@redhat.com |
---|---|
State | New |
Headers | show |
Series | chardev: Use QEMUChrEvent enum in IOEventHandler typedef | expand |
On Wed, 18 Dec 2019 18:19:58 +0100 Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > The Chardev events are listed in the QEMUChrEvent enum. To be > able to use this enum in the IOEventHandler typedef, we need to > explicit all the events ignored by this frontend, to silent the > following GCC warning: > > CC s390x-softmmu/hw/char/terminal3270.o > hw/char/terminal3270.c: In function ‘chr_event’: > hw/char/terminal3270.c:156:5: error: enumeration value ‘CHR_EVENT_BREAK’ not handled in switch [-Werror=switch] > 156 | switch (event) { > | ^~~~~~ > hw/char/terminal3270.c:156:5: error: enumeration value ‘CHR_EVENT_MUX_IN’ not handled in switch [-Werror=switch] > hw/char/terminal3270.c:156:5: error: enumeration value ‘CHR_EVENT_MUX_OUT’ not handled in switch [-Werror=switch] > cc1: all warnings being treated as errors > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > v2: Add all missing enums > > Cc: Cornelia Huck <cohuck@redhat.com> > Cc: Halil Pasic <pasic@linux.ibm.com> > Cc: Christian Borntraeger <borntraeger@de.ibm.com> > Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com> > Cc: Paolo Bonzini <pbonzini@redhat.com> > Cc: qemu-s390x@nongnu.org > --- > hw/char/terminal3270.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/hw/char/terminal3270.c b/hw/char/terminal3270.c > index 6859c1bcb2..2aab04fd4b 100644 > --- a/hw/char/terminal3270.c > +++ b/hw/char/terminal3270.c > @@ -166,6 +166,11 @@ static void chr_event(void *opaque, int event) > sch->curr_status.scsw.dstat = SCSW_DSTAT_DEVICE_END; > css_conditional_io_interrupt(sch); > break; > + case CHR_EVENT_BREAK: > + case CHR_EVENT_MUX_IN: > + case CHR_EVENT_MUX_OUT: > + /* Ignore */ > + break; > } > } > It indeed seems sane to ignore all of these. Reviewed-by: Cornelia Huck <cohuck@redhat.com>
diff --git a/hw/char/terminal3270.c b/hw/char/terminal3270.c index 6859c1bcb2..2aab04fd4b 100644 --- a/hw/char/terminal3270.c +++ b/hw/char/terminal3270.c @@ -166,6 +166,11 @@ static void chr_event(void *opaque, int event) sch->curr_status.scsw.dstat = SCSW_DSTAT_DEVICE_END; css_conditional_io_interrupt(sch); break; + case CHR_EVENT_BREAK: + case CHR_EVENT_MUX_IN: + case CHR_EVENT_MUX_OUT: + /* Ignore */ + break; } }
The Chardev events are listed in the QEMUChrEvent enum. To be able to use this enum in the IOEventHandler typedef, we need to explicit all the events ignored by this frontend, to silent the following GCC warning: CC s390x-softmmu/hw/char/terminal3270.o hw/char/terminal3270.c: In function ‘chr_event’: hw/char/terminal3270.c:156:5: error: enumeration value ‘CHR_EVENT_BREAK’ not handled in switch [-Werror=switch] 156 | switch (event) { | ^~~~~~ hw/char/terminal3270.c:156:5: error: enumeration value ‘CHR_EVENT_MUX_IN’ not handled in switch [-Werror=switch] hw/char/terminal3270.c:156:5: error: enumeration value ‘CHR_EVENT_MUX_OUT’ not handled in switch [-Werror=switch] cc1: all warnings being treated as errors Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- v2: Add all missing enums Cc: Cornelia Huck <cohuck@redhat.com> Cc: Halil Pasic <pasic@linux.ibm.com> Cc: Christian Borntraeger <borntraeger@de.ibm.com> Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: qemu-s390x@nongnu.org --- hw/char/terminal3270.c | 5 +++++ 1 file changed, 5 insertions(+)