linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/3] Input: xen-kbdfront - allow better run-time configuration
@ 2018-06-12  7:48 Oleksandr Andrushchenko
  2018-06-12  7:48 ` [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen Oleksandr Andrushchenko
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Oleksandr Andrushchenko @ 2018-06-12  7:48 UTC (permalink / raw)
  To: xen-devel, linux-input, linux-kernel, dmitry.torokhov, jgross,
	lyan, boris.ostrovsky
  Cc: konrad.wilk, andr2000, andrii_chepurnyi, Oleksandr Andrushchenko

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Hi, all!

This patch series synchronizes Xen canonical protocol definitions
which allow the last two patches in the series to update Xen
kbdfront driver with a fix and v5 of the patch to allow better
run-time configuration for xen-kbdfront.

As xen-kbdfront patches rely on protocol changes from patch 1 I am
sending these all together: Boris, Juergen, if you and Dmitry do not
mind, can we have patch 1 applied through Dmitry's tree?

Thank you,
Oleksandr

Changes since v4:
- Added required changes to Xen protocols
- Added a fix for multi-touch XenStore node's locations
- No changes to "Input: xen-kbdfront - allow better run-time
  configuration"

Changes since v3:
- do not connect backend if all virtual devices are disabled (Dmitry)

Changes since v2:
- based on XenStore kbdif features to control which devices are
  exposed instead of module parameters.

Oleksandr Andrushchenko (3):
  xen: Sync up with the canonical protocol definitions in Xen
  Input: xen-kbdfront - fix multi-touch XenStore node's locations
  Input: xen-kbdfront - allow better run-time configuration

 drivers/input/misc/xen-kbdfront.c  | 183 +++++++++++++++++------------
 include/xen/interface/io/displif.h |   8 ++
 include/xen/interface/io/kbdif.h   |  78 +++++++++---
 include/xen/interface/io/sndif.h   |  10 +-
 4 files changed, 180 insertions(+), 99 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen
  2018-06-12  7:48 [PATCH v5 0/3] Input: xen-kbdfront - allow better run-time configuration Oleksandr Andrushchenko
@ 2018-06-12  7:48 ` Oleksandr Andrushchenko
  2018-06-12 13:46   ` Juergen Gross
  2018-06-12  7:48 ` [PATCH v5 2/3] Input: xen-kbdfront - fix multi-touch XenStore node's locations Oleksandr Andrushchenko
  2018-06-12  7:48 ` [PATCH v5 3/3] Input: xen-kbdfront - allow better run-time configuration Oleksandr Andrushchenko
  2 siblings, 1 reply; 18+ messages in thread
From: Oleksandr Andrushchenko @ 2018-06-12  7:48 UTC (permalink / raw)
  To: xen-devel, linux-input, linux-kernel, dmitry.torokhov, jgross,
	lyan, boris.ostrovsky
  Cc: konrad.wilk, andr2000, andrii_chepurnyi, Oleksandr Andrushchenko

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

This is the sync up with the canonical definitions of the input,
sound and display protocols in Xen.

Changes to kbdif:
1. Add missing string constants for {feature|request}-raw-pointer
   to align with the rest of the interface file.

2. Add new XenStore feature fields, so it is possible to individually
   control set of exposed virtual devices for each guest OS:
     - set feature-disable-keyboard to 1 if no keyboard device needs
       to be created
     - set feature-disable-pointer to 1 if no pointer device needs
       to be created

3. Move multi-touch device parameters to backend nodes: these are
    described as a part of frontend's XenBus configuration nodes
    while they belong to backend's configuration. Fix this by moving
    the parameters to the proper section.

Unique-id field:
1. Add unique-id XenBus entry for virtual input and display.

2. Change type of unique-id field to string for sndif to align with
display and input protocols.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 include/xen/interface/io/displif.h |  8 +++
 include/xen/interface/io/kbdif.h   | 78 ++++++++++++++++++++++--------
 include/xen/interface/io/sndif.h   | 10 ++--
 3 files changed, 71 insertions(+), 25 deletions(-)

diff --git a/include/xen/interface/io/displif.h b/include/xen/interface/io/displif.h
index 596578d9be3e..fdc279dc4a88 100644
--- a/include/xen/interface/io/displif.h
+++ b/include/xen/interface/io/displif.h
@@ -189,6 +189,13 @@
  *
  *----------------------------- Connector settings ----------------------------
  *
+ * unique-id
+ *      Values:         <string>
+ *
+ *      After device instance initialization each connector is assigned a
+ *      unique ID, so it can be identified by the backend by this ID.
+ *      This can be UUID or such.
+ *
  * resolution
  *      Values:         <width, uint32_t>x<height, uint32_t>
  *
@@ -368,6 +375,7 @@
 #define XENDISPL_FIELD_EVT_CHANNEL	"evt-event-channel"
 #define XENDISPL_FIELD_RESOLUTION	"resolution"
 #define XENDISPL_FIELD_BE_ALLOC		"be-alloc"
+#define XENDISPL_FIELD_UNIQUE_ID	"unique-id"
 
 /*
  ******************************************************************************
diff --git a/include/xen/interface/io/kbdif.h b/include/xen/interface/io/kbdif.h
index 2a9510ade701..b4439cf48220 100644
--- a/include/xen/interface/io/kbdif.h
+++ b/include/xen/interface/io/kbdif.h
@@ -51,6 +51,18 @@
  * corresponding entries in XenStore and puts 1 as the value of the entry.
  * If a feature is not supported then 0 must be set or feature entry omitted.
  *
+ * feature-disable-keyboard
+ *      Values:         <uint>
+ *
+ *      If there is no need to expose a virtual keyboard device by the
+ *      frontend then this must be set to 1.
+ *
+ * feature-disable-pointer
+ *      Values:         <uint>
+ *
+ *      If there is no need to expose a virtual pointer device by the
+ *      frontend then this must be set to 1.
+ *
  * feature-abs-pointer
  *      Values:         <uint>
  *
@@ -63,6 +75,22 @@
  *      Backends, which support reporting of multi-touch events
  *      should set this to 1.
  *
+ * feature-raw-pointer
+ *      Values:        <uint>
+ *
+ *      Backends, which support reporting raw (unscaled) absolute coordinates
+ *      for pointer devices should set this to 1. Raw (unscaled) values have
+ *      a range of [0, 0x7fff].
+ *
+ *-----------------------  Device Instance Parameters ------------------------
+ *
+ * unique-id
+ *      Values:         <string>
+ *
+ *      After device instance initialization it is assigned a unique ID,
+ *      so every instance of the frontend can be identified by the backend
+ *      by this ID. This can be UUID or such.
+ *
  *------------------------- Pointer Device Parameters ------------------------
  *
  * width
@@ -77,6 +105,25 @@
  *      Maximum Y coordinate (height) to be used by the frontend
  *      while reporting input events, pixels, [0; UINT32_MAX].
  *
+ *----------------------- Multi-touch Device Parameters ----------------------
+ *
+ * multi-touch-num-contacts
+ *      Values:         <uint>
+ *
+ *      Number of simultaneous touches reported.
+ *
+ * multi-touch-width
+ *      Values:         <uint>
+ *
+ *      Width of the touch area to be used by the frontend
+ *      while reporting input events, pixels, [0; UINT32_MAX].
+ *
+ * multi-touch-height
+ *      Values:         <uint>
+ *
+ *      Height of the touch area to be used by the frontend
+ *      while reporting input events, pixels, [0; UINT32_MAX].
+ *
  *****************************************************************************
  *                            Frontend XenBus Nodes
  *****************************************************************************
@@ -98,6 +145,13 @@
  *
  *      Request backend to report multi-touch events.
  *
+ * request-raw-pointer
+ *      Values:         <uint>
+ *
+ *      Request backend to report raw unscaled absolute pointer coordinates.
+ *      This option is only valid if request-abs-pointer is also set.
+ *      Raw unscaled coordinates have the range [0, 0x7fff]
+ *
  *----------------------- Request Transport Parameters -----------------------
  *
  * event-channel
@@ -117,25 +171,6 @@
  *
  *      OBSOLETE, not recommended for use.
  *      PFN of the shared page.
- *
- *----------------------- Multi-touch Device Parameters -----------------------
- *
- * multi-touch-num-contacts
- *      Values:         <uint>
- *
- *      Number of simultaneous touches reported.
- *
- * multi-touch-width
- *      Values:         <uint>
- *
- *      Width of the touch area to be used by the frontend
- *      while reporting input events, pixels, [0; UINT32_MAX].
- *
- * multi-touch-height
- *      Values:         <uint>
- *
- *      Height of the touch area to be used by the frontend
- *      while reporting input events, pixels, [0; UINT32_MAX].
  */
 
 /*
@@ -163,9 +198,13 @@
 
 #define XENKBD_DRIVER_NAME		"vkbd"
 
+#define XENKBD_FIELD_FEAT_DSBL_KEYBRD	"feature-disable-keyboard"
+#define XENKBD_FIELD_FEAT_DSBL_POINTER	"feature-disable-pointer"
 #define XENKBD_FIELD_FEAT_ABS_POINTER	"feature-abs-pointer"
+#define XENKBD_FIELD_FEAT_RAW_POINTER	"feature-raw-pointer"
 #define XENKBD_FIELD_FEAT_MTOUCH	"feature-multi-touch"
 #define XENKBD_FIELD_REQ_ABS_POINTER	"request-abs-pointer"
+#define XENKBD_FIELD_REQ_RAW_POINTER	"request-raw-pointer"
 #define XENKBD_FIELD_REQ_MTOUCH		"request-multi-touch"
 #define XENKBD_FIELD_RING_GREF		"page-gref"
 #define XENKBD_FIELD_EVT_CHANNEL	"event-channel"
@@ -174,6 +213,7 @@
 #define XENKBD_FIELD_MT_WIDTH		"multi-touch-width"
 #define XENKBD_FIELD_MT_HEIGHT		"multi-touch-height"
 #define XENKBD_FIELD_MT_NUM_CONTACTS	"multi-touch-num-contacts"
+#define XENKBD_FIELD_UNIQUE_ID		"unique-id"
 
 /* OBSOLETE, not recommended for use */
 #define XENKBD_FIELD_RING_REF		"page-ref"
diff --git a/include/xen/interface/io/sndif.h b/include/xen/interface/io/sndif.h
index 78bb5d9f8d83..2aac8f73614c 100644
--- a/include/xen/interface/io/sndif.h
+++ b/include/xen/interface/io/sndif.h
@@ -278,13 +278,11 @@
  *      defined under the same device.
  *
  * unique-id
- *      Values:         <uint32_t>
+ *      Values:         <string>
  *
- *      After stream initialization it is assigned a unique ID (within the front
- *      driver), so every stream of the frontend can be identified by the
- *      backend by this ID. This is not equal to stream-idx as the later is
- *      zero based within the device, but this index is contigous within the
- *      driver.
+ *      After stream initialization it is assigned a unique ID, so every
+ *      stream of the frontend can be identified by the backend by this ID.
+ *      This can be UUID or such.
  *
  *-------------------- Stream Request Transport Parameters --------------------
  *
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v5 2/3] Input: xen-kbdfront - fix multi-touch XenStore node's locations
  2018-06-12  7:48 [PATCH v5 0/3] Input: xen-kbdfront - allow better run-time configuration Oleksandr Andrushchenko
  2018-06-12  7:48 ` [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen Oleksandr Andrushchenko
@ 2018-06-12  7:48 ` Oleksandr Andrushchenko
  2018-06-12 13:47   ` Juergen Gross
  2018-06-12  7:48 ` [PATCH v5 3/3] Input: xen-kbdfront - allow better run-time configuration Oleksandr Andrushchenko
  2 siblings, 1 reply; 18+ messages in thread
From: Oleksandr Andrushchenko @ 2018-06-12  7:48 UTC (permalink / raw)
  To: xen-devel, linux-input, linux-kernel, dmitry.torokhov, jgross,
	lyan, boris.ostrovsky
  Cc: konrad.wilk, andr2000, andrii_chepurnyi, Oleksandr Andrushchenko

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

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: 49aac8204da5 ("Input: xen-kbdfront - add multi-touch support")

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
---
 drivers/input/misc/xen-kbdfront.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
index d91f3b1c5375..92d739649022 100644
--- a/drivers/input/misc/xen-kbdfront.c
+++ b/drivers/input/misc/xen-kbdfront.c
@@ -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);
 	if (touch) {
 		ret = xenbus_write(XBT_NIL, dev->nodename,
@@ -304,13 +304,13 @@ static int xenkbd_probe(struct xenbus_device *dev,
 		if (!mtouch)
 			goto error_nomem;
 
-		num_cont = xenbus_read_unsigned(info->xbdev->nodename,
+		num_cont = xenbus_read_unsigned(info->xbdev->otherend,
 						XENKBD_FIELD_MT_NUM_CONTACTS,
 						1);
-		width = xenbus_read_unsigned(info->xbdev->nodename,
+		width = xenbus_read_unsigned(info->xbdev->otherend,
 					     XENKBD_FIELD_MT_WIDTH,
 					     XENFB_WIDTH);
-		height = xenbus_read_unsigned(info->xbdev->nodename,
+		height = xenbus_read_unsigned(info->xbdev->otherend,
 					      XENKBD_FIELD_MT_HEIGHT,
 					      XENFB_HEIGHT);
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v5 3/3] Input: xen-kbdfront - allow better run-time configuration
  2018-06-12  7:48 [PATCH v5 0/3] Input: xen-kbdfront - allow better run-time configuration Oleksandr Andrushchenko
  2018-06-12  7:48 ` [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen Oleksandr Andrushchenko
  2018-06-12  7:48 ` [PATCH v5 2/3] Input: xen-kbdfront - fix multi-touch XenStore node's locations Oleksandr Andrushchenko
@ 2018-06-12  7:48 ` Oleksandr Andrushchenko
  2018-06-12 13:50   ` Juergen Gross
  2018-06-12 22:07   ` Dmitry Torokhov
  2 siblings, 2 replies; 18+ messages in thread
From: Oleksandr Andrushchenko @ 2018-06-12  7:48 UTC (permalink / raw)
  To: xen-devel, linux-input, linux-kernel, dmitry.torokhov, jgross,
	lyan, boris.ostrovsky
  Cc: konrad.wilk, andr2000, andrii_chepurnyi, Oleksandr Andrushchenko

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

It is now only possible to control if multi-touch virtual device
is created or not (via the corresponding XenStore entries),
but keyboard and pointer devices are always created.
In some cases this is not desirable. For example, if virtual
keyboard device is exposed to Android then the latter won't
automatically show on-screen keyboard as it expects that a
physical keyboard device can be used for typing.

Utilize keyboard and pointer device XenStore feature fields to
configure which virtual devices are created:
 - set "feature-disable-keyboard" to 1 if no keyboard device
   needs to be created
 - set "feature-disable-pointer" to 1 if no pointer device
   needs to be created
Keep old behavior by default.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Suggested-by: Andrii Chepurnyi <andrii_chepurnyi@epam.com>
Tested-by: Andrii Chepurnyi <andrii_chepurnyi@epam.com>
---
 drivers/input/misc/xen-kbdfront.c | 177 ++++++++++++++++++------------
 1 file changed, 106 insertions(+), 71 deletions(-)

diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
index 92d739649022..f50fba1962ec 100644
--- a/drivers/input/misc/xen-kbdfront.c
+++ b/drivers/input/misc/xen-kbdfront.c
@@ -63,6 +63,9 @@ static void xenkbd_disconnect_backend(struct xenkbd_info *);
 static void xenkbd_handle_motion_event(struct xenkbd_info *info,
 				       struct xenkbd_motion *motion)
 {
+	if (unlikely(!info->ptr))
+		return;
+
 	input_report_rel(info->ptr, REL_X, motion->rel_x);
 	input_report_rel(info->ptr, REL_Y, motion->rel_y);
 	if (motion->rel_z)
@@ -73,6 +76,9 @@ static void xenkbd_handle_motion_event(struct xenkbd_info *info,
 static void xenkbd_handle_position_event(struct xenkbd_info *info,
 					 struct xenkbd_position *pos)
 {
+	if (unlikely(!info->ptr))
+		return;
+
 	input_report_abs(info->ptr, ABS_X, pos->abs_x);
 	input_report_abs(info->ptr, ABS_Y, pos->abs_y);
 	if (pos->rel_z)
@@ -97,6 +103,9 @@ static void xenkbd_handle_key_event(struct xenkbd_info *info,
 		return;
 	}
 
+	if (unlikely(!dev))
+		return;
+
 	input_event(dev, EV_KEY, key->keycode, value);
 	input_sync(dev);
 }
@@ -192,7 +201,7 @@ static int xenkbd_probe(struct xenbus_device *dev,
 				  const struct xenbus_device_id *id)
 {
 	int ret, i;
-	unsigned int abs, touch;
+	bool with_mtouch, with_kbd, with_ptr;
 	struct xenkbd_info *info;
 	struct input_dev *kbd, *ptr, *mtouch;
 
@@ -211,93 +220,114 @@ static int xenkbd_probe(struct xenbus_device *dev,
 	if (!info->page)
 		goto error_nomem;
 
-	/* Set input abs params to match backend screen res */
-	abs = xenbus_read_unsigned(dev->otherend,
-				   XENKBD_FIELD_FEAT_ABS_POINTER, 0);
-	ptr_size[KPARAM_X] = xenbus_read_unsigned(dev->otherend,
-						  XENKBD_FIELD_WIDTH,
-						  ptr_size[KPARAM_X]);
-	ptr_size[KPARAM_Y] = xenbus_read_unsigned(dev->otherend,
-						  XENKBD_FIELD_HEIGHT,
-						  ptr_size[KPARAM_Y]);
-	if (abs) {
-		ret = xenbus_write(XBT_NIL, dev->nodename,
-				   XENKBD_FIELD_REQ_ABS_POINTER, "1");
-		if (ret) {
-			pr_warn("xenkbd: can't request abs-pointer\n");
-			abs = 0;
-		}
-	}
+	/*
+	 * The below are reverse logic, e.g. if the feature is set, then
+	 * do not expose the corresponding virtual device.
+	 */
+	with_kbd = !xenbus_read_unsigned(dev->otherend,
+					 XENKBD_FIELD_FEAT_DSBL_KEYBRD, 0);
+
+	with_ptr = !xenbus_read_unsigned(dev->otherend,
+					 XENKBD_FIELD_FEAT_DSBL_POINTER, 0);
 
-	touch = xenbus_read_unsigned(dev->otherend,
-				     XENKBD_FIELD_FEAT_MTOUCH, 0);
-	if (touch) {
+	/* Direct logic: if set, then create multi-touch device. */
+	with_mtouch = xenbus_read_unsigned(dev->otherend,
+					   XENKBD_FIELD_FEAT_MTOUCH, 0);
+	if (with_mtouch) {
 		ret = xenbus_write(XBT_NIL, dev->nodename,
 				   XENKBD_FIELD_REQ_MTOUCH, "1");
 		if (ret) {
 			pr_warn("xenkbd: can't request multi-touch");
-			touch = 0;
+			with_mtouch = 0;
 		}
 	}
 
 	/* keyboard */
-	kbd = input_allocate_device();
-	if (!kbd)
-		goto error_nomem;
-	kbd->name = "Xen Virtual Keyboard";
-	kbd->phys = info->phys;
-	kbd->id.bustype = BUS_PCI;
-	kbd->id.vendor = 0x5853;
-	kbd->id.product = 0xffff;
-
-	__set_bit(EV_KEY, kbd->evbit);
-	for (i = KEY_ESC; i < KEY_UNKNOWN; i++)
-		__set_bit(i, kbd->keybit);
-	for (i = KEY_OK; i < KEY_MAX; i++)
-		__set_bit(i, kbd->keybit);
-
-	ret = input_register_device(kbd);
-	if (ret) {
-		input_free_device(kbd);
-		xenbus_dev_fatal(dev, ret, "input_register_device(kbd)");
-		goto error;
+	if (with_kbd) {
+		kbd = input_allocate_device();
+		if (!kbd)
+			goto error_nomem;
+		kbd->name = "Xen Virtual Keyboard";
+		kbd->phys = info->phys;
+		kbd->id.bustype = BUS_PCI;
+		kbd->id.vendor = 0x5853;
+		kbd->id.product = 0xffff;
+
+		__set_bit(EV_KEY, kbd->evbit);
+		for (i = KEY_ESC; i < KEY_UNKNOWN; i++)
+			__set_bit(i, kbd->keybit);
+		for (i = KEY_OK; i < KEY_MAX; i++)
+			__set_bit(i, kbd->keybit);
+
+		ret = input_register_device(kbd);
+		if (ret) {
+			input_free_device(kbd);
+			xenbus_dev_fatal(dev, ret,
+					 "input_register_device(kbd)");
+			goto error;
+		}
+		info->kbd = kbd;
 	}
-	info->kbd = kbd;
 
 	/* pointing device */
-	ptr = input_allocate_device();
-	if (!ptr)
-		goto error_nomem;
-	ptr->name = "Xen Virtual Pointer";
-	ptr->phys = info->phys;
-	ptr->id.bustype = BUS_PCI;
-	ptr->id.vendor = 0x5853;
-	ptr->id.product = 0xfffe;
-
-	if (abs) {
-		__set_bit(EV_ABS, ptr->evbit);
-		input_set_abs_params(ptr, ABS_X, 0, ptr_size[KPARAM_X], 0, 0);
-		input_set_abs_params(ptr, ABS_Y, 0, ptr_size[KPARAM_Y], 0, 0);
-	} else {
-		input_set_capability(ptr, EV_REL, REL_X);
-		input_set_capability(ptr, EV_REL, REL_Y);
-	}
-	input_set_capability(ptr, EV_REL, REL_WHEEL);
+	if (with_ptr) {
+		unsigned int abs;
+
+		/* Set input abs params to match backend screen res */
+		abs = xenbus_read_unsigned(dev->otherend,
+					   XENKBD_FIELD_FEAT_ABS_POINTER, 0);
+		ptr_size[KPARAM_X] = xenbus_read_unsigned(dev->otherend,
+							  XENKBD_FIELD_WIDTH,
+							  ptr_size[KPARAM_X]);
+		ptr_size[KPARAM_Y] = xenbus_read_unsigned(dev->otherend,
+							  XENKBD_FIELD_HEIGHT,
+							  ptr_size[KPARAM_Y]);
+		if (abs) {
+			ret = xenbus_write(XBT_NIL, dev->nodename,
+					   XENKBD_FIELD_REQ_ABS_POINTER, "1");
+			if (ret) {
+				pr_warn("xenkbd: can't request abs-pointer\n");
+				abs = 0;
+			}
+		}
 
-	__set_bit(EV_KEY, ptr->evbit);
-	for (i = BTN_LEFT; i <= BTN_TASK; i++)
-		__set_bit(i, ptr->keybit);
+		ptr = input_allocate_device();
+		if (!ptr)
+			goto error_nomem;
+		ptr->name = "Xen Virtual Pointer";
+		ptr->phys = info->phys;
+		ptr->id.bustype = BUS_PCI;
+		ptr->id.vendor = 0x5853;
+		ptr->id.product = 0xfffe;
+
+		if (abs) {
+			__set_bit(EV_ABS, ptr->evbit);
+			input_set_abs_params(ptr, ABS_X, 0,
+					     ptr_size[KPARAM_X], 0, 0);
+			input_set_abs_params(ptr, ABS_Y, 0,
+					     ptr_size[KPARAM_Y], 0, 0);
+		} else {
+			input_set_capability(ptr, EV_REL, REL_X);
+			input_set_capability(ptr, EV_REL, REL_Y);
+		}
+		input_set_capability(ptr, EV_REL, REL_WHEEL);
 
-	ret = input_register_device(ptr);
-	if (ret) {
-		input_free_device(ptr);
-		xenbus_dev_fatal(dev, ret, "input_register_device(ptr)");
-		goto error;
+		__set_bit(EV_KEY, ptr->evbit);
+		for (i = BTN_LEFT; i <= BTN_TASK; i++)
+			__set_bit(i, ptr->keybit);
+
+		ret = input_register_device(ptr);
+		if (ret) {
+			input_free_device(ptr);
+			xenbus_dev_fatal(dev, ret,
+					 "input_register_device(ptr)");
+			goto error;
+		}
+		info->ptr = ptr;
 	}
-	info->ptr = ptr;
 
 	/* multi-touch device */
-	if (touch) {
+	if (with_mtouch) {
 		int num_cont, width, height;
 
 		mtouch = input_allocate_device();
@@ -346,6 +376,11 @@ static int xenkbd_probe(struct xenbus_device *dev,
 		info->mtouch = mtouch;
 	}
 
+	if (!(with_kbd | with_ptr | with_mtouch)) {
+		ret = -ENXIO;
+		goto error;
+	}
+
 	ret = xenkbd_connect_backend(dev, info);
 	if (ret < 0)
 		goto error;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen
  2018-06-12  7:48 ` [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen Oleksandr Andrushchenko
@ 2018-06-12 13:46   ` Juergen Gross
  2018-06-12 13:47     ` Oleksandr Andrushchenko
  2018-06-12 23:40     ` Dmitry Torokhov
  0 siblings, 2 replies; 18+ messages in thread
From: Juergen Gross @ 2018-06-12 13:46 UTC (permalink / raw)
  To: Oleksandr Andrushchenko, xen-devel, linux-input, linux-kernel,
	dmitry.torokhov, lyan, boris.ostrovsky
  Cc: konrad.wilk, andrii_chepurnyi, Oleksandr Andrushchenko

On 12/06/18 09:48, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> This is the sync up with the canonical definitions of the input,
> sound and display protocols in Xen.
> 
> Changes to kbdif:
> 1. Add missing string constants for {feature|request}-raw-pointer
>    to align with the rest of the interface file.
> 
> 2. Add new XenStore feature fields, so it is possible to individually
>    control set of exposed virtual devices for each guest OS:
>      - set feature-disable-keyboard to 1 if no keyboard device needs
>        to be created
>      - set feature-disable-pointer to 1 if no pointer device needs
>        to be created
> 
> 3. Move multi-touch device parameters to backend nodes: these are
>     described as a part of frontend's XenBus configuration nodes
>     while they belong to backend's configuration. Fix this by moving
>     the parameters to the proper section.
> 
> Unique-id field:
> 1. Add unique-id XenBus entry for virtual input and display.
> 
> 2. Change type of unique-id field to string for sndif to align with
> display and input protocols.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Reviewed-by: Juergen Gross <jgross@suse.com>

I'm fine with this patch being added via the input tree with the other
patches. In case I should take it via the Xen tree, please send me a
note.


Juergen

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 2/3] Input: xen-kbdfront - fix multi-touch XenStore node's locations
  2018-06-12  7:48 ` [PATCH v5 2/3] Input: xen-kbdfront - fix multi-touch XenStore node's locations Oleksandr Andrushchenko
@ 2018-06-12 13:47   ` Juergen Gross
  0 siblings, 0 replies; 18+ messages in thread
From: Juergen Gross @ 2018-06-12 13:47 UTC (permalink / raw)
  To: Oleksandr Andrushchenko, xen-devel, linux-input, linux-kernel,
	dmitry.torokhov, lyan, boris.ostrovsky
  Cc: konrad.wilk, andrii_chepurnyi, Oleksandr Andrushchenko

On 12/06/18 09:48, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> 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: 49aac8204da5 ("Input: xen-kbdfront - add multi-touch support")
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Reviewed-by: Juergen Gross <jgross@suse.com>


Juergen

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen
  2018-06-12 13:46   ` Juergen Gross
@ 2018-06-12 13:47     ` Oleksandr Andrushchenko
  2018-06-12 23:40     ` Dmitry Torokhov
  1 sibling, 0 replies; 18+ messages in thread
From: Oleksandr Andrushchenko @ 2018-06-12 13:47 UTC (permalink / raw)
  To: Juergen Gross, Oleksandr Andrushchenko, xen-devel, linux-input,
	linux-kernel, dmitry.torokhov, lyan, boris.ostrovsky
  Cc: konrad.wilk, andrii_chepurnyi

On 06/12/2018 04:46 PM, Juergen Gross wrote:
> On 12/06/18 09:48, Oleksandr Andrushchenko wrote:
>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>
>> This is the sync up with the canonical definitions of the input,
>> sound and display protocols in Xen.
>>
>> Changes to kbdif:
>> 1. Add missing string constants for {feature|request}-raw-pointer
>>     to align with the rest of the interface file.
>>
>> 2. Add new XenStore feature fields, so it is possible to individually
>>     control set of exposed virtual devices for each guest OS:
>>       - set feature-disable-keyboard to 1 if no keyboard device needs
>>         to be created
>>       - set feature-disable-pointer to 1 if no pointer device needs
>>         to be created
>>
>> 3. Move multi-touch device parameters to backend nodes: these are
>>      described as a part of frontend's XenBus configuration nodes
>>      while they belong to backend's configuration. Fix this by moving
>>      the parameters to the proper section.
>>
>> Unique-id field:
>> 1. Add unique-id XenBus entry for virtual input and display.
>>
>> 2. Change type of unique-id field to string for sndif to align with
>> display and input protocols.
>>
>> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Reviewed-by: Juergen Gross <jgross@suse.com>
>
> I'm fine with this patch being added via the input tree with the other
> patches. In case I should take it via the Xen tree, please send me a
> note.
Thank you
>
> Juergen


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 3/3] Input: xen-kbdfront - allow better run-time configuration
  2018-06-12  7:48 ` [PATCH v5 3/3] Input: xen-kbdfront - allow better run-time configuration Oleksandr Andrushchenko
@ 2018-06-12 13:50   ` Juergen Gross
  2018-06-12 22:07   ` Dmitry Torokhov
  1 sibling, 0 replies; 18+ messages in thread
From: Juergen Gross @ 2018-06-12 13:50 UTC (permalink / raw)
  To: Oleksandr Andrushchenko, xen-devel, linux-input, linux-kernel,
	dmitry.torokhov, lyan, boris.ostrovsky
  Cc: konrad.wilk, andrii_chepurnyi, Oleksandr Andrushchenko

On 12/06/18 09:48, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> It is now only possible to control if multi-touch virtual device
> is created or not (via the corresponding XenStore entries),
> but keyboard and pointer devices are always created.
> In some cases this is not desirable. For example, if virtual
> keyboard device is exposed to Android then the latter won't
> automatically show on-screen keyboard as it expects that a
> physical keyboard device can be used for typing.
> 
> Utilize keyboard and pointer device XenStore feature fields to
> configure which virtual devices are created:
>  - set "feature-disable-keyboard" to 1 if no keyboard device
>    needs to be created
>  - set "feature-disable-pointer" to 1 if no pointer device
>    needs to be created
> Keep old behavior by default.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Suggested-by: Andrii Chepurnyi <andrii_chepurnyi@epam.com>
> Tested-by: Andrii Chepurnyi <andrii_chepurnyi@epam.com>

Reviewed-by: Juergen Gross <jgross@suse.com>


Juergen

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 3/3] Input: xen-kbdfront - allow better run-time configuration
  2018-06-12  7:48 ` [PATCH v5 3/3] Input: xen-kbdfront - allow better run-time configuration Oleksandr Andrushchenko
  2018-06-12 13:50   ` Juergen Gross
@ 2018-06-12 22:07   ` Dmitry Torokhov
  2018-06-13  5:47     ` Oleksandr Andrushchenko
  1 sibling, 1 reply; 18+ messages in thread
From: Dmitry Torokhov @ 2018-06-12 22:07 UTC (permalink / raw)
  To: Oleksandr Andrushchenko
  Cc: xen-devel, linux-input, linux-kernel, jgross, lyan,
	boris.ostrovsky, konrad.wilk, andrii_chepurnyi,
	Oleksandr Andrushchenko

On Tue, Jun 12, 2018 at 10:48:56AM +0300, Oleksandr Andrushchenko wrote:
>  
> +	if (!(with_kbd | with_ptr | with_mtouch)) {

I changed this to logical "OR" and applied, thank you.

> +		ret = -ENXIO;
> +		goto error;
> +	}
> +
>  	ret = xenkbd_connect_backend(dev, info);
>  	if (ret < 0)
>  		goto error;
> -- 
> 2.17.1
> 

-- 
Dmitry

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen
  2018-06-12 13:46   ` Juergen Gross
  2018-06-12 13:47     ` Oleksandr Andrushchenko
@ 2018-06-12 23:40     ` Dmitry Torokhov
  2018-06-13  5:49       ` Oleksandr Andrushchenko
  1 sibling, 1 reply; 18+ messages in thread
From: Dmitry Torokhov @ 2018-06-12 23:40 UTC (permalink / raw)
  To: Juergen Gross
  Cc: Oleksandr Andrushchenko, xen-devel, linux-input, linux-kernel,
	lyan, boris.ostrovsky, konrad.wilk, andrii_chepurnyi,
	Oleksandr Andrushchenko

On Tue, Jun 12, 2018 at 03:46:10PM +0200, Juergen Gross wrote:
> On 12/06/18 09:48, Oleksandr Andrushchenko wrote:
> > From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> > 
> > This is the sync up with the canonical definitions of the input,
> > sound and display protocols in Xen.
> > 
> > Changes to kbdif:
> > 1. Add missing string constants for {feature|request}-raw-pointer
> >    to align with the rest of the interface file.
> > 
> > 2. Add new XenStore feature fields, so it is possible to individually
> >    control set of exposed virtual devices for each guest OS:
> >      - set feature-disable-keyboard to 1 if no keyboard device needs
> >        to be created
> >      - set feature-disable-pointer to 1 if no pointer device needs
> >        to be created
> > 
> > 3. Move multi-touch device parameters to backend nodes: these are
> >     described as a part of frontend's XenBus configuration nodes
> >     while they belong to backend's configuration. Fix this by moving
> >     the parameters to the proper section.
> > 
> > Unique-id field:
> > 1. Add unique-id XenBus entry for virtual input and display.
> > 
> > 2. Change type of unique-id field to string for sndif to align with
> > display and input protocols.
> > 
> > Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> > Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> 
> Reviewed-by: Juergen Gross <jgross@suse.com>
> 
> I'm fine with this patch being added via the input tree with the other
> patches. In case I should take it via the Xen tree, please send me a
> note.

Juergen,

I created an immutable branch off v4.17 with these 3 patches in case you
would want to merge them into your tree without waiting for them to
appear in mainline:

git pull git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git ib/4.17-xen-kbdfront-runtime-config

Thanks.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 3/3] Input: xen-kbdfront - allow better run-time configuration
  2018-06-12 22:07   ` Dmitry Torokhov
@ 2018-06-13  5:47     ` Oleksandr Andrushchenko
  0 siblings, 0 replies; 18+ messages in thread
From: Oleksandr Andrushchenko @ 2018-06-13  5:47 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: xen-devel, linux-input, linux-kernel, jgross, lyan,
	boris.ostrovsky, konrad.wilk, andrii_chepurnyi,
	Oleksandr Andrushchenko

On 06/13/2018 01:07 AM, Dmitry Torokhov wrote:
> On Tue, Jun 12, 2018 at 10:48:56AM +0300, Oleksandr Andrushchenko wrote:
>>   
>> +	if (!(with_kbd | with_ptr | with_mtouch)) {
> I changed this to logical "OR" and applied, thank you.
Yes, that's better, thank you
>> +		ret = -ENXIO;
>> +		goto error;
>> +	}
>> +
>>   	ret = xenkbd_connect_backend(dev, info);
>>   	if (ret < 0)
>>   		goto error;
>> -- 
>> 2.17.1
>>


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen
  2018-06-12 23:40     ` Dmitry Torokhov
@ 2018-06-13  5:49       ` Oleksandr Andrushchenko
  2018-06-13  6:11         ` Dmitry Torokhov
  0 siblings, 1 reply; 18+ messages in thread
From: Oleksandr Andrushchenko @ 2018-06-13  5:49 UTC (permalink / raw)
  To: Dmitry Torokhov, Juergen Gross
  Cc: xen-devel, linux-input, linux-kernel, lyan, boris.ostrovsky,
	konrad.wilk, andrii_chepurnyi, Oleksandr Andrushchenko

On 06/13/2018 02:40 AM, Dmitry Torokhov wrote:
> On Tue, Jun 12, 2018 at 03:46:10PM +0200, Juergen Gross wrote:
>> On 12/06/18 09:48, Oleksandr Andrushchenko wrote:
>>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>>
>>> This is the sync up with the canonical definitions of the input,
>>> sound and display protocols in Xen.
>>>
>>> Changes to kbdif:
>>> 1. Add missing string constants for {feature|request}-raw-pointer
>>>     to align with the rest of the interface file.
>>>
>>> 2. Add new XenStore feature fields, so it is possible to individually
>>>     control set of exposed virtual devices for each guest OS:
>>>       - set feature-disable-keyboard to 1 if no keyboard device needs
>>>         to be created
>>>       - set feature-disable-pointer to 1 if no pointer device needs
>>>         to be created
>>>
>>> 3. Move multi-touch device parameters to backend nodes: these are
>>>      described as a part of frontend's XenBus configuration nodes
>>>      while they belong to backend's configuration. Fix this by moving
>>>      the parameters to the proper section.
>>>
>>> Unique-id field:
>>> 1. Add unique-id XenBus entry for virtual input and display.
>>>
>>> 2. Change type of unique-id field to string for sndif to align with
>>> display and input protocols.
>>>
>>> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>> Reviewed-by: Juergen Gross <jgross@suse.com>
>>
>> I'm fine with this patch being added via the input tree with the other
>> patches. In case I should take it via the Xen tree, please send me a
>> note.
> Juergen,
>
> I created an immutable branch off v4.17 with these 3 patches in case you
> would want to merge them into your tree without waiting for them to
> appear in mainline:
>
> git pull git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git ib/4.17-xen-kbdfront-runtime-config
>
> Thanks.
>
Thank you,
I would prefer the fastest path of course

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen
  2018-06-13  5:49       ` Oleksandr Andrushchenko
@ 2018-06-13  6:11         ` Dmitry Torokhov
  2018-06-13  6:13           ` Oleksandr Andrushchenko
  0 siblings, 1 reply; 18+ messages in thread
From: Dmitry Torokhov @ 2018-06-13  6:11 UTC (permalink / raw)
  To: Oleksandr Andrushchenko, Juergen Gross
  Cc: xen-devel, linux-input, linux-kernel, lyan, boris.ostrovsky,
	konrad.wilk, andrii_chepurnyi, Oleksandr Andrushchenko

On June 12, 2018 10:49:31 PM PDT, Oleksandr Andrushchenko <andr2000@gmail.com> wrote:
>On 06/13/2018 02:40 AM, Dmitry Torokhov wrote:
>> On Tue, Jun 12, 2018 at 03:46:10PM +0200, Juergen Gross wrote:
>>> On 12/06/18 09:48, Oleksandr Andrushchenko wrote:
>>>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>>>
>>>> This is the sync up with the canonical definitions of the input,
>>>> sound and display protocols in Xen.
>>>>
>>>> Changes to kbdif:
>>>> 1. Add missing string constants for {feature|request}-raw-pointer
>>>>     to align with the rest of the interface file.
>>>>
>>>> 2. Add new XenStore feature fields, so it is possible to
>individually
>>>>     control set of exposed virtual devices for each guest OS:
>>>>       - set feature-disable-keyboard to 1 if no keyboard device
>needs
>>>>         to be created
>>>>       - set feature-disable-pointer to 1 if no pointer device needs
>>>>         to be created
>>>>
>>>> 3. Move multi-touch device parameters to backend nodes: these are
>>>>      described as a part of frontend's XenBus configuration nodes
>>>>      while they belong to backend's configuration. Fix this by
>moving
>>>>      the parameters to the proper section.
>>>>
>>>> Unique-id field:
>>>> 1. Add unique-id XenBus entry for virtual input and display.
>>>>
>>>> 2. Change type of unique-id field to string for sndif to align with
>>>> display and input protocols.
>>>>
>>>> Signed-off-by: Oleksandr Andrushchenko
><oleksandr_andrushchenko@epam.com>
>>>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>>> Reviewed-by: Juergen Gross <jgross@suse.com>
>>>
>>> I'm fine with this patch being added via the input tree with the
>other
>>> patches. In case I should take it via the Xen tree, please send me a
>>> note.
>> Juergen,
>>
>> I created an immutable branch off v4.17 with these 3 patches in case
>you
>> would want to merge them into your tree without waiting for them to
>> appear in mainline:
>>
>> git pull git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
>ib/4.17-xen-kbdfront-runtime-config
>>
>> Thanks.
>>
>Thank you,
>I would prefer the fastest path of course

It will be part of 4.19 pull request; the immutable branch is for Juergen if he does not want to wait till 4.19 merge window to get the changes.


Thanks.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen
  2018-06-13  6:11         ` Dmitry Torokhov
@ 2018-06-13  6:13           ` Oleksandr Andrushchenko
  2018-06-13  6:25             ` Dmitry Torokhov
  2018-06-13  6:40             ` Juergen Gross
  0 siblings, 2 replies; 18+ messages in thread
From: Oleksandr Andrushchenko @ 2018-06-13  6:13 UTC (permalink / raw)
  To: Dmitry Torokhov, Juergen Gross
  Cc: xen-devel, linux-input, linux-kernel, lyan, boris.ostrovsky,
	konrad.wilk, andrii_chepurnyi, Oleksandr Andrushchenko

On 06/13/2018 09:11 AM, Dmitry Torokhov wrote:
> On June 12, 2018 10:49:31 PM PDT, Oleksandr Andrushchenko <andr2000@gmail.com> wrote:
>> On 06/13/2018 02:40 AM, Dmitry Torokhov wrote:
>>> On Tue, Jun 12, 2018 at 03:46:10PM +0200, Juergen Gross wrote:
>>>> On 12/06/18 09:48, Oleksandr Andrushchenko wrote:
>>>>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>>>>
>>>>> This is the sync up with the canonical definitions of the input,
>>>>> sound and display protocols in Xen.
>>>>>
>>>>> Changes to kbdif:
>>>>> 1. Add missing string constants for {feature|request}-raw-pointer
>>>>>      to align with the rest of the interface file.
>>>>>
>>>>> 2. Add new XenStore feature fields, so it is possible to
>> individually
>>>>>      control set of exposed virtual devices for each guest OS:
>>>>>        - set feature-disable-keyboard to 1 if no keyboard device
>> needs
>>>>>          to be created
>>>>>        - set feature-disable-pointer to 1 if no pointer device needs
>>>>>          to be created
>>>>>
>>>>> 3. Move multi-touch device parameters to backend nodes: these are
>>>>>       described as a part of frontend's XenBus configuration nodes
>>>>>       while they belong to backend's configuration. Fix this by
>> moving
>>>>>       the parameters to the proper section.
>>>>>
>>>>> Unique-id field:
>>>>> 1. Add unique-id XenBus entry for virtual input and display.
>>>>>
>>>>> 2. Change type of unique-id field to string for sndif to align with
>>>>> display and input protocols.
>>>>>
>>>>> Signed-off-by: Oleksandr Andrushchenko
>> <oleksandr_andrushchenko@epam.com>
>>>>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>>>> Reviewed-by: Juergen Gross <jgross@suse.com>
>>>>
>>>> I'm fine with this patch being added via the input tree with the
>> other
>>>> patches. In case I should take it via the Xen tree, please send me a
>>>> note.
>>> Juergen,
>>>
>>> I created an immutable branch off v4.17 with these 3 patches in case
>> you
>>> would want to merge them into your tree without waiting for them to
>>> appear in mainline:
>>>
>>> git pull git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
>> ib/4.17-xen-kbdfront-runtime-config
>>> Thanks.
>>>
>> Thank you,
>> I would prefer the fastest path of course
> It will be part of 4.19 pull request; the immutable branch is for Juergen if he does not want to wait till 4.19 merge window to get the changes.
Ah, I see. Juergen, can we please merge this via Xen tree then which
I assume will be faster?
>
> Thanks.
>
Thank you,
Oleksandr

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen
  2018-06-13  6:13           ` Oleksandr Andrushchenko
@ 2018-06-13  6:25             ` Dmitry Torokhov
  2018-06-13  6:28               ` Oleksandr Andrushchenko
  2018-06-13  6:40             ` Juergen Gross
  1 sibling, 1 reply; 18+ messages in thread
From: Dmitry Torokhov @ 2018-06-13  6:25 UTC (permalink / raw)
  To: Oleksandr Andrushchenko, Juergen Gross
  Cc: xen-devel, linux-input, linux-kernel, lyan, boris.ostrovsky,
	konrad.wilk, andrii_chepurnyi, Oleksandr Andrushchenko

On June 12, 2018 11:13:40 PM PDT, Oleksandr Andrushchenko <andr2000@gmail.com> wrote:
>On 06/13/2018 09:11 AM, Dmitry Torokhov wrote:
>> On June 12, 2018 10:49:31 PM PDT, Oleksandr Andrushchenko
><andr2000@gmail.com> wrote:
>>> On 06/13/2018 02:40 AM, Dmitry Torokhov wrote:
>>>> On Tue, Jun 12, 2018 at 03:46:10PM +0200, Juergen Gross wrote:
>>>>> On 12/06/18 09:48, Oleksandr Andrushchenko wrote:
>>>>>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>>>>>
>>>>>> This is the sync up with the canonical definitions of the input,
>>>>>> sound and display protocols in Xen.
>>>>>>
>>>>>> Changes to kbdif:
>>>>>> 1. Add missing string constants for {feature|request}-raw-pointer
>>>>>>      to align with the rest of the interface file.
>>>>>>
>>>>>> 2. Add new XenStore feature fields, so it is possible to
>>> individually
>>>>>>      control set of exposed virtual devices for each guest OS:
>>>>>>        - set feature-disable-keyboard to 1 if no keyboard device
>>> needs
>>>>>>          to be created
>>>>>>        - set feature-disable-pointer to 1 if no pointer device
>needs
>>>>>>          to be created
>>>>>>
>>>>>> 3. Move multi-touch device parameters to backend nodes: these are
>>>>>>       described as a part of frontend's XenBus configuration
>nodes
>>>>>>       while they belong to backend's configuration. Fix this by
>>> moving
>>>>>>       the parameters to the proper section.
>>>>>>
>>>>>> Unique-id field:
>>>>>> 1. Add unique-id XenBus entry for virtual input and display.
>>>>>>
>>>>>> 2. Change type of unique-id field to string for sndif to align
>with
>>>>>> display and input protocols.
>>>>>>
>>>>>> Signed-off-by: Oleksandr Andrushchenko
>>> <oleksandr_andrushchenko@epam.com>
>>>>>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>>>>> Reviewed-by: Juergen Gross <jgross@suse.com>
>>>>>
>>>>> I'm fine with this patch being added via the input tree with the
>>> other
>>>>> patches. In case I should take it via the Xen tree, please send me
>a
>>>>> note.
>>>> Juergen,
>>>>
>>>> I created an immutable branch off v4.17 with these 3 patches in
>case
>>> you
>>>> would want to merge them into your tree without waiting for them to
>>>> appear in mainline:
>>>>
>>>> git pull
>git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
>>> ib/4.17-xen-kbdfront-runtime-config
>>>> Thanks.
>>>>
>>> Thank you,
>>> I would prefer the fastest path of course
>> It will be part of 4.19 pull request; the immutable branch is for
>Juergen if he does not want to wait till 4.19 merge window to get the
>changes.
>Ah, I see. Juergen, can we please merge this via Xen tree then which
>I assume will be faster?

We are in the tail end of 4.18 merge window so it should not make it in 4.18 no matter what tree the patches will go through.


Thanks.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen
  2018-06-13  6:25             ` Dmitry Torokhov
@ 2018-06-13  6:28               ` Oleksandr Andrushchenko
  0 siblings, 0 replies; 18+ messages in thread
From: Oleksandr Andrushchenko @ 2018-06-13  6:28 UTC (permalink / raw)
  To: Dmitry Torokhov, Juergen Gross
  Cc: xen-devel, linux-input, linux-kernel, lyan, boris.ostrovsky,
	konrad.wilk, andrii_chepurnyi, Oleksandr Andrushchenko

On 06/13/2018 09:25 AM, Dmitry Torokhov wrote:
> On June 12, 2018 11:13:40 PM PDT, Oleksandr Andrushchenko <andr2000@gmail.com> wrote:
>> On 06/13/2018 09:11 AM, Dmitry Torokhov wrote:
>>> On June 12, 2018 10:49:31 PM PDT, Oleksandr Andrushchenko
>> <andr2000@gmail.com> wrote:
>>>> On 06/13/2018 02:40 AM, Dmitry Torokhov wrote:
>>>>> On Tue, Jun 12, 2018 at 03:46:10PM +0200, Juergen Gross wrote:
>>>>>> On 12/06/18 09:48, Oleksandr Andrushchenko wrote:
>>>>>>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>>>>>>
>>>>>>> This is the sync up with the canonical definitions of the input,
>>>>>>> sound and display protocols in Xen.
>>>>>>>
>>>>>>> Changes to kbdif:
>>>>>>> 1. Add missing string constants for {feature|request}-raw-pointer
>>>>>>>       to align with the rest of the interface file.
>>>>>>>
>>>>>>> 2. Add new XenStore feature fields, so it is possible to
>>>> individually
>>>>>>>       control set of exposed virtual devices for each guest OS:
>>>>>>>         - set feature-disable-keyboard to 1 if no keyboard device
>>>> needs
>>>>>>>           to be created
>>>>>>>         - set feature-disable-pointer to 1 if no pointer device
>> needs
>>>>>>>           to be created
>>>>>>>
>>>>>>> 3. Move multi-touch device parameters to backend nodes: these are
>>>>>>>        described as a part of frontend's XenBus configuration
>> nodes
>>>>>>>        while they belong to backend's configuration. Fix this by
>>>> moving
>>>>>>>        the parameters to the proper section.
>>>>>>>
>>>>>>> Unique-id field:
>>>>>>> 1. Add unique-id XenBus entry for virtual input and display.
>>>>>>>
>>>>>>> 2. Change type of unique-id field to string for sndif to align
>> with
>>>>>>> display and input protocols.
>>>>>>>
>>>>>>> Signed-off-by: Oleksandr Andrushchenko
>>>> <oleksandr_andrushchenko@epam.com>
>>>>>>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>>>>>> Reviewed-by: Juergen Gross <jgross@suse.com>
>>>>>>
>>>>>> I'm fine with this patch being added via the input tree with the
>>>> other
>>>>>> patches. In case I should take it via the Xen tree, please send me
>> a
>>>>>> note.
>>>>> Juergen,
>>>>>
>>>>> I created an immutable branch off v4.17 with these 3 patches in
>> case
>>>> you
>>>>> would want to merge them into your tree without waiting for them to
>>>>> appear in mainline:
>>>>>
>>>>> git pull
>> git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
>>>> ib/4.17-xen-kbdfront-runtime-config
>>>>> Thanks.
>>>>>
>>>> Thank you,
>>>> I would prefer the fastest path of course
>>> It will be part of 4.19 pull request; the immutable branch is for
>> Juergen if he does not want to wait till 4.19 merge window to get the
>> changes.
>> Ah, I see. Juergen, can we please merge this via Xen tree then which
>> I assume will be faster?
> We are in the tail end of 4.18 merge window so it should not make it in 4.18 no matter what tree the patches will go through.
Hm, but these are updates and fixes (besides the last patch which adds 
some more
functionality), so I thought this is still good to go in 4.18?
>
> Thanks.
>


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen
  2018-06-13  6:13           ` Oleksandr Andrushchenko
  2018-06-13  6:25             ` Dmitry Torokhov
@ 2018-06-13  6:40             ` Juergen Gross
  2018-06-13  6:43               ` Oleksandr Andrushchenko
  1 sibling, 1 reply; 18+ messages in thread
From: Juergen Gross @ 2018-06-13  6:40 UTC (permalink / raw)
  To: Oleksandr Andrushchenko, Dmitry Torokhov
  Cc: xen-devel, linux-input, linux-kernel, lyan, boris.ostrovsky,
	konrad.wilk, andrii_chepurnyi, Oleksandr Andrushchenko

On 13/06/18 08:13, Oleksandr Andrushchenko wrote:
> On 06/13/2018 09:11 AM, Dmitry Torokhov wrote:
>> On June 12, 2018 10:49:31 PM PDT, Oleksandr Andrushchenko
>> <andr2000@gmail.com> wrote:
>>> On 06/13/2018 02:40 AM, Dmitry Torokhov wrote:
>>>> On Tue, Jun 12, 2018 at 03:46:10PM +0200, Juergen Gross wrote:
>>>>> On 12/06/18 09:48, Oleksandr Andrushchenko wrote:
>>>>>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>>>>>
>>>>>> This is the sync up with the canonical definitions of the input,
>>>>>> sound and display protocols in Xen.
>>>>>>
>>>>>> Changes to kbdif:
>>>>>> 1. Add missing string constants for {feature|request}-raw-pointer
>>>>>>      to align with the rest of the interface file.
>>>>>>
>>>>>> 2. Add new XenStore feature fields, so it is possible to
>>> individually
>>>>>>      control set of exposed virtual devices for each guest OS:
>>>>>>        - set feature-disable-keyboard to 1 if no keyboard device
>>> needs
>>>>>>          to be created
>>>>>>        - set feature-disable-pointer to 1 if no pointer device needs
>>>>>>          to be created
>>>>>>
>>>>>> 3. Move multi-touch device parameters to backend nodes: these are
>>>>>>       described as a part of frontend's XenBus configuration nodes
>>>>>>       while they belong to backend's configuration. Fix this by
>>> moving
>>>>>>       the parameters to the proper section.
>>>>>>
>>>>>> Unique-id field:
>>>>>> 1. Add unique-id XenBus entry for virtual input and display.
>>>>>>
>>>>>> 2. Change type of unique-id field to string for sndif to align with
>>>>>> display and input protocols.
>>>>>>
>>>>>> Signed-off-by: Oleksandr Andrushchenko
>>> <oleksandr_andrushchenko@epam.com>
>>>>>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>>>>> Reviewed-by: Juergen Gross <jgross@suse.com>
>>>>>
>>>>> I'm fine with this patch being added via the input tree with the
>>> other
>>>>> patches. In case I should take it via the Xen tree, please send me a
>>>>> note.
>>>> Juergen,
>>>>
>>>> I created an immutable branch off v4.17 with these 3 patches in case
>>> you
>>>> would want to merge them into your tree without waiting for them to
>>>> appear in mainline:
>>>>
>>>> git pull git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
>>> ib/4.17-xen-kbdfront-runtime-config
>>>> Thanks.
>>>>
>>> Thank you,
>>> I would prefer the fastest path of course
>> It will be part of 4.19 pull request; the immutable branch is for
>> Juergen if he does not want to wait till 4.19 merge window to get the
>> changes.
> Ah, I see. Juergen, can we please merge this via Xen tree then which
> I assume will be faster?

As Dmitry has it already queued in the input tree I think this is fine.
I trust him to take the right decision for which kernel version those
patches are to be queued. They belong to the input tree after all.


Juergen


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen
  2018-06-13  6:40             ` Juergen Gross
@ 2018-06-13  6:43               ` Oleksandr Andrushchenko
  0 siblings, 0 replies; 18+ messages in thread
From: Oleksandr Andrushchenko @ 2018-06-13  6:43 UTC (permalink / raw)
  To: Juergen Gross, Oleksandr Andrushchenko, Dmitry Torokhov
  Cc: xen-devel, linux-input, linux-kernel, lyan, boris.ostrovsky,
	konrad.wilk, andrii_chepurnyi

On 06/13/2018 09:40 AM, Juergen Gross wrote:
> On 13/06/18 08:13, Oleksandr Andrushchenko wrote:
>> On 06/13/2018 09:11 AM, Dmitry Torokhov wrote:
>>> On June 12, 2018 10:49:31 PM PDT, Oleksandr Andrushchenko
>>> <andr2000@gmail.com> wrote:
>>>> On 06/13/2018 02:40 AM, Dmitry Torokhov wrote:
>>>>> On Tue, Jun 12, 2018 at 03:46:10PM +0200, Juergen Gross wrote:
>>>>>> On 12/06/18 09:48, Oleksandr Andrushchenko wrote:
>>>>>>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>>>>>>
>>>>>>> This is the sync up with the canonical definitions of the input,
>>>>>>> sound and display protocols in Xen.
>>>>>>>
>>>>>>> Changes to kbdif:
>>>>>>> 1. Add missing string constants for {feature|request}-raw-pointer
>>>>>>>       to align with the rest of the interface file.
>>>>>>>
>>>>>>> 2. Add new XenStore feature fields, so it is possible to
>>>> individually
>>>>>>>       control set of exposed virtual devices for each guest OS:
>>>>>>>         - set feature-disable-keyboard to 1 if no keyboard device
>>>> needs
>>>>>>>           to be created
>>>>>>>         - set feature-disable-pointer to 1 if no pointer device needs
>>>>>>>           to be created
>>>>>>>
>>>>>>> 3. Move multi-touch device parameters to backend nodes: these are
>>>>>>>        described as a part of frontend's XenBus configuration nodes
>>>>>>>        while they belong to backend's configuration. Fix this by
>>>> moving
>>>>>>>        the parameters to the proper section.
>>>>>>>
>>>>>>> Unique-id field:
>>>>>>> 1. Add unique-id XenBus entry for virtual input and display.
>>>>>>>
>>>>>>> 2. Change type of unique-id field to string for sndif to align with
>>>>>>> display and input protocols.
>>>>>>>
>>>>>>> Signed-off-by: Oleksandr Andrushchenko
>>>> <oleksandr_andrushchenko@epam.com>
>>>>>>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>>>>>> Reviewed-by: Juergen Gross <jgross@suse.com>
>>>>>>
>>>>>> I'm fine with this patch being added via the input tree with the
>>>> other
>>>>>> patches. In case I should take it via the Xen tree, please send me a
>>>>>> note.
>>>>> Juergen,
>>>>>
>>>>> I created an immutable branch off v4.17 with these 3 patches in case
>>>> you
>>>>> would want to merge them into your tree without waiting for them to
>>>>> appear in mainline:
>>>>>
>>>>> git pull git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
>>>> ib/4.17-xen-kbdfront-runtime-config
>>>>> Thanks.
>>>>>
>>>> Thank you,
>>>> I would prefer the fastest path of course
>>> It will be part of 4.19 pull request; the immutable branch is for
>>> Juergen if he does not want to wait till 4.19 merge window to get the
>>> changes.
>> Ah, I see. Juergen, can we please merge this via Xen tree then which
>> I assume will be faster?
> As Dmitry has it already queued in the input tree I think this is fine.
> I trust him to take the right decision for which kernel version those
> patches are to be queued. They belong to the input tree after all.
Of course, no doubt here
>
> Juergen
>
Thank you,
Oleksandr

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2018-06-13  6:43 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-12  7:48 [PATCH v5 0/3] Input: xen-kbdfront - allow better run-time configuration Oleksandr Andrushchenko
2018-06-12  7:48 ` [PATCH v5 1/3] xen: Sync up with the canonical protocol definitions in Xen Oleksandr Andrushchenko
2018-06-12 13:46   ` Juergen Gross
2018-06-12 13:47     ` Oleksandr Andrushchenko
2018-06-12 23:40     ` Dmitry Torokhov
2018-06-13  5:49       ` Oleksandr Andrushchenko
2018-06-13  6:11         ` Dmitry Torokhov
2018-06-13  6:13           ` Oleksandr Andrushchenko
2018-06-13  6:25             ` Dmitry Torokhov
2018-06-13  6:28               ` Oleksandr Andrushchenko
2018-06-13  6:40             ` Juergen Gross
2018-06-13  6:43               ` Oleksandr Andrushchenko
2018-06-12  7:48 ` [PATCH v5 2/3] Input: xen-kbdfront - fix multi-touch XenStore node's locations Oleksandr Andrushchenko
2018-06-12 13:47   ` Juergen Gross
2018-06-12  7:48 ` [PATCH v5 3/3] Input: xen-kbdfront - allow better run-time configuration Oleksandr Andrushchenko
2018-06-12 13:50   ` Juergen Gross
2018-06-12 22:07   ` Dmitry Torokhov
2018-06-13  5:47     ` Oleksandr Andrushchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).