Re: [Xen-devel] [PATCH v2] xen, input: try to read screen resolution for xen-kbdfront

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/27/2017 10:14 AM, Juergen Gross wrote:
On 27/01/17 08:53, Oleksandr Andrushchenko wrote:
On 01/27/2017 09:46 AM, Juergen Gross wrote:
On 27/01/17 08:21, Oleksandr Andrushchenko wrote:
On 01/27/2017 09:12 AM, Juergen Gross wrote:
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@xxxxxxxx>
---
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.c
b/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?
yes, but also pay attention to CONFIG_FB_NOTIFY: you may still
end up w/o notification.
Okay, that's not worse than today.
agree
This would probably work. I'll have a try.


Thanks,

Juergen
My bigger concern here is that we try to tie keyboard and pointer device
to the framebuffer. IMO, these are independent parts of the system and
the relation
depends on the use-case. One can have graphics enabled w/o framebuffer
at all, e.g.
DRM/KMS + OpenGLES + Weston + kbd + ptr...
Again: that's a use case which will work as today. The current defaults
are being used.

The question is whether we should add a module parameter switching off
the automatic adaption of the resolution as there might be use cases
where we don't want this feature.
I think for those who doesn't want this resolution there is
still a possibility to change it on backend's XenbusStateConnected
So, no need for module parameter, IMO

Juergen

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux