All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Torokhov <dtor_core@ameritech.net>
To: Kenan Esau <kenan.esau@conan.de>
Cc: harald.hoyer@redhat.de, linux-input@atrey.karlin.mff.cuni.cz,
	linux-kernel@vger.kernel.org, Vojtech Pavlik <vojtech@suse.cz>
Subject: [PATCH 3/4] Lifebook: rearrange init code
Date: Tue, 22 Mar 2005 02:16:38 -0500	[thread overview]
Message-ID: <200503220216.38756.dtor_core@ameritech.net> (raw)
In-Reply-To: <200503220215.34198.dtor_core@ameritech.net>

===================================================================

Input: lifebook - adjust initialization routines to be in line with
       the rest of protocols in preparation to dynamic protocol
       switching.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>


 lifebook.c     |   46 ++++++++++++++++++++++++++++------------------
 lifebook.h     |    4 ++--
 psmouse-base.c |   14 ++++++++++++--
 3 files changed, 42 insertions(+), 22 deletions(-)

Index: dtor/drivers/input/mouse/lifebook.h
===================================================================
--- dtor.orig/drivers/input/mouse/lifebook.h
+++ dtor/drivers/input/mouse/lifebook.h
@@ -11,7 +11,7 @@
 #ifndef _LIFEBOOK_H
 #define _LIFEBOOK_H
 
-int lifebook_detect(struct psmouse *psmouse, unsigned int max_proto,
-                    int set_properties);
+int lifebook_detect(struct psmouse *psmouse, int set_properties);
+int lifebook_init(struct psmouse *psmouse);
 
 #endif
