Dell ALPS patches for Dell Latitude E5250/5250, E5450/5450, E5550/5550
Subsystems (3)
Hello,
I want to let you know that Dell officially provides modified psmouse/alps.c driver for Ubuntu 14.04 from Dell support webpage:
http://www.dell.com/support/home/ga/en/gadhs1/Drivers/DriversDetails?driverId=CGC6T
I do not own any of E5250/5250, E5450/5450, E5550/5550 machines, but at least you should know that Dell (or some subcontractor) is modifying linux kernel drivers to work on Dell machines with Ubuntu.
I generated diff against upstream linux v3.17-rc1 version. Maybe it can be useful for other people (who do not use Ubuntu and therefore cannot install Dell driver package).
Btw, same alps_probe_trackstick_v3() "hack" code is already for rushmore devices in upstream kernel...
debs/touchpad-alps-trusty-dkms_1.0_all.deb/usr/src/touchpad-alps-trusty-1.0/alps.c renamed from drivers/input/mouse/alps.c +11 -0
@@ -24,12 +24,15 @@#include "psmouse.h" #include "alps.h" +#define ALPS_DRIVER_RELEASE_DATE "2014/08/25" +/* * Definitions for ALPS version 3 and 4 command mode protocol */ #define ALPS_CMD_NIBBLE_10 0x01f2#define ALPS_REG_BASE_RUSHMORE 0xc2c0 +#define ALPS_REG_BASE_V7 0xc2c0#define ALPS_REG_BASE_PINNACLE 0x0000static const struct alps_nibble_commands alps_v3_nibble_commands[] = {
@@ -2208,6 +2211,12 @@ static int alps_identify(struct psmouse priv->proto_version =ALPS_PROTO_V7 ;alps_set_defaults (priv); +/* hack to make addr_command, nibble_command available */ + psmouse->private = priv; + +if (alps_probe_trackstick_v3 (psmouse,ALPS_REG_BASE_V7 )) + priv->flags &= ~ALPS_DUALPOINT ; +return 0 ; }else if (ec[0 ] ==0x88 && ec[1 ] ==0x08 ) { priv->proto_version =ALPS_PROTO_V3 ;
@@ -2312,6 +2321,8 @@ int alps_init(struct psmouse *psmouse)if (priv->hw_init (psmouse)) goto init_fail; +printk ("ALPS driver in use! %s, date:%s \n" , __func__,ALPS_DRIVER_RELEASE_DATE ); +/* * Undo part of setup done for us by psmouse core since touchpad * is not a relative device.
Signature · 2 lines
Pali Rohár [email protected]