]> err.no Git - linux-2.6/blobdiff - drivers/input/mouse/synaptics.c
Input: aiptek - use attribute group
[linux-2.6] / drivers / input / mouse / synaptics.c
index e42a0a4345ac13371a537e605b15ad4333d49f44..666ad3a53fdbfe74b9d978cd5cbdd22763075c78 100644 (file)
@@ -185,7 +185,7 @@ static int synaptics_query_hardware(struct psmouse *psmouse)
        int retries = 0;
 
        while ((retries++ < 3) && psmouse_reset(psmouse))
-               printk(KERN_ERR "synaptics reset failed\n");
+               /* empty */;
 
        if (synaptics_identify(psmouse))
                return -1;
@@ -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;