Index: dtor/drivers/input/mouse/psmouse-base.c
===================================================================
--- dtor.orig/drivers/input/mouse/psmouse-base.c
+++ dtor/drivers/input/mouse/psmouse-base.c
@@ -424,8 +424,18 @@ static int psmouse_extensions(struct psm
 {
 	int synaptics_hardware = 0;
 
-	if (lifebook_detect(psmouse, max_proto, set_properties) == 0)
-		return PSMOUSE_LIFEBOOK;
+/*
+ * We always check for lifebook because it does not disturb mouse
+ * (it only checks DMI information).
+ */
+	if (lifebook_detect(psmouse, set_properties) == 0 ||
+	    max_proto == PSMOUSE_LIFEBOOK) {
+
+		if (max_proto > PSMOUSE_IMEX) {
+			if (!set_properties || lifebook_init(psmouse) == 0)
+				return PSMOUSE_LIFEBOOK;
+		}
+	}
 
 /*
  * Try Kensington ThinkingMouse (we try first, because synaptics probe
Index: dtor/drivers/input/mouse/lifebook.c
===================================================================
--- dtor.orig/drivers/input/mouse/lifebook.c
+++ dtor/drivers/input/mouse/lifebook.c
@@ -71,7 +71,7 @@ static psmouse_ret_t lifebook_process_by
 	return PSMOUSE_FULL_PACKET;
 }
 
-static int lifebook_initialize(struct psmouse *psmouse)
+static int lifebook_absolute_mode(struct psmouse *psmouse)
 {
 	struct ps2dev *ps2dev = &psmouse->ps2dev;
 	unsigned char param;
@@ -95,27 +95,37 @@ static void lifebook_disconnect(struct p
 	psmouse_reset(psmouse);
 }
 
-int lifebook_detect(struct psmouse *psmouse, unsigned int max_proto,
-                    int set_properties)
+int lifebook_detect(struct psmouse *psmouse, int set_properties)
 {
-        if (lifebook_check_dmi() && max_proto != PSMOUSE_LIFEBOOK)
+        if (lifebook_check_dmi())
                 return -1;
 
 	if (set_properties) {
-		psmouse->vendor = "Fujitsu Lifebook";
-		psmouse->name = "TouchScreen";
-		psmouse->dev.evbit[0] = BIT(EV_ABS) | BIT(EV_KEY) | BIT(EV_REL);
-		psmouse->dev.keybit[LONG(BTN_LEFT)] = BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT);
-		psmouse->dev.keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);
-		psmouse->dev.relbit[0] = BIT(REL_X) | BIT(REL_Y);
-		input_set_abs_params(&psmouse->dev, ABS_X, 0, 1024, 0, 0);
-		input_set_abs_params(&psmouse->dev, ABS_Y, 0, 1024, 0, 0);
-
-		psmouse->protocol_handler = lifebook_process_byte;
-		psmouse->disconnect = lifebook_disconnect;
-		psmouse->reconnect  = lifebook_initialize;
-		psmouse->pktsize = 3;
+		psmouse->vendor = "Fujitsu";
+		psmouse->name = "Lifebook TouchScreen";
+
 	}
 
-        return lifebook_initialize(psmouse);
+        return 0;
 }
+
+int lifebook_init(struct psmouse *psmouse)
+{
+	if (lifebook_absolute_mode(psmouse))
+		return -1;
+
+	psmouse->dev.evbit[0] = BIT(EV_ABS) | BIT(EV_KEY) | BIT(EV_REL);
+	psmouse->dev.keybit[LONG(BTN_LEFT)] = BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT);
+	psmouse->dev.keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);
+	psmouse->dev.relbit[0] = BIT(REL_X) | BIT(REL_Y);
+	input_set_abs_params(&psmouse->dev, ABS_X, 0, 1024, 0, 0);
+	input_set_abs_params(&psmouse->dev, ABS_Y, 0, 1024, 0, 0);
+
+	psmouse->protocol_handler = lifebook_process_byte;
+	psmouse->disconnect = lifebook_disconnect;
+	psmouse->reconnect  = lifebook_absolute_mode;
+	psmouse->pktsize = 3;
+
+	return 0;
+}
+

  reply	other threads:[~2005-03-22  7:21 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-11 20:10 [rfc/rft] Fujitsu B-Series Lifebook PS/2 TouchScreen driver Vojtech Pavlik
2005-02-12 17:01 ` Kenan Esau
2005-02-12 17:46   ` Arjan van de Ven
2005-02-13  9:39     ` Kenan Esau
2005-02-13 11:46       ` Vojtech Pavlik
2005-02-12 18:17   ` Dmitry Torokhov
2005-02-12 18:34   ` Vojtech Pavlik
2005-02-13 10:05     ` Kenan Esau
2005-02-13 12:01       ` Vojtech Pavlik
2005-02-13 18:14         ` Kenan Esau
2005-02-13 19:02           ` Vojtech Pavlik
     [not found] ` <200502130149.11183.dtor_core@ameritech.net>
2005-02-13  8:36   ` Vojtech Pavlik
2005-02-14 10:06 ` Harald Hoyer
2005-02-15  8:57 ` Kenan Esau
2005-02-15 13:43   ` Vojtech Pavlik
2005-02-15 14:43     ` Dmitry Torokhov
2005-02-15 17:03       ` Kenan Esau
2005-02-15 17:09         ` Vojtech Pavlik
2005-02-15 17:42         ` Dmitry Torokhov
2005-02-15 17:15     ` Kenan Esau
2005-02-16 18:34     ` Kenan Esau
2005-02-16 21:35       ` Vojtech Pavlik
2005-02-17 14:19         ` Kenan Esau
2005-02-17 15:04           ` Vojtech Pavlik
2005-02-17 19:42             ` Vojtech Pavlik
2005-02-19 12:54               ` Kenan Esau
2005-02-19 13:16                 ` Vojtech Pavlik
2005-02-21  8:06                   ` Kenan Esau
2005-02-24  9:03                     ` Vojtech Pavlik
2005-03-01  8:11                       ` Kenan Esau
2005-03-01 12:08                         ` Vojtech Pavlik
2005-03-07  7:27                           ` Kenan Esau
2005-03-07  7:34                             ` Vojtech Pavlik
2005-03-15 13:25                               ` Kenan Esau
2005-03-21 12:44                                 ` Vojtech Pavlik
2005-03-21 14:52                                   ` Dmitry Torokhov
2005-03-21 15:31                                     ` Kenan Esau
2005-03-21 15:44                                       ` Dmitry Torokhov
2005-03-22  7:13                                       ` Dmitry Torokhov
2005-03-22  7:14                                         ` [PATCH 1/4] Lifebook: dmi on x86 only Dmitry Torokhov
2005-03-22  7:15                                           ` [PATCH 2/4] Lifebook: various cleanups Dmitry Torokhov
2005-03-22  7:16                                             ` Dmitry Torokhov [this message]
2005-03-22  7:17                                               ` [PATCH 4/4] psmouse: dynamic protocol switching via sysfs Dmitry Torokhov
2005-04-03 19:49                                                 ` Kenan Esau
2005-04-04  5:45                                                   ` Dmitry Torokhov
2005-04-04  6:48                                                     ` Kenan Esau
2005-03-22  7:29                                           ` [PATCH 1/4] Lifebook: dmi on x86 only Dave Jones
2005-03-22  7:33                                             ` Dmitry Torokhov
2005-03-22 14:01                                           ` Alan Cox
2005-03-22 10:01                                         ` [rfc/rft] Fujitsu B-Series Lifebook PS/2 TouchScreen driver Andrey Panin
2005-03-22 14:20                                           ` Dmitry Torokhov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200503220216.38756.dtor_core@ameritech.net \
    --to=dtor_core@ameritech.net \
    --cc=harald.hoyer@redhat.de \
    --cc=kenan.esau@conan.de \
    --cc=linux-input@atrey.karlin.mff.cuni.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vojtech@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.