linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Dell ALPS patches for Dell Latitude E5250/5250, E5450/5450, E5550/5550
@ 2015-02-10  9:29 Pali Rohár
  0 siblings, 0 replies; only message in thread
From: Pali Rohár @ 2015-02-10  9:29 UTC (permalink / raw)
  To: Dmitry Torokhov, Hans de Goede, linux-input, linux-kernel,
	Vadim Klishko

[-- Attachment #1: Type: Text/Plain, Size: 2166 bytes --]

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... 


--- linux-3.17-rc1/drivers/input/mouse/alps.c	2015-02-08 12:30:54.668554221 +0100
+++ houston-15_A10.fish.tar.gz/debs/touchpad-alps-trusty-dkms_1.0_all.deb/usr/src/touchpad-alps-trusty-1.0/alps.c	2014-09-15 11:49:10.000000000 +0200
@@ -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	0x0000
 
 static 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.


-- 
Pali Rohár
pali.rohar@gmail.com

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2015-02-10  9:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-10  9:29 Dell ALPS patches for Dell Latitude E5250/5250, E5450/5450, E5550/5550 Pali Rohár

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).