xen: make use of xenbus_read_unsigned() in xen-kbdfront
authorJuergen Gross <jgross@suse.com>
Mon, 31 Oct 2016 13:58:40 +0000 (14:58 +0100)
committerJuergen Gross <jgross@suse.com>
Mon, 7 Nov 2016 12:55:20 +0000 (13:55 +0100)
Use xenbus_read_unsigned() instead of xenbus_scanf() when possible.
This requires to change the type of the reads from int to unsigned,
but these cases have been wrong before: negative values are not allowed
for the modified cases.

Cc: dmitry.torokhov@gmail.com
Cc: linux-input@vger.kernel.org
Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: David Vrabel <david.vrabel@citrix.com>
drivers/input/misc/xen-kbdfront.c

index 227fbd2dbb71c2d6350773d78fb1be93103673f9..3900875dec1051aa494fcfe4879fe685885111a8 100644 (file)
@@ -108,7 +108,8 @@ static irqreturn_t input_handler(int rq, void *dev_id)
 static int xenkbd_probe(struct xenbus_device *dev,
                                  const struct xenbus_device_id *id)
 {
-       int ret, i, abs;
+       int ret, i;
+       unsigned int abs;
        struct xenkbd_info *info;
        struct input_dev *kbd, *ptr;
 
@@ -127,8 +128,7 @@ static int xenkbd_probe(struct xenbus_device *dev,
        if (!info->page)
                goto error_nomem;
 
-       if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-abs-pointer", "%d", &abs) < 0)
-               abs = 0;
+       abs = xenbus_read_unsigned(dev->otherend, "feature-abs-pointer", 0);
        if (abs) {
                ret = xenbus_write(XBT_NIL, dev->nodename,
                                   "request-abs-pointer", "1");
@@ -322,11 +322,8 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
 
        case XenbusStateInitWait:
 InitWait:
-               ret = xenbus_scanf(XBT_NIL, info->xbdev->otherend,
-                                  "feature-abs-pointer", "%d", &val);
-               if (ret < 0)
-                       val = 0;
-               if (val) {
+               if (xenbus_read_unsigned(info->xbdev->otherend,
+                                        "feature-abs-pointer", 0)) {
                        ret = xenbus_write(XBT_NIL, info->xbdev->nodename,
                                           "request-abs-pointer", "1");
                        if (ret)