|
@@ -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)
|