[RFC PATCH v2 10/14] virtio-console: Explicit we ignore some QEMUChrEvent in IOEventHandler

Philippe Mathieu-Daudé posted 14 patches 6 years, 1 month ago
Maintainers: "Marc-André Lureau" <marcandre.lureau@redhat.com>, Andrzej Zaborowski <balrogg@gmail.com>, Christian Borntraeger <borntraeger@de.ibm.com>, Antony Pavlov <antonynpavlov@gmail.com>, Thomas Huth <huth@tuxfamily.org>, Markus Armbruster <armbru@redhat.com>, Li Zhijian <lizhijian@cn.fujitsu.com>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Laurent Vivier <lvivier@redhat.com>, Fabien Chouteau <chouteau@adacore.com>, Jason Wang <jasowang@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Gerd Hoffmann <kraxel@redhat.com>, Alistair Francis <alistair@alistair23.me>, "Gonglei (Arei)" <arei.gonglei@huawei.com>, KONRAD Frederic <frederic.konrad@adacore.com>, Aleksandar Markovic <amarkovic@wavecomp.com>, Aurelien Jarno <aurelien@aurel32.net>, Corey Minyard <minyard@acm.org>, Paul Burton <pburton@wavecomp.com>, Palmer Dabbelt <palmer@dabbelt.com>, Joel Stanley <joel@jms.id.au>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, Sagar Karandikar <sagark@eecs.berkeley.edu>, Michael Walle <michael@walle.cc>, "Michael S. Tsirkin" <mst@redhat.com>, Alberto Garcia <berto@igalia.com>, Kevin Wolf <kwolf@redhat.com>, Zhang Chen <chen.zhang@intel.com>, Max Reitz <mreitz@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com>, Halil Pasic <pasic@linux.ibm.com>, Igor Mitsyanko <i.mitsyanko@gmail.com>, Samuel Thibault <samuel.thibault@ens-lyon.org>, Amit Shah <amit@kernel.org>, "Alex Bennée" <alex.bennee@linaro.org>, Cornelia Huck <cohuck@redhat.com>, Peter Chubb <peter.chubb@nicta.com.au>, Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
[RFC PATCH v2 10/14] virtio-console: Explicit we ignore some QEMUChrEvent in IOEventHandler
Posted by Philippe Mathieu-Daudé 6 years, 1 month ago
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      hw/char/virtio-console.o
  hw/char/virtio-console.c: In function ‘chr_event’:
  hw/char/virtio-console.c:154:5: error: enumeration value ‘CHR_EVENT_BREAK’ not handled in switch [-Werror=switch]
    154 |     switch (event) {
        |     ^~~~~~
  hw/char/virtio-console.c:154:5: error: enumeration value ‘CHR_EVENT_MUX_IN’ not handled in switch [-Werror=switch]
  hw/char/virtio-console.c:154: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: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Laurent Vivier <lvivier@redhat.com>
Cc: Amit Shah <amit@kernel.org>
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/char/virtio-console.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c
index c13649f1ef..cbb304d270 100644
--- a/hw/char/virtio-console.c
+++ b/hw/char/virtio-console.c
@@ -162,6 +162,11 @@ static void chr_event(void *opaque, int event)
         }
         virtio_serial_close(port);
         break;
+    case CHR_EVENT_BREAK:
+    case CHR_EVENT_MUX_IN:
+    case CHR_EVENT_MUX_OUT:
+        /* Ignore */
+        break;
     }
 }
 
-- 
2.21.0


Re: [RFC PATCH v2 10/14] virtio-console: Explicit we ignore some QEMUChrEvent in IOEventHandler
Posted by Michael S. Tsirkin 6 years, 1 month ago
On Wed, Dec 18, 2019 at 06:20:05PM +0100, Philippe Mathieu-Daudé 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      hw/char/virtio-console.o
>   hw/char/virtio-console.c: In function ‘chr_event’:
>   hw/char/virtio-console.c:154:5: error: enumeration value ‘CHR_EVENT_BREAK’ not handled in switch [-Werror=switch]
>     154 |     switch (event) {
>         |     ^~~~~~
>   hw/char/virtio-console.c:154:5: error: enumeration value ‘CHR_EVENT_MUX_IN’ not handled in switch [-Werror=switch]
>   hw/char/virtio-console.c:154: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: "Michael S. Tsirkin" <mst@redhat.com>
> Cc: Laurent Vivier <lvivier@redhat.com>
> Cc: Amit Shah <amit@kernel.org>
> Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>

Acked-by: Michael S. Tsirkin <mst@redhat.com>

> ---
>  hw/char/virtio-console.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c
> index c13649f1ef..cbb304d270 100644
> --- a/hw/char/virtio-console.c
> +++ b/hw/char/virtio-console.c
> @@ -162,6 +162,11 @@ static void chr_event(void *opaque, int event)
>          }
>          virtio_serial_close(port);
>          break;
> +    case CHR_EVENT_BREAK:
> +    case CHR_EVENT_MUX_IN:
> +    case CHR_EVENT_MUX_OUT:
> +        /* Ignore */
> +        break;
>      }
>  }
>  
> -- 
> 2.21.0