[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