Re: [PATCH 06/10] libxl: add tablet/mouse input device support

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

 



On Wed, Feb 18, 2015 at 08:22:12PM -0700, Jim Fehlig wrote:
> Marek Marczykowski-Górecki wrote:
> > Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
> > ---
> > Changes in v2:
> >  - rebase on 1.2.12+
> >  - multiple devices support
> >
> >  src/libxl/libxl_conf.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 48 insertions(+)
> >
> > diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
> > index 4730585..b1131ea 100644
> > --- a/src/libxl/libxl_conf.c
> > +++ b/src/libxl/libxl_conf.c
> > @@ -815,6 +815,54 @@ libxlMakeDomBuildInfo(virDomainDefPtr def,
> >              }
> >          }
> >  
> > +        if (def->ninputs) {
> > +#ifdef LIBXL_HAVE_BUILDINFO_USBDEVICE_LIST
> > +            if (VIR_ALLOC_N(b_info->u.hvm.usbdevice_list, def->ninputs+1) < 0)
> > +                return -1;
> > +#else
> > +            if (def->ninputs > 1) {
> > +                virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> > +                        _("libxenlight supports only one input device"));
> > +                return -1;
> > +            }
> > +#endif
> > +            for (i = 0; i < def->ninputs; i++) {
> > +                if (def->inputs[i]->bus != VIR_DOMAIN_INPUT_BUS_USB) {
> > +                    virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> > +                            _("libxenlight supports only USB input"));
> > +                    return -1;
> > +                }
> > +            }
> >   
> > +            for (i = 0; i < def->ninputs; i++) {
> > +                switch (def->inputs[i]->type) {
> > +                    case VIR_DOMAIN_INPUT_TYPE_MOUSE:
> > +#ifdef LIBXL_HAVE_BUILDINFO_USBDEVICE_LIST
> > +                        if (VIR_STRDUP(b_info->u.hvm.usbdevice_list[i], "mouse") < 0)
> > +                            return -1;
> > +#else
> > +                        VIR_FREE(b_info->u.hvm.usbdevice);
> > +                        if (VIR_STRDUP(b_info->u.hvm.usbdevice, "mouse") < 0)
> > +                            return -1;
> > +#endif
> > +                        break;
> > +                    case VIR_DOMAIN_INPUT_TYPE_TABLET:
> > +#ifdef LIBXL_HAVE_BUILDINFO_USBDEVICE_LIST
> > +                        if (VIR_STRDUP(b_info->u.hvm.usbdevice_list[i], "tablet") < 0)
> > +                            return -1;
> > +#else
> > +                        VIR_FREE(b_info->u.hvm.usbdevice);
> > +                        if (VIR_STRDUP(b_info->u.hvm.usbdevice, "tablet") < 0)
> > +                            return -1;
> > +#endif
> >   
> 
> One of the #ifdef could be dropped with something like
> 
> for (i=0; i < def->ninputs; i++) {
>     char *temp;
> #ifdef LIBXL_HAVE_BUILDINFO_USBDEVICE_LIST
>     temp = b_info->u.hvm.usbdevice_list[i];
> #else
>     temp = b_info->u.hvm.usbdevice;
> #endif
>     ...
>     VIR_STRDUP(temp, "mouse");
>     ...
> }

I'll send v3 in a moment...

> Also, could you look into adding support for usbdevice_list to the
> parsing/formating code in src/xenconfig?

...together with additional patches for this.

-- 
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Attachment: pgpYRJQjLBkb3.pgp
Description: PGP signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]