Input: synaptics - export model bits
authorDmitry Torokhov <dtor@insightbb.com>
Thu, 12 Apr 2007 05:30:41 +0000 (01:30 -0400)
committerDmitry Torokhov <dtor@insightbb.com>
Thu, 12 Apr 2007 05:30:41 +0000 (01:30 -0400)
Encode synaptics model in psmouse->model so it will be
exported via sysfs as input_dev->id.version and become
visible for applications.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/mouse/synaptics.c

index e42a0a4345ac13371a537e605b15ad4333d49f44..c77788bf932dfc586506c6784a8643eb78ffc86c 100644 (file)
@@ -655,6 +655,16 @@ int synaptics_init(struct psmouse *psmouse)
 
        set_input_params(psmouse->dev, priv);
 
+       /*
+        * Encode touchpad model so that it can be used to set
+        * input device->id.version and be visible to userspace.
+        * Because version is __u16 we have to drop something.
+        * Hardware info bits seem to be good candidates as they
+        * are documented to be for Synaptics corp. internal use.
+        */
+       psmouse->model = ((priv->model_id & 0x00ff0000) >> 8) |
+                         (priv->model_id & 0x000000ff);
+
        psmouse->protocol_handler = synaptics_process_byte;
        psmouse->set_rate = synaptics_set_rate;
        psmouse->disconnect = synaptics_disconnect;