Commit ce6f7d08 authored by Oleksandr Andrushchenko's avatar Oleksandr Andrushchenko Committed by Dmitry Torokhov

Input: xen-kbdfront - fix multi-touch XenStore node's locations

kbdif protocol describes multi-touch device parameters as a
part of frontend's XenBus configuration nodes while they
belong to backend's configuration. Fix this by reading the
parameters as defined by the protocol.

Fixes: 49aac820 ("Input: xen-kbdfront - add multi-touch support")
Signed-off-by: default avatarOleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent ce63b2c8
...@@ -229,7 +229,7 @@ static int xenkbd_probe(struct xenbus_device *dev, ...@@ -229,7 +229,7 @@ static int xenkbd_probe(struct xenbus_device *dev,
} }
} }
touch = xenbus_read_unsigned(dev->nodename, touch = xenbus_read_unsigned(dev->otherend,
XENKBD_FIELD_FEAT_MTOUCH, 0); XENKBD_FIELD_FEAT_MTOUCH, 0);
if (touch) { if (touch) {
ret = xenbus_write(XBT_NIL, dev->nodename, ret = xenbus_write(XBT_NIL, dev->nodename,
...@@ -304,13 +304,13 @@ static int xenkbd_probe(struct xenbus_device *dev, ...@@ -304,13 +304,13 @@ static int xenkbd_probe(struct xenbus_device *dev,
if (!mtouch) if (!mtouch)
goto error_nomem; goto error_nomem;
num_cont = xenbus_read_unsigned(info->xbdev->nodename, num_cont = xenbus_read_unsigned(info->xbdev->otherend,
XENKBD_FIELD_MT_NUM_CONTACTS, XENKBD_FIELD_MT_NUM_CONTACTS,
1); 1);
width = xenbus_read_unsigned(info->xbdev->nodename, width = xenbus_read_unsigned(info->xbdev->otherend,
XENKBD_FIELD_MT_WIDTH, XENKBD_FIELD_MT_WIDTH,
XENFB_WIDTH); XENFB_WIDTH);
height = xenbus_read_unsigned(info->xbdev->nodename, height = xenbus_read_unsigned(info->xbdev->otherend,
XENKBD_FIELD_MT_HEIGHT, XENKBD_FIELD_MT_HEIGHT,
XENFB_HEIGHT); XENFB_HEIGHT);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment