Re: [PATCH v2] xen, input: try to read screen resolution for xen-kbdfront
From: Juergen Gross <jgross@suse.com>
Date: 2017-01-27 08:05:13
Also in:
lkml, xen-devel
On 27/01/17 08:21, Oleksandr Andrushchenko wrote:
On 01/27/2017 09:12 AM, Juergen Gross wrote:quoted
Instead of using the default resolution of 800*600 for the pointing device of xen-kbdfront try to read the resolution of the (virtual) framebuffer device. Use the default as fallback only. Signed-off-by: Juergen Gross <jgross@suse.com> --- V2: get framebuffer resolution only if CONFIG_FB (Dmitry Torokhov) --- drivers/input/misc/xen-kbdfront.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-)diff --git a/drivers/input/misc/xen-kbdfront.cb/drivers/input/misc/xen-kbdfront.c index 3900875..3aae9b4 100644--- a/drivers/input/misc/xen-kbdfront.c +++ b/drivers/input/misc/xen-kbdfront.c@@ -16,6 +16,7 @@ #include <linux/kernel.h> #include <linux/errno.h> #include <linux/module.h> +#include <linux/fb.h> #include <linux/input.h> #include <linux/slab.h> @@ -108,7 +109,7 @@ static irqreturn_t input_handler(int rq, void*dev_id) static int xenkbd_probe(struct xenbus_device *dev, const struct xenbus_device_id *id) { - int ret, i; + int ret, i, width, height; unsigned int abs; struct xenkbd_info *info; struct input_dev *kbd, *ptr;@@ -173,9 +174,17 @@ static int xenkbd_probe(struct xenbus_device *dev, ptr->id.product = 0xfffe; if (abs) { + width = XENFB_WIDTH; + height = XENFB_HEIGHT; +#ifdef CONFIG_FB + if (registered_fb[0]) {This still will not help if FB gets registered after kbd+ptr
Hmm, so you think I should add a call to fb_register_client() to get events for new registered framebuffer devices? This would probably work. I'll have a try. Thanks, Juergen _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel