qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 3/3] ipoctal232: Convert to use chardev properti


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 3/3] ipoctal232: Convert to use chardev properties directly
Date: Wed, 27 Mar 2013 16:18:08 -0500
User-agent: Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu)

Hans de Goede <address@hidden> writes:

> Signed-off-by: Hans de Goede <address@hidden>
> Cc: Alberto Garcia <address@hidden>

I don't think this is a show stopper, but this is a compatibility
breaker, no?

We should be more up front about that and include release notes as
appropriate.

Signed-off-by: Anthony Liguori <address@hidden>

> ---
>  hw/ipoctal232.c | 43 ++++++++++++++-----------------------------
>  1 file changed, 14 insertions(+), 29 deletions(-)
>
> diff --git a/hw/ipoctal232.c b/hw/ipoctal232.c
> index 345efae..685fee2 100644
> --- a/hw/ipoctal232.c
> +++ b/hw/ipoctal232.c
> @@ -93,7 +93,6 @@ typedef struct SCC2698Block SCC2698Block;
>  struct SCC2698Channel {
>      IPOctalState *ipoctal;
>      CharDriverState *dev;
> -    char *devpath;
>      bool rx_enabled;
>      uint8_t mr[2];
>      uint8_t mr_idx;
> @@ -545,26 +544,12 @@ static int ipoctal_init(IPackDevice *ip)
>          ch->ipoctal = s;
>  
>          /* Redirect IP-Octal channels to host character devices */
> -        if (ch->devpath) {
> -            const char chr_name[] = "ipoctal";
> -            char label[ARRAY_SIZE(chr_name) + 2];
> -            static int index;
> -
> -            snprintf(label, sizeof(label), "%s%d", chr_name, index);
> -
> -            ch->dev = qemu_chr_new(label, ch->devpath, NULL);
> -
> -            if (ch->dev) {
> -                index++;
> -                qemu_chr_fe_claim_no_fail(ch->dev);
> -                qemu_chr_add_handlers(ch->dev, hostdev_can_receive,
> -                                      hostdev_receive, hostdev_event, ch);
> -                DPRINTF("Redirecting channel %u to %s (%s)\n",
> -                        i, ch->devpath, label);
> -            } else {
> -                DPRINTF("Could not redirect channel %u to %s\n",
> -                        i, ch->devpath);
> -            }
> +        if (ch->dev) {
> +            qemu_chr_add_handlers(ch->dev, hostdev_can_receive,
> +                                  hostdev_receive, hostdev_event, ch);
> +            DPRINTF("Redirecting channel %u to %s\n", i, ch->dev->label);
> +        } else {
> +            DPRINTF("Could not redirect channel %u, no chardev set\n", i);
>          }
>      }
>  
> @@ -572,14 +557,14 @@ static int ipoctal_init(IPackDevice *ip)
>  }
>  
>  static Property ipoctal_properties[] = {
> -    DEFINE_PROP_STRING("serial0", IPOctalState, ch[0].devpath),
> -    DEFINE_PROP_STRING("serial1", IPOctalState, ch[1].devpath),
> -    DEFINE_PROP_STRING("serial2", IPOctalState, ch[2].devpath),
> -    DEFINE_PROP_STRING("serial3", IPOctalState, ch[3].devpath),
> -    DEFINE_PROP_STRING("serial4", IPOctalState, ch[4].devpath),
> -    DEFINE_PROP_STRING("serial5", IPOctalState, ch[5].devpath),
> -    DEFINE_PROP_STRING("serial6", IPOctalState, ch[6].devpath),
> -    DEFINE_PROP_STRING("serial7", IPOctalState, ch[7].devpath),
> +    DEFINE_PROP_CHR("chardev0", IPOctalState, ch[0].dev),
> +    DEFINE_PROP_CHR("chardev1", IPOctalState, ch[1].dev),
> +    DEFINE_PROP_CHR("chardev2", IPOctalState, ch[2].dev),
> +    DEFINE_PROP_CHR("chardev3", IPOctalState, ch[3].dev),
> +    DEFINE_PROP_CHR("chardev4", IPOctalState, ch[4].dev),
> +    DEFINE_PROP_CHR("chardev5", IPOctalState, ch[5].dev),
> +    DEFINE_PROP_CHR("chardev6", IPOctalState, ch[6].dev),
> +    DEFINE_PROP_CHR("chardev7", IPOctalState, ch[7].dev),
>      DEFINE_PROP_END_OF_LIST(),
>  };
>  
> -- 
> 1.8.1.4



reply via email to

[Prev in Thread] Current Thread [Next in Thread]