Patchwork [3/9] chardev: reduce chardev ifdef mess a bit

login
register
mail settings
Submitter Gerd Hoffmann
Date Dec. 19, 2012, 3:59 p.m.
Message ID <1355932747-1755-4-git-send-email-kraxel@redhat.com>
Download mbox | patch
Permalink /patch/207446/
State New
Headers show

Comments

Gerd Hoffmann - Dec. 19, 2012, 3:59 p.m.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 qemu-char.c |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)
Blue Swirl - Dec. 19, 2012, 8:04 p.m.
On Wed, Dec 19, 2012 at 3:59 PM, Gerd Hoffmann <kraxel@redhat.com> wrote:
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  qemu-char.c |   22 +++++++++++-----------
>  1 files changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/qemu-char.c b/qemu-char.c
> index 9bb3a6b..208c525 100644
> --- a/qemu-char.c
> +++ b/qemu-char.c
> @@ -853,6 +853,8 @@ static void cfmakeraw (struct termios *termios_p)
>      || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) \
>      || defined(__GLIBC__)
>
> +#define HAVE_CHARDEV_TTY 1

Perhaps the next step should be configure generating these #defines.

> +
>  typedef struct {
>      int fd;
>      int connected;
> @@ -1234,14 +1236,12 @@ static CharDriverState *qemu_chr_open_tty(QemuOpts *opts)
>      chr->chr_close = qemu_chr_close_tty;
>      return chr;
>  }
> -#else  /* ! __linux__ && ! __sun__ */
> -static CharDriverState *qemu_chr_open_pty(QemuOpts *opts)
> -{
> -    return NULL;
> -}
>  #endif /* __linux__ || __sun__ */
>
>  #if defined(__linux__)
> +
> +#define HAVE_CHARDEV_PARPORT 1
> +
>  typedef struct {
>      int fd;
>      int mode;
> @@ -1385,6 +1385,9 @@ static CharDriverState *qemu_chr_open_pp(QemuOpts *opts)
>  #endif /* __linux__ */
>
>  #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
> +
> +#define HAVE_CHARDEV_PARPORT 1
> +
>  static int pp_ioctl(CharDriverState *chr, int cmd, void *arg)
>  {
>      int fd = (int)(intptr_t)chr->opaque;
> @@ -2745,19 +2748,16 @@ static const struct {
>  #else
>      { .name = "file",      .open = qemu_chr_open_file_out },
>      { .name = "pipe",      .open = qemu_chr_open_pipe },
> -    { .name = "pty",       .open = qemu_chr_open_pty },
>      { .name = "stdio",     .open = qemu_chr_open_stdio },
>  #endif
>  #ifdef CONFIG_BRLAPI
>      { .name = "braille",   .open = chr_baum_init },
>  #endif
> -#if defined(__linux__) || defined(__sun__) || defined(__FreeBSD__) \
> -    || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) \
> -    || defined(__FreeBSD_kernel__)
> +#ifdef HAVE_CHARDEV_TTY
>      { .name = "tty",       .open = qemu_chr_open_tty },
> +    { .name = "pty",       .open = qemu_chr_open_pty },
>  #endif
> -#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) \
> -    || defined(__FreeBSD_kernel__)
> +#ifdef HAVE_CHARDEV_PARPORT
>      { .name = "parport",   .open = qemu_chr_open_pp },
>  #endif
>  #ifdef CONFIG_SPICE
> --
> 1.7.1
>
>

Patch

diff --git a/qemu-char.c b/qemu-char.c
index 9bb3a6b..208c525 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -853,6 +853,8 @@  static void cfmakeraw (struct termios *termios_p)
     || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) \
     || defined(__GLIBC__)
 
+#define HAVE_CHARDEV_TTY 1
+
 typedef struct {
     int fd;
     int connected;
@@ -1234,14 +1236,12 @@  static CharDriverState *qemu_chr_open_tty(QemuOpts *opts)
     chr->chr_close = qemu_chr_close_tty;
     return chr;
 }
-#else  /* ! __linux__ && ! __sun__ */
-static CharDriverState *qemu_chr_open_pty(QemuOpts *opts)
-{
-    return NULL;
-}
 #endif /* __linux__ || __sun__ */
 
 #if defined(__linux__)
+
+#define HAVE_CHARDEV_PARPORT 1
+
 typedef struct {
     int fd;
     int mode;
@@ -1385,6 +1385,9 @@  static CharDriverState *qemu_chr_open_pp(QemuOpts *opts)
 #endif /* __linux__ */
 
 #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
+
+#define HAVE_CHARDEV_PARPORT 1
+
 static int pp_ioctl(CharDriverState *chr, int cmd, void *arg)
 {
     int fd = (int)(intptr_t)chr->opaque;
@@ -2745,19 +2748,16 @@  static const struct {
 #else
     { .name = "file",      .open = qemu_chr_open_file_out },
     { .name = "pipe",      .open = qemu_chr_open_pipe },
-    { .name = "pty",       .open = qemu_chr_open_pty },
     { .name = "stdio",     .open = qemu_chr_open_stdio },
 #endif
 #ifdef CONFIG_BRLAPI
     { .name = "braille",   .open = chr_baum_init },
 #endif
-#if defined(__linux__) || defined(__sun__) || defined(__FreeBSD__) \
-    || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) \
-    || defined(__FreeBSD_kernel__)
+#ifdef HAVE_CHARDEV_TTY
     { .name = "tty",       .open = qemu_chr_open_tty },
+    { .name = "pty",       .open = qemu_chr_open_pty },
 #endif
-#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) \
-    || defined(__FreeBSD_kernel__)
+#ifdef HAVE_CHARDEV_PARPORT
     { .name = "parport",   .open = qemu_chr_open_pp },
 #endif
 #ifdef CONFIG_SPICE