From patchwork Fri Sep 17 21:35:01 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leann Ogasawara X-Patchwork-Id: 65107 X-Patchwork-Delegate: leann.ogasawara@canonical.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from chlorine.canonical.com (chlorine.canonical.com [91.189.94.204]) by ozlabs.org (Postfix) with ESMTP id 230FAB70A8 for ; Sat, 18 Sep 2010 07:35:16 +1000 (EST) Received: from localhost ([127.0.0.1] helo=chlorine.canonical.com) by chlorine.canonical.com with esmtp (Exim 4.69) (envelope-from ) id 1OwiaM-0002rZ-UZ; Fri, 17 Sep 2010 22:35:10 +0100 Received: from adelie.canonical.com ([91.189.90.139]) by chlorine.canonical.com with esmtp (Exim 4.69) (envelope-from ) id 1OwiaL-0002rU-0p for kernel-team@lists.ubuntu.com; Fri, 17 Sep 2010 22:35:09 +0100 Received: from hutte.canonical.com ([91.189.90.181]) by adelie.canonical.com with esmtp (Exim 4.69 #1 (Debian)) id 1OwiaI-0000Lg-Uk; Fri, 17 Sep 2010 22:35:07 +0100 Received: from c-76-105-148-120.hsd1.or.comcast.net ([76.105.148.120] helo=[192.168.1.4]) by hutte.canonical.com with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.69) (envelope-from ) id 1OwiaI-00076S-IJ; Fri, 17 Sep 2010 22:35:06 +0100 Subject: [Maverick] [PATCH] Revert "UBUNTU: SAUCE: Add support for Intellimouse Mode in ALPS touchpad on Dell E2 series Laptops" From: Leann Ogasawara To: "manoj.iyer" Date: Fri, 17 Sep 2010 14:35:01 -0700 Message-ID: <1284759301.2007.3465.camel@emiko> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Cc: kernel-team X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.9 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kernel-team-bounces@lists.ubuntu.com Errors-To: kernel-team-bounces@lists.ubuntu.com Just FYI, I've reverted the following patch from the Maverick kernel: commit bd79df42218fe1db5e683b567791d4bb97b60685 Author: Manoj Iyer Date: Wed Sep 8 19:40:57 2010 +0100 UBUNTU: SAUCE: Add support for Intellimouse Mode in ALPS touchpad on Dell E2 series Laptops It resulted in a regression which broke a number of ALPS touchpads. Please resend a proper fix for Bug 632884 as an SRU for Maverick. Thanks, Leann From 326561039f1ee50ba1e854ce5a04f5be0cd881b9 Mon Sep 17 00:00:00 2001 From: Andy Whitcroft Date: Fri, 17 Sep 2010 15:34:35 +0100 Subject: [PATCH] Revert "UBUNTU: SAUCE: Add support for Intellimouse Mode in ALPS touchpad on Dell E2 series Laptops" BugLink: http://bugs.launchpad.net/bugs/641320 This reverts commit bd79df42218fe1db5e683b567791d4bb97b60685. This commit seems to have an outdated patch in it and seems to break a number of touchpads. Reverting for now. Signed-off-by: Andy Whitcroft Signed-off-by: Leann Ogasawara --- drivers/input/mouse/alps.c | 81 ------------------------------------ drivers/input/mouse/alps.h | 5 -- drivers/input/mouse/psmouse-base.c | 3 +- 3 files changed, 1 insertions(+), 88 deletions(-) diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index 0963a0d..99d5876 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c @@ -63,8 +63,6 @@ static const struct alps_model_info alps_model_data[] = { /* Dell Latitude E5500, E6400, E6500, Precision M4400 */ { { 0x62, 0x02, 0x14 }, 0xcf, 0xcf, ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, - /* Dell Precision 4500 */ - { { 0x73, 0x02, 0x64 }, 0x80, 0x80, 0 }, { { 0x73, 0x02, 0x50 }, 0xcf, 0xcf, ALPS_FOUR_BUTTONS }, /* Dell Vostro 1400 */ { { 0x52, 0x01, 0x14 }, 0xff, 0xff, ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, /* Toshiba Tecra A11-11L */ @@ -113,77 +111,6 @@ static const struct alps_model_info alps_model_data[] = { * on a dualpoint, etc. */ - -/* Magic Sequence to enable Intellimouse Mode on Dell E2 Touchpads*/ - -static int dell_e2_setup_intellimouse_mode(void *data) -{ - struct psmouse *psmouse = (struct psmouse *)(data); - struct ps2dev *ps2dev = &psmouse->ps2dev; - struct input_dev *dev = psmouse->dev; - unsigned char param[] = {0, 0, 0}; - - if (ps2_command(ps2dev, param, 0x00f5) || - ps2_command(ps2dev, param, 0x00ea) || - ps2_command(ps2dev, param, 0x00ec) || - ps2_command(ps2dev, param, 0x00ec) || - ps2_command(ps2dev, param, 0x00ec) || - ps2_command(ps2dev, param, 0x03e9)) - return -1; - - dbg("alps:dell_e2_setup: param[0]: %x," - "param[1]: %x, param[2]: %x\n", param[0], - param[1], param[2]); -/* Check for supported model to continue */ - - if (!((param[0] == 0x88) && (param[1] == 0x07) - && ((param[2] == 0x9D) || (param[2] == 0x9B)))) - return -1; - - if (ps2_command(ps2dev, NULL, 0x00ec) || - ps2_command(ps2dev, NULL, 0x00f0) || - ps2_command(ps2dev, NULL, 0x00f0) || - ps2_command(ps2dev, NULL, 0x00f0) || - ps2_command(ps2dev, NULL, 0x00f3) || - ps2_command(ps2dev, NULL, 0x0028) || - ps2_command(ps2dev, NULL, 0x00f0) || - ps2_command(ps2dev, NULL, 0x00f6) || - ps2_command(ps2dev, NULL, 0x00ea) || - ps2_command(ps2dev, NULL, 0x00f4)) - return -1; - - __set_bit(BTN_MIDDLE, dev->keybit); - __set_bit(REL_WHEEL, dev->relbit); - - psmouse->pktsize = 4; - psmouse->type = PSMOUSE_IMPS; - - return 0; -} - -static const struct alps_model_quirk alps_model_init_quirk_tbl[] = { - - { {0x73, 0x02, 0x64}, dell_e2_setup_intellimouse_mode } -}; - -static int alps_model_init_quirk(struct psmouse *psmouse, - const struct alps_model_info *model) -{ - int rc = 1; - int i; - - for (i = 0; i < ARRAY_SIZE(alps_model_init_quirk_tbl); i++) { - if (!memcmp(model->signature, - alps_model_init_quirk_tbl[i].signature, - sizeof(alps_model_init_quirk_tbl[i].signature))) { - rc = alps_model_init_quirk_tbl[i].callback(psmouse); - break; - } - } - - return rc; -} - static bool alps_is_valid_first_byte(const struct alps_model_info *model, unsigned char data) { @@ -750,14 +677,6 @@ int alps_init(struct psmouse *psmouse) if (alps_hw_init(psmouse)) goto init_fail; - if (!alps_model_init_quirk(psmouse, model)) { - printk(KERN_WARNING "alps.c: Enabled hardware quirk, falling back to psmouse-core\n"); - input_free_device(dev2); - kfree(priv); - psmouse->private = NULL; - return 0; - } - /* * Undo part of setup done for us by psmouse core since touchpad * is not a relative device. diff --git a/drivers/input/mouse/alps.h b/drivers/input/mouse/alps.h index c54c5ea..904ed8b 100644 --- a/drivers/input/mouse/alps.h +++ b/drivers/input/mouse/alps.h @@ -26,11 +26,6 @@ struct alps_data { struct timer_list timer; }; -struct alps_model_quirk { -unsigned char signature[3]; -int (*callback)(void *data); -}; - #ifdef CONFIG_MOUSE_PS2_ALPS int alps_detect(struct psmouse *psmouse, bool set_properties); int alps_init(struct psmouse *psmouse); diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index 3657de8..979c502 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c @@ -659,8 +659,7 @@ static int psmouse_extensions(struct psmouse *psmouse, ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_RESET_DIS); if (alps_detect(psmouse, set_properties) == 0) { if (!set_properties || alps_init(psmouse) == 0) -/* If ALPS model quirk was applied, don't change the settings */ - return psmouse->type ? psmouse->type : PSMOUSE_ALPS; + return PSMOUSE_ALPS; /* * Init failed, try basic relative protocols */