All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] xen,input: xen-kbdfront pointing device resolution support
@ 2017-04-11  8:50 Juergen Gross
  2017-04-11  8:50 ` [PATCH v2 1/2] xen, input: add xen-kbdfront module parameter for setting resolution Juergen Gross
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Juergen Gross @ 2017-04-11  8:50 UTC (permalink / raw)
  To: linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov, andr2000, Juergen Gross

As my patch tying the resolution of the xen pointing device to that of
the framebuffer wasn't accepted add support for different resolutions
via a module parameter.

Another possibility would be to set parameters via Xenstore, but this
is broken (patch 2 fixes that) and not yet supported by Xen tools.

V2: patch 1: make resolution changes via xenstore visible in sysfs

Juergen Gross (2):
  xen,input: add xen-kbdfront module parameter for setting resolution
  xen,input: repair xen-kbdfront resolution setting via xenstore

 drivers/input/misc/xen-kbdfront.c | 50 ++++++++++++++++++++++++++-------------
 1 file changed, 34 insertions(+), 16 deletions(-)

-- 
2.12.0

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

* [PATCH v2 1/2] xen,input: add xen-kbdfront module parameter for setting resolution
  2017-04-11  8:50 [PATCH v2 0/2] xen,input: xen-kbdfront pointing device resolution support Juergen Gross
  2017-04-11  8:50 ` [PATCH v2 1/2] xen, input: add xen-kbdfront module parameter for setting resolution Juergen Gross
@ 2017-04-11  8:50 ` Juergen Gross
  2017-04-11  9:26   ` [PATCH v2 1/2] xen, input: " Oleksandr Andrushchenko
  2017-04-11  9:26   ` [PATCH v2 1/2] xen,input: " Oleksandr Andrushchenko
  2017-04-11  8:50 ` [PATCH v2 2/2] xen, input: repair xen-kbdfront resolution setting via xenstore Juergen Gross
  2017-04-11  8:50 ` [PATCH v2 2/2] xen,input: " Juergen Gross
  3 siblings, 2 replies; 16+ messages in thread
From: Juergen Gross @ 2017-04-11  8:50 UTC (permalink / raw)
  To: linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov, andr2000, Juergen Gross

Add a parameter for setting the resolution of xen-kbdfront in order to
be able to cope with a (virtual) frame buffer of arbitrary resolution.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/input/misc/xen-kbdfront.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
index 3900875dec10..90e7981a7768 100644
--- a/drivers/input/misc/xen-kbdfront.c
+++ b/drivers/input/misc/xen-kbdfront.c
@@ -41,6 +41,12 @@ struct xenkbd_info {
 	char phys[32];
 };
 
+enum { KPARAM_WIDTH, KPARAM_HEIGHT, KPARAM_CNT };
+static int size[KPARAM_CNT] = { XENFB_WIDTH, XENFB_HEIGHT };
+module_param_array(size, int, NULL, 0444);
+MODULE_PARM_DESC(size,
+	"Pointing device width, height in pixels (default 800,600)");
+
 static int xenkbd_remove(struct xenbus_device *);
 static int xenkbd_connect_backend(struct xenbus_device *, struct xenkbd_info *);
 static void xenkbd_disconnect_backend(struct xenkbd_info *);
@@ -174,8 +180,8 @@ static int xenkbd_probe(struct xenbus_device *dev,
 
 	if (abs) {
 		__set_bit(EV_ABS, ptr->evbit);
-		input_set_abs_params(ptr, ABS_X, 0, XENFB_WIDTH, 0, 0);
-		input_set_abs_params(ptr, ABS_Y, 0, XENFB_HEIGHT, 0, 0);
+		input_set_abs_params(ptr, ABS_X, 0, size[KPARAM_WIDTH], 0, 0);
+		input_set_abs_params(ptr, ABS_Y, 0, size[KPARAM_HEIGHT], 0, 0);
 	} else {
 		input_set_capability(ptr, EV_REL, REL_X);
 		input_set_capability(ptr, EV_REL, REL_Y);
@@ -344,12 +350,16 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
 
 		/* Set input abs params to match backend screen res */
 		if (xenbus_scanf(XBT_NIL, info->xbdev->otherend,
-				 "width", "%d", &val) > 0)
+				 "width", "%d", &val) > 0) {
 			input_set_abs_params(info->ptr, ABS_X, 0, val, 0, 0);
+			size[KPARAM_WIDTH] = val;
+		}
 
 		if (xenbus_scanf(XBT_NIL, info->xbdev->otherend,
-				 "height", "%d", &val) > 0)
+				 "height", "%d", &val) > 0) {
 			input_set_abs_params(info->ptr, ABS_Y, 0, val, 0, 0);
+			size[KPARAM_HEIGHT] = val;
+		}
 
 		break;
 
-- 
2.12.0

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

* [PATCH v2 1/2] xen, input: add xen-kbdfront module parameter for setting resolution
  2017-04-11  8:50 [PATCH v2 0/2] xen,input: xen-kbdfront pointing device resolution support Juergen Gross
@ 2017-04-11  8:50 ` Juergen Gross
  2017-04-11  8:50 ` [PATCH v2 1/2] xen,input: " Juergen Gross
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 16+ messages in thread
From: Juergen Gross @ 2017-04-11  8:50 UTC (permalink / raw)
  To: linux-kernel, xen-devel, linux-input
  Cc: andr2000, Juergen Gross, boris.ostrovsky, dmitry.torokhov

Add a parameter for setting the resolution of xen-kbdfront in order to
be able to cope with a (virtual) frame buffer of arbitrary resolution.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/input/misc/xen-kbdfront.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
index 3900875dec10..90e7981a7768 100644
--- a/drivers/input/misc/xen-kbdfront.c
+++ b/drivers/input/misc/xen-kbdfront.c
@@ -41,6 +41,12 @@ struct xenkbd_info {
 	char phys[32];
 };
 
+enum { KPARAM_WIDTH, KPARAM_HEIGHT, KPARAM_CNT };
+static int size[KPARAM_CNT] = { XENFB_WIDTH, XENFB_HEIGHT };
+module_param_array(size, int, NULL, 0444);
+MODULE_PARM_DESC(size,
+	"Pointing device width, height in pixels (default 800,600)");
+
 static int xenkbd_remove(struct xenbus_device *);
 static int xenkbd_connect_backend(struct xenbus_device *, struct xenkbd_info *);
 static void xenkbd_disconnect_backend(struct xenkbd_info *);
@@ -174,8 +180,8 @@ static int xenkbd_probe(struct xenbus_device *dev,
 
 	if (abs) {
 		__set_bit(EV_ABS, ptr->evbit);
-		input_set_abs_params(ptr, ABS_X, 0, XENFB_WIDTH, 0, 0);
-		input_set_abs_params(ptr, ABS_Y, 0, XENFB_HEIGHT, 0, 0);
+		input_set_abs_params(ptr, ABS_X, 0, size[KPARAM_WIDTH], 0, 0);
+		input_set_abs_params(ptr, ABS_Y, 0, size[KPARAM_HEIGHT], 0, 0);
 	} else {
 		input_set_capability(ptr, EV_REL, REL_X);
 		input_set_capability(ptr, EV_REL, REL_Y);
@@ -344,12 +350,16 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
 
 		/* Set input abs params to match backend screen res */
 		if (xenbus_scanf(XBT_NIL, info->xbdev->otherend,
-				 "width", "%d", &val) > 0)
+				 "width", "%d", &val) > 0) {
 			input_set_abs_params(info->ptr, ABS_X, 0, val, 0, 0);
+			size[KPARAM_WIDTH] = val;
+		}
 
 		if (xenbus_scanf(XBT_NIL, info->xbdev->otherend,
-				 "height", "%d", &val) > 0)
+				 "height", "%d", &val) > 0) {
 			input_set_abs_params(info->ptr, ABS_Y, 0, val, 0, 0);
+			size[KPARAM_HEIGHT] = val;
+		}
 
 		break;
 
-- 
2.12.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* [PATCH v2 2/2] xen,input: repair xen-kbdfront resolution setting via xenstore
  2017-04-11  8:50 [PATCH v2 0/2] xen,input: xen-kbdfront pointing device resolution support Juergen Gross
                   ` (2 preceding siblings ...)
  2017-04-11  8:50 ` [PATCH v2 2/2] xen, input: repair xen-kbdfront resolution setting via xenstore Juergen Gross
@ 2017-04-11  8:50 ` Juergen Gross
  2017-04-11  9:00   ` [PATCH v2 2/2] xen, input: " Oleksandr Andrushchenko
  2017-04-11  9:00   ` [PATCH v2 2/2] xen,input: " Oleksandr Andrushchenko
  3 siblings, 2 replies; 16+ messages in thread
From: Juergen Gross @ 2017-04-11  8:50 UTC (permalink / raw)
  To: linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov, andr2000, Juergen Gross

Setting the pointing device resolution via Xenstore isn't working
reliably: in case XenbusStateInitWait has been missed the resolution
settings won't be read. Correct this.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
---
 drivers/input/misc/xen-kbdfront.c | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
index 90e7981a7768..fc28f59dfa93 100644
--- a/drivers/input/misc/xen-kbdfront.c
+++ b/drivers/input/misc/xen-kbdfront.c
@@ -312,11 +312,27 @@ static void xenkbd_disconnect_backend(struct xenkbd_info *info)
 	info->gref = -1;
 }
 
+static void xenkbd_set_connected(struct xenbus_device *dev)
+{
+	struct xenkbd_info *info = dev_get_drvdata(&dev->dev);
+	int ret;
+
+	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)
+			pr_warn("xenkbd: can't request abs-pointer");
+	}
+
+	xenbus_switch_state(dev, XenbusStateConnected);
+}
+
 static void xenkbd_backend_changed(struct xenbus_device *dev,
 				   enum xenbus_state backend_state)
 {
 	struct xenkbd_info *info = dev_get_drvdata(&dev->dev);
-	int ret, val;
+	int val;
 
 	switch (backend_state) {
 	case XenbusStateInitialising:
@@ -327,16 +343,7 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
 		break;
 
 	case XenbusStateInitWait:
-InitWait:
-		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)
-				pr_warning("xenkbd: can't request abs-pointer");
-		}
-
-		xenbus_switch_state(dev, XenbusStateConnected);
+		xenkbd_set_connected(dev);
 		break;
 
 	case XenbusStateConnected:
@@ -346,7 +353,8 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
 		 * get Connected twice here.
 		 */
 		if (dev->state != XenbusStateConnected)
-			goto InitWait; /* no InitWait seen yet, fudge it */
+			/* No InitWait seen yet, fudge it. */
+			xenkbd_set_connected(dev);
 
 		/* Set input abs params to match backend screen res */
 		if (xenbus_scanf(XBT_NIL, info->xbdev->otherend,
-- 
2.12.0

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

* [PATCH v2 2/2] xen, input: repair xen-kbdfront resolution setting via xenstore
  2017-04-11  8:50 [PATCH v2 0/2] xen,input: xen-kbdfront pointing device resolution support Juergen Gross
  2017-04-11  8:50 ` [PATCH v2 1/2] xen, input: add xen-kbdfront module parameter for setting resolution Juergen Gross
  2017-04-11  8:50 ` [PATCH v2 1/2] xen,input: " Juergen Gross
@ 2017-04-11  8:50 ` Juergen Gross
  2017-04-11  8:50 ` [PATCH v2 2/2] xen,input: " Juergen Gross
  3 siblings, 0 replies; 16+ messages in thread
From: Juergen Gross @ 2017-04-11  8:50 UTC (permalink / raw)
  To: linux-kernel, xen-devel, linux-input
  Cc: andr2000, Juergen Gross, boris.ostrovsky, dmitry.torokhov

Setting the pointing device resolution via Xenstore isn't working
reliably: in case XenbusStateInitWait has been missed the resolution
settings won't be read. Correct this.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
---
 drivers/input/misc/xen-kbdfront.c | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
index 90e7981a7768..fc28f59dfa93 100644
--- a/drivers/input/misc/xen-kbdfront.c
+++ b/drivers/input/misc/xen-kbdfront.c
@@ -312,11 +312,27 @@ static void xenkbd_disconnect_backend(struct xenkbd_info *info)
 	info->gref = -1;
 }
 
+static void xenkbd_set_connected(struct xenbus_device *dev)
+{
+	struct xenkbd_info *info = dev_get_drvdata(&dev->dev);
+	int ret;
+
+	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)
+			pr_warn("xenkbd: can't request abs-pointer");
+	}
+
+	xenbus_switch_state(dev, XenbusStateConnected);
+}
+
 static void xenkbd_backend_changed(struct xenbus_device *dev,
 				   enum xenbus_state backend_state)
 {
 	struct xenkbd_info *info = dev_get_drvdata(&dev->dev);
-	int ret, val;
+	int val;
 
 	switch (backend_state) {
 	case XenbusStateInitialising:
@@ -327,16 +343,7 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
 		break;
 
 	case XenbusStateInitWait:
-InitWait:
-		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)
-				pr_warning("xenkbd: can't request abs-pointer");
-		}
-
-		xenbus_switch_state(dev, XenbusStateConnected);
+		xenkbd_set_connected(dev);
 		break;
 
 	case XenbusStateConnected:
@@ -346,7 +353,8 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
 		 * get Connected twice here.
 		 */
 		if (dev->state != XenbusStateConnected)
-			goto InitWait; /* no InitWait seen yet, fudge it */
+			/* No InitWait seen yet, fudge it. */
+			xenkbd_set_connected(dev);
 
 		/* Set input abs params to match backend screen res */
 		if (xenbus_scanf(XBT_NIL, info->xbdev->otherend,
-- 
2.12.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* Re: [PATCH v2 2/2] xen,input: repair xen-kbdfront resolution setting via xenstore
  2017-04-11  8:50 ` [PATCH v2 2/2] xen,input: " Juergen Gross
  2017-04-11  9:00   ` [PATCH v2 2/2] xen, input: " Oleksandr Andrushchenko
@ 2017-04-11  9:00   ` Oleksandr Andrushchenko
  2017-04-11  9:14     ` Juergen Gross
  2017-04-11  9:14     ` [PATCH v2 2/2] xen, input: " Juergen Gross
  1 sibling, 2 replies; 16+ messages in thread
From: Oleksandr Andrushchenko @ 2017-04-11  9:00 UTC (permalink / raw)
  To: Juergen Gross, linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov

Hi, Juergen,

could you please make one more patch in the series:

the code that you fix in this patch is ok, but most

of the functionality of the xenkbd_set_connected

is still useless: feature-abs-pointer/request-abs-pointer

negotiation has only meaning at probe time, when we are

configuring input device:

     if (abs) {
         __set_bit(EV_ABS, ptr->evbit);
         input_set_abs_params(ptr, ABS_X, 0, XENFB_WIDTH, 0, 0);
         input_set_abs_params(ptr, ABS_Y, 0, XENFB_HEIGHT, 0, 0);
     } else {
         input_set_capability(ptr, EV_REL, REL_X);
         input_set_capability(ptr, EV_REL, REL_Y);
     }
Once the input device is configured and registered (probe done)

we do not touch/re-configure that input device anymore,

regardless of the setting negotiation at xenkbd_set_connected

time. Thus, this code is not needed and can be cleaned out.

What your patch actually fixes is the fact that

"xenbus_switch_state(dev, XenbusStateConnected);" was not called,

so this is the only line needed.

Thank you,

Oleksandr


On 04/11/2017 11:50 AM, Juergen Gross wrote:
> Setting the pointing device resolution via Xenstore isn't working
> reliably: in case XenbusStateInitWait has been missed the resolution
> settings won't be read. Correct this.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Reviewed-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
>   drivers/input/misc/xen-kbdfront.c | 32 ++++++++++++++++++++------------
>   1 file changed, 20 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
> index 90e7981a7768..fc28f59dfa93 100644
> --- a/drivers/input/misc/xen-kbdfront.c
> +++ b/drivers/input/misc/xen-kbdfront.c
> @@ -312,11 +312,27 @@ static void xenkbd_disconnect_backend(struct xenkbd_info *info)
>   	info->gref = -1;
>   }
>   
> +static void xenkbd_set_connected(struct xenbus_device *dev)
> +{
> +	struct xenkbd_info *info = dev_get_drvdata(&dev->dev);
> +	int ret;
> +
> +	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)
> +			pr_warn("xenkbd: can't request abs-pointer");
> +	}
> +
> +	xenbus_switch_state(dev, XenbusStateConnected);
> +}
> +
>   static void xenkbd_backend_changed(struct xenbus_device *dev,
>   				   enum xenbus_state backend_state)
>   {
>   	struct xenkbd_info *info = dev_get_drvdata(&dev->dev);
> -	int ret, val;
> +	int val;
>   
>   	switch (backend_state) {
>   	case XenbusStateInitialising:
> @@ -327,16 +343,7 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
>   		break;
>   
>   	case XenbusStateInitWait:
> -InitWait:
> -		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)
> -				pr_warning("xenkbd: can't request abs-pointer");
> -		}
> -
> -		xenbus_switch_state(dev, XenbusStateConnected);
> +		xenkbd_set_connected(dev);
>   		break;
>   
>   	case XenbusStateConnected:
> @@ -346,7 +353,8 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
>   		 * get Connected twice here.
>   		 */
>   		if (dev->state != XenbusStateConnected)
> -			goto InitWait; /* no InitWait seen yet, fudge it */
> +			/* No InitWait seen yet, fudge it. */
> +			xenkbd_set_connected(dev);
>   
>   		/* Set input abs params to match backend screen res */
>   		if (xenbus_scanf(XBT_NIL, info->xbdev->otherend,

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

* Re: [PATCH v2 2/2] xen, input: repair xen-kbdfront resolution setting via xenstore
  2017-04-11  8:50 ` [PATCH v2 2/2] xen,input: " Juergen Gross
@ 2017-04-11  9:00   ` Oleksandr Andrushchenko
  2017-04-11  9:00   ` [PATCH v2 2/2] xen,input: " Oleksandr Andrushchenko
  1 sibling, 0 replies; 16+ messages in thread
From: Oleksandr Andrushchenko @ 2017-04-11  9:00 UTC (permalink / raw)
  To: Juergen Gross, linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov

Hi, Juergen,

could you please make one more patch in the series:

the code that you fix in this patch is ok, but most

of the functionality of the xenkbd_set_connected

is still useless: feature-abs-pointer/request-abs-pointer

negotiation has only meaning at probe time, when we are

configuring input device:

     if (abs) {
         __set_bit(EV_ABS, ptr->evbit);
         input_set_abs_params(ptr, ABS_X, 0, XENFB_WIDTH, 0, 0);
         input_set_abs_params(ptr, ABS_Y, 0, XENFB_HEIGHT, 0, 0);
     } else {
         input_set_capability(ptr, EV_REL, REL_X);
         input_set_capability(ptr, EV_REL, REL_Y);
     }
Once the input device is configured and registered (probe done)

we do not touch/re-configure that input device anymore,

regardless of the setting negotiation at xenkbd_set_connected

time. Thus, this code is not needed and can be cleaned out.

What your patch actually fixes is the fact that

"xenbus_switch_state(dev, XenbusStateConnected);" was not called,

so this is the only line needed.

Thank you,

Oleksandr


On 04/11/2017 11:50 AM, Juergen Gross wrote:
> Setting the pointing device resolution via Xenstore isn't working
> reliably: in case XenbusStateInitWait has been missed the resolution
> settings won't be read. Correct this.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Reviewed-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
>   drivers/input/misc/xen-kbdfront.c | 32 ++++++++++++++++++++------------
>   1 file changed, 20 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
> index 90e7981a7768..fc28f59dfa93 100644
> --- a/drivers/input/misc/xen-kbdfront.c
> +++ b/drivers/input/misc/xen-kbdfront.c
> @@ -312,11 +312,27 @@ static void xenkbd_disconnect_backend(struct xenkbd_info *info)
>   	info->gref = -1;
>   }
>   
> +static void xenkbd_set_connected(struct xenbus_device *dev)
> +{
> +	struct xenkbd_info *info = dev_get_drvdata(&dev->dev);
> +	int ret;
> +
> +	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)
> +			pr_warn("xenkbd: can't request abs-pointer");
> +	}
> +
> +	xenbus_switch_state(dev, XenbusStateConnected);
> +}
> +
>   static void xenkbd_backend_changed(struct xenbus_device *dev,
>   				   enum xenbus_state backend_state)
>   {
>   	struct xenkbd_info *info = dev_get_drvdata(&dev->dev);
> -	int ret, val;
> +	int val;
>   
>   	switch (backend_state) {
>   	case XenbusStateInitialising:
> @@ -327,16 +343,7 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
>   		break;
>   
>   	case XenbusStateInitWait:
> -InitWait:
> -		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)
> -				pr_warning("xenkbd: can't request abs-pointer");
> -		}
> -
> -		xenbus_switch_state(dev, XenbusStateConnected);
> +		xenkbd_set_connected(dev);
>   		break;
>   
>   	case XenbusStateConnected:
> @@ -346,7 +353,8 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
>   		 * get Connected twice here.
>   		 */
>   		if (dev->state != XenbusStateConnected)
> -			goto InitWait; /* no InitWait seen yet, fudge it */
> +			/* No InitWait seen yet, fudge it. */
> +			xenkbd_set_connected(dev);
>   
>   		/* Set input abs params to match backend screen res */
>   		if (xenbus_scanf(XBT_NIL, info->xbdev->otherend,


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* Re: [PATCH v2 2/2] xen,input: repair xen-kbdfront resolution setting via xenstore
  2017-04-11  9:00   ` [PATCH v2 2/2] xen,input: " Oleksandr Andrushchenko
@ 2017-04-11  9:14     ` Juergen Gross
  2017-04-11  9:14     ` [PATCH v2 2/2] xen, input: " Juergen Gross
  1 sibling, 0 replies; 16+ messages in thread
From: Juergen Gross @ 2017-04-11  9:14 UTC (permalink / raw)
  To: Oleksandr Andrushchenko, linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov

On 11/04/17 11:00, Oleksandr Andrushchenko wrote:
> Hi, Juergen,
> 
> could you please make one more patch in the series:
> 
> the code that you fix in this patch is ok, but most
> 
> of the functionality of the xenkbd_set_connected
> 
> is still useless: feature-abs-pointer/request-abs-pointer
> 
> negotiation has only meaning at probe time, when we are
> 
> configuring input device:
> 
>     if (abs) {
>         __set_bit(EV_ABS, ptr->evbit);
>         input_set_abs_params(ptr, ABS_X, 0, XENFB_WIDTH, 0, 0);
>         input_set_abs_params(ptr, ABS_Y, 0, XENFB_HEIGHT, 0, 0);
>     } else {
>         input_set_capability(ptr, EV_REL, REL_X);
>         input_set_capability(ptr, EV_REL, REL_Y);
>     }
> Once the input device is configured and registered (probe done)
> 
> we do not touch/re-configure that input device anymore,
> 
> regardless of the setting negotiation at xenkbd_set_connected
> 
> time. Thus, this code is not needed and can be cleaned out.
> 
> What your patch actually fixes is the fact that
> 
> "xenbus_switch_state(dev, XenbusStateConnected);" was not called,
> 
> so this is the only line needed.

This makes sense.

I'll modify patch2 according to your suggestion instead of adding
another patch removing most of the stuff added by patch 2.


Juergen

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

* Re: [PATCH v2 2/2] xen, input: repair xen-kbdfront resolution setting via xenstore
  2017-04-11  9:00   ` [PATCH v2 2/2] xen,input: " Oleksandr Andrushchenko
  2017-04-11  9:14     ` Juergen Gross
@ 2017-04-11  9:14     ` Juergen Gross
  1 sibling, 0 replies; 16+ messages in thread
From: Juergen Gross @ 2017-04-11  9:14 UTC (permalink / raw)
  To: Oleksandr Andrushchenko, linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov

On 11/04/17 11:00, Oleksandr Andrushchenko wrote:
> Hi, Juergen,
> 
> could you please make one more patch in the series:
> 
> the code that you fix in this patch is ok, but most
> 
> of the functionality of the xenkbd_set_connected
> 
> is still useless: feature-abs-pointer/request-abs-pointer
> 
> negotiation has only meaning at probe time, when we are
> 
> configuring input device:
> 
>     if (abs) {
>         __set_bit(EV_ABS, ptr->evbit);
>         input_set_abs_params(ptr, ABS_X, 0, XENFB_WIDTH, 0, 0);
>         input_set_abs_params(ptr, ABS_Y, 0, XENFB_HEIGHT, 0, 0);
>     } else {
>         input_set_capability(ptr, EV_REL, REL_X);
>         input_set_capability(ptr, EV_REL, REL_Y);
>     }
> Once the input device is configured and registered (probe done)
> 
> we do not touch/re-configure that input device anymore,
> 
> regardless of the setting negotiation at xenkbd_set_connected
> 
> time. Thus, this code is not needed and can be cleaned out.
> 
> What your patch actually fixes is the fact that
> 
> "xenbus_switch_state(dev, XenbusStateConnected);" was not called,
> 
> so this is the only line needed.

This makes sense.

I'll modify patch2 according to your suggestion instead of adding
another patch removing most of the stuff added by patch 2.


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* Re: [PATCH v2 1/2] xen,input: add xen-kbdfront module parameter for setting resolution
  2017-04-11  8:50 ` [PATCH v2 1/2] xen,input: " Juergen Gross
  2017-04-11  9:26   ` [PATCH v2 1/2] xen, input: " Oleksandr Andrushchenko
@ 2017-04-11  9:26   ` Oleksandr Andrushchenko
  2017-04-11  9:35     ` [PATCH v2 1/2] xen, input: " Juergen Gross
  2017-04-11  9:35     ` [PATCH v2 1/2] xen,input: " Juergen Gross
  1 sibling, 2 replies; 16+ messages in thread
From: Oleksandr Andrushchenko @ 2017-04-11  9:26 UTC (permalink / raw)
  To: Juergen Gross, linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov

On 04/11/2017 11:50 AM, Juergen Gross wrote:
> Add a parameter for setting the resolution of xen-kbdfront in order to
> be able to cope with a (virtual) frame buffer of arbitrary resolution.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   drivers/input/misc/xen-kbdfront.c | 18 ++++++++++++++----
>   1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
> index 3900875dec10..90e7981a7768 100644
> --- a/drivers/input/misc/xen-kbdfront.c
> +++ b/drivers/input/misc/xen-kbdfront.c
> @@ -41,6 +41,12 @@ struct xenkbd_info {
>   	char phys[32];
>   };
>   
> +enum { KPARAM_WIDTH, KPARAM_HEIGHT, KPARAM_CNT };
> +static int size[KPARAM_CNT] = { XENFB_WIDTH, XENFB_HEIGHT };
if you are about to release yet another version of the series,
could you please also rename "size" to "ptr_size/pointer_size/XXX",
so later when I add multi-touch support I can have
"mtouch_size" module parameter and they are consistent all together?
> +module_param_array(size, int, NULL, 0444);
> +MODULE_PARM_DESC(size,
> +	"Pointing device width, height in pixels (default 800,600)");
> +
>   static int xenkbd_remove(struct xenbus_device *);
>   static int xenkbd_connect_backend(struct xenbus_device *, struct xenkbd_info *);
>   static void xenkbd_disconnect_backend(struct xenkbd_info *);
> @@ -174,8 +180,8 @@ static int xenkbd_probe(struct xenbus_device *dev,
>   
>   	if (abs) {
>   		__set_bit(EV_ABS, ptr->evbit);
> -		input_set_abs_params(ptr, ABS_X, 0, XENFB_WIDTH, 0, 0);
> -		input_set_abs_params(ptr, ABS_Y, 0, XENFB_HEIGHT, 0, 0);
> +		input_set_abs_params(ptr, ABS_X, 0, size[KPARAM_WIDTH], 0, 0);
> +		input_set_abs_params(ptr, ABS_Y, 0, size[KPARAM_HEIGHT], 0, 0);
>   	} else {
>   		input_set_capability(ptr, EV_REL, REL_X);
>   		input_set_capability(ptr, EV_REL, REL_Y);
> @@ -344,12 +350,16 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
>   
>   		/* Set input abs params to match backend screen res */
>   		if (xenbus_scanf(XBT_NIL, info->xbdev->otherend,
> -				 "width", "%d", &val) > 0)
> +				 "width", "%d", &val) > 0) {
>   			input_set_abs_params(info->ptr, ABS_X, 0, val, 0, 0);
> +			size[KPARAM_WIDTH] = val;
> +		}
>   
>   		if (xenbus_scanf(XBT_NIL, info->xbdev->otherend,
> -				 "height", "%d", &val) > 0)
> +				 "height", "%d", &val) > 0) {
>   			input_set_abs_params(info->ptr, ABS_Y, 0, val, 0, 0);
> +			size[KPARAM_HEIGHT] = val;
> +		}
>   
>   		break;
>   
Thank you,
Oleksandr

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

* Re: [PATCH v2 1/2] xen, input: add xen-kbdfront module parameter for setting resolution
  2017-04-11  8:50 ` [PATCH v2 1/2] xen,input: " Juergen Gross
@ 2017-04-11  9:26   ` Oleksandr Andrushchenko
  2017-04-11  9:26   ` [PATCH v2 1/2] xen,input: " Oleksandr Andrushchenko
  1 sibling, 0 replies; 16+ messages in thread
From: Oleksandr Andrushchenko @ 2017-04-11  9:26 UTC (permalink / raw)
  To: Juergen Gross, linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov

On 04/11/2017 11:50 AM, Juergen Gross wrote:
> Add a parameter for setting the resolution of xen-kbdfront in order to
> be able to cope with a (virtual) frame buffer of arbitrary resolution.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   drivers/input/misc/xen-kbdfront.c | 18 ++++++++++++++----
>   1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
> index 3900875dec10..90e7981a7768 100644
> --- a/drivers/input/misc/xen-kbdfront.c
> +++ b/drivers/input/misc/xen-kbdfront.c
> @@ -41,6 +41,12 @@ struct xenkbd_info {
>   	char phys[32];
>   };
>   
> +enum { KPARAM_WIDTH, KPARAM_HEIGHT, KPARAM_CNT };
> +static int size[KPARAM_CNT] = { XENFB_WIDTH, XENFB_HEIGHT };
if you are about to release yet another version of the series,
could you please also rename "size" to "ptr_size/pointer_size/XXX",
so later when I add multi-touch support I can have
"mtouch_size" module parameter and they are consistent all together?
> +module_param_array(size, int, NULL, 0444);
> +MODULE_PARM_DESC(size,
> +	"Pointing device width, height in pixels (default 800,600)");
> +
>   static int xenkbd_remove(struct xenbus_device *);
>   static int xenkbd_connect_backend(struct xenbus_device *, struct xenkbd_info *);
>   static void xenkbd_disconnect_backend(struct xenkbd_info *);
> @@ -174,8 +180,8 @@ static int xenkbd_probe(struct xenbus_device *dev,
>   
>   	if (abs) {
>   		__set_bit(EV_ABS, ptr->evbit);
> -		input_set_abs_params(ptr, ABS_X, 0, XENFB_WIDTH, 0, 0);
> -		input_set_abs_params(ptr, ABS_Y, 0, XENFB_HEIGHT, 0, 0);
> +		input_set_abs_params(ptr, ABS_X, 0, size[KPARAM_WIDTH], 0, 0);
> +		input_set_abs_params(ptr, ABS_Y, 0, size[KPARAM_HEIGHT], 0, 0);
>   	} else {
>   		input_set_capability(ptr, EV_REL, REL_X);
>   		input_set_capability(ptr, EV_REL, REL_Y);
> @@ -344,12 +350,16 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
>   
>   		/* Set input abs params to match backend screen res */
>   		if (xenbus_scanf(XBT_NIL, info->xbdev->otherend,
> -				 "width", "%d", &val) > 0)
> +				 "width", "%d", &val) > 0) {
>   			input_set_abs_params(info->ptr, ABS_X, 0, val, 0, 0);
> +			size[KPARAM_WIDTH] = val;
> +		}
>   
>   		if (xenbus_scanf(XBT_NIL, info->xbdev->otherend,
> -				 "height", "%d", &val) > 0)
> +				 "height", "%d", &val) > 0) {
>   			input_set_abs_params(info->ptr, ABS_Y, 0, val, 0, 0);
> +			size[KPARAM_HEIGHT] = val;
> +		}
>   
>   		break;
>   
Thank you,
Oleksandr

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* Re: [PATCH v2 1/2] xen,input: add xen-kbdfront module parameter for setting resolution
  2017-04-11  9:26   ` [PATCH v2 1/2] xen,input: " Oleksandr Andrushchenko
  2017-04-11  9:35     ` [PATCH v2 1/2] xen, input: " Juergen Gross
@ 2017-04-11  9:35     ` Juergen Gross
  2017-04-11  9:39       ` Oleksandr Andrushchenko
  2017-04-11  9:39       ` [PATCH v2 1/2] xen, input: " Oleksandr Andrushchenko
  1 sibling, 2 replies; 16+ messages in thread
From: Juergen Gross @ 2017-04-11  9:35 UTC (permalink / raw)
  To: Oleksandr Andrushchenko, linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov

On 11/04/17 11:26, Oleksandr Andrushchenko wrote:
> On 04/11/2017 11:50 AM, Juergen Gross wrote:
>> Add a parameter for setting the resolution of xen-kbdfront in order to
>> be able to cope with a (virtual) frame buffer of arbitrary resolution.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>>   drivers/input/misc/xen-kbdfront.c | 18 ++++++++++++++----
>>   1 file changed, 14 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/input/misc/xen-kbdfront.c
>> b/drivers/input/misc/xen-kbdfront.c
>> index 3900875dec10..90e7981a7768 100644
>> --- a/drivers/input/misc/xen-kbdfront.c
>> +++ b/drivers/input/misc/xen-kbdfront.c
>> @@ -41,6 +41,12 @@ struct xenkbd_info {
>>       char phys[32];
>>   };
>>   +enum { KPARAM_WIDTH, KPARAM_HEIGHT, KPARAM_CNT };
>> +static int size[KPARAM_CNT] = { XENFB_WIDTH, XENFB_HEIGHT };
> if you are about to release yet another version of the series,
> could you please also rename "size" to "ptr_size/pointer_size/XXX",
> so later when I add multi-touch support I can have
> "mtouch_size" module parameter and they are consistent all together?

Sure. After all I think I can merge the patches, as reading width and
height a second time while connecting the device seems to be pointless.

While logically patch 2 seems to correct the connection process there
was never a problem with it being wrong: width and height would have
been already read during probing of the device so missing to read them
again wouldn't lead to any wrong settings.


Juergen

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

* Re: [PATCH v2 1/2] xen, input: add xen-kbdfront module parameter for setting resolution
  2017-04-11  9:26   ` [PATCH v2 1/2] xen,input: " Oleksandr Andrushchenko
@ 2017-04-11  9:35     ` Juergen Gross
  2017-04-11  9:35     ` [PATCH v2 1/2] xen,input: " Juergen Gross
  1 sibling, 0 replies; 16+ messages in thread
From: Juergen Gross @ 2017-04-11  9:35 UTC (permalink / raw)
  To: Oleksandr Andrushchenko, linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov

On 11/04/17 11:26, Oleksandr Andrushchenko wrote:
> On 04/11/2017 11:50 AM, Juergen Gross wrote:
>> Add a parameter for setting the resolution of xen-kbdfront in order to
>> be able to cope with a (virtual) frame buffer of arbitrary resolution.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>>   drivers/input/misc/xen-kbdfront.c | 18 ++++++++++++++----
>>   1 file changed, 14 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/input/misc/xen-kbdfront.c
>> b/drivers/input/misc/xen-kbdfront.c
>> index 3900875dec10..90e7981a7768 100644
>> --- a/drivers/input/misc/xen-kbdfront.c
>> +++ b/drivers/input/misc/xen-kbdfront.c
>> @@ -41,6 +41,12 @@ struct xenkbd_info {
>>       char phys[32];
>>   };
>>   +enum { KPARAM_WIDTH, KPARAM_HEIGHT, KPARAM_CNT };
>> +static int size[KPARAM_CNT] = { XENFB_WIDTH, XENFB_HEIGHT };
> if you are about to release yet another version of the series,
> could you please also rename "size" to "ptr_size/pointer_size/XXX",
> so later when I add multi-touch support I can have
> "mtouch_size" module parameter and they are consistent all together?

Sure. After all I think I can merge the patches, as reading width and
height a second time while connecting the device seems to be pointless.

While logically patch 2 seems to correct the connection process there
was never a problem with it being wrong: width and height would have
been already read during probing of the device so missing to read them
again wouldn't lead to any wrong settings.


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* Re: [PATCH v2 1/2] xen,input: add xen-kbdfront module parameter for setting resolution
  2017-04-11  9:35     ` [PATCH v2 1/2] xen,input: " Juergen Gross
@ 2017-04-11  9:39       ` Oleksandr Andrushchenko
  2017-04-11  9:39       ` [PATCH v2 1/2] xen, input: " Oleksandr Andrushchenko
  1 sibling, 0 replies; 16+ messages in thread
From: Oleksandr Andrushchenko @ 2017-04-11  9:39 UTC (permalink / raw)
  To: Juergen Gross, linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov

On 04/11/2017 12:35 PM, Juergen Gross wrote:
> On 11/04/17 11:26, Oleksandr Andrushchenko wrote:
>> On 04/11/2017 11:50 AM, Juergen Gross wrote:
>>> Add a parameter for setting the resolution of xen-kbdfront in order to
>>> be able to cope with a (virtual) frame buffer of arbitrary resolution.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> ---
>>>    drivers/input/misc/xen-kbdfront.c | 18 ++++++++++++++----
>>>    1 file changed, 14 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/input/misc/xen-kbdfront.c
>>> b/drivers/input/misc/xen-kbdfront.c
>>> index 3900875dec10..90e7981a7768 100644
>>> --- a/drivers/input/misc/xen-kbdfront.c
>>> +++ b/drivers/input/misc/xen-kbdfront.c
>>> @@ -41,6 +41,12 @@ struct xenkbd_info {
>>>        char phys[32];
>>>    };
>>>    +enum { KPARAM_WIDTH, KPARAM_HEIGHT, KPARAM_CNT };
>>> +static int size[KPARAM_CNT] = { XENFB_WIDTH, XENFB_HEIGHT };
>> if you are about to release yet another version of the series,
>> could you please also rename "size" to "ptr_size/pointer_size/XXX",
>> so later when I add multi-touch support I can have
>> "mtouch_size" module parameter and they are consistent all together?
> Sure. After all I think I can merge the patches, as reading width and
> height a second time while connecting the device seems to be pointless.
>
> While logically patch 2 seems to correct the connection process there
> was never a problem with it being wrong: width and height would have
> been already read during probing of the device so missing to read them
> again wouldn't lead to any wrong settings.
Exactly, IMO this driver does need attention, but it
will also require changes to qemu-fb-backend if state
machine changes. This is why we still use this logic
in our backend as well
>
> Juergen

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

* Re: [PATCH v2 1/2] xen, input: add xen-kbdfront module parameter for setting resolution
  2017-04-11  9:35     ` [PATCH v2 1/2] xen,input: " Juergen Gross
  2017-04-11  9:39       ` Oleksandr Andrushchenko
@ 2017-04-11  9:39       ` Oleksandr Andrushchenko
  1 sibling, 0 replies; 16+ messages in thread
From: Oleksandr Andrushchenko @ 2017-04-11  9:39 UTC (permalink / raw)
  To: Juergen Gross, linux-kernel, xen-devel, linux-input
  Cc: boris.ostrovsky, dmitry.torokhov

On 04/11/2017 12:35 PM, Juergen Gross wrote:
> On 11/04/17 11:26, Oleksandr Andrushchenko wrote:
>> On 04/11/2017 11:50 AM, Juergen Gross wrote:
>>> Add a parameter for setting the resolution of xen-kbdfront in order to
>>> be able to cope with a (virtual) frame buffer of arbitrary resolution.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> ---
>>>    drivers/input/misc/xen-kbdfront.c | 18 ++++++++++++++----
>>>    1 file changed, 14 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/input/misc/xen-kbdfront.c
>>> b/drivers/input/misc/xen-kbdfront.c
>>> index 3900875dec10..90e7981a7768 100644
>>> --- a/drivers/input/misc/xen-kbdfront.c
>>> +++ b/drivers/input/misc/xen-kbdfront.c
>>> @@ -41,6 +41,12 @@ struct xenkbd_info {
>>>        char phys[32];
>>>    };
>>>    +enum { KPARAM_WIDTH, KPARAM_HEIGHT, KPARAM_CNT };
>>> +static int size[KPARAM_CNT] = { XENFB_WIDTH, XENFB_HEIGHT };
>> if you are about to release yet another version of the series,
>> could you please also rename "size" to "ptr_size/pointer_size/XXX",
>> so later when I add multi-touch support I can have
>> "mtouch_size" module parameter and they are consistent all together?
> Sure. After all I think I can merge the patches, as reading width and
> height a second time while connecting the device seems to be pointless.
>
> While logically patch 2 seems to correct the connection process there
> was never a problem with it being wrong: width and height would have
> been already read during probing of the device so missing to read them
> again wouldn't lead to any wrong settings.
Exactly, IMO this driver does need attention, but it
will also require changes to qemu-fb-backend if state
machine changes. This is why we still use this logic
in our backend as well
>
> Juergen


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* [PATCH v2 0/2] xen, input: xen-kbdfront pointing device resolution support
@ 2017-04-11  8:50 Juergen Gross
  0 siblings, 0 replies; 16+ messages in thread
From: Juergen Gross @ 2017-04-11  8:50 UTC (permalink / raw)
  To: linux-kernel, xen-devel, linux-input
  Cc: andr2000, Juergen Gross, boris.ostrovsky, dmitry.torokhov

As my patch tying the resolution of the xen pointing device to that of
the framebuffer wasn't accepted add support for different resolutions
via a module parameter.

Another possibility would be to set parameters via Xenstore, but this
is broken (patch 2 fixes that) and not yet supported by Xen tools.

V2: patch 1: make resolution changes via xenstore visible in sysfs

Juergen Gross (2):
  xen,input: add xen-kbdfront module parameter for setting resolution
  xen,input: repair xen-kbdfront resolution setting via xenstore

 drivers/input/misc/xen-kbdfront.c | 50 ++++++++++++++++++++++++++-------------
 1 file changed, 34 insertions(+), 16 deletions(-)

-- 
2.12.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

end of thread, other threads:[~2017-04-11  9:39 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-11  8:50 [PATCH v2 0/2] xen,input: xen-kbdfront pointing device resolution support Juergen Gross
2017-04-11  8:50 ` [PATCH v2 1/2] xen, input: add xen-kbdfront module parameter for setting resolution Juergen Gross
2017-04-11  8:50 ` [PATCH v2 1/2] xen,input: " Juergen Gross
2017-04-11  9:26   ` [PATCH v2 1/2] xen, input: " Oleksandr Andrushchenko
2017-04-11  9:26   ` [PATCH v2 1/2] xen,input: " Oleksandr Andrushchenko
2017-04-11  9:35     ` [PATCH v2 1/2] xen, input: " Juergen Gross
2017-04-11  9:35     ` [PATCH v2 1/2] xen,input: " Juergen Gross
2017-04-11  9:39       ` Oleksandr Andrushchenko
2017-04-11  9:39       ` [PATCH v2 1/2] xen, input: " Oleksandr Andrushchenko
2017-04-11  8:50 ` [PATCH v2 2/2] xen, input: repair xen-kbdfront resolution setting via xenstore Juergen Gross
2017-04-11  8:50 ` [PATCH v2 2/2] xen,input: " Juergen Gross
2017-04-11  9:00   ` [PATCH v2 2/2] xen, input: " Oleksandr Andrushchenko
2017-04-11  9:00   ` [PATCH v2 2/2] xen,input: " Oleksandr Andrushchenko
2017-04-11  9:14     ` Juergen Gross
2017-04-11  9:14     ` [PATCH v2 2/2] xen, input: " Juergen Gross
  -- strict thread matches above, loose matches on Subject: below --
2017-04-11  8:50 [PATCH v2 0/2] xen, input: xen-kbdfront pointing device resolution support Juergen Gross

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.