Kaynağa Gözat

Input: lifebook - various cleanups:
- do not try to set rate and resolution in init method, let
psmouse core do it for us. This also removes special quirks
from the core;
- do not disable mouse before doing full reset - meaningless;
- some formatting and whitespace cleanups.

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

Dmitry Torokhov 20 yıl önce
ebeveyn
işleme
14e9414396

+ 12 - 25
drivers/input/mouse/lifebook.c

@@ -20,12 +20,9 @@
 #include "psmouse.h"
 #include "lifebook.h"
 
-static int max_y = 1024;
-
-
 static struct dmi_system_id lifebook_dmi_table[] = {
        {
-               .ident = "Fujitsu Siemens Lifebook B-Sereis",
+               .ident = "Lifebook B",
                .matches = {
                        DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK B Series"),
                },
@@ -39,7 +36,7 @@ static psmouse_ret_t lifebook_process_byte(struct psmouse *psmouse, struct pt_re
 	unsigned char *packet = psmouse->packet;
 	struct input_dev *dev = &psmouse->dev;
 
-	if ( psmouse->pktcnt != 3 )
+	if (psmouse->pktcnt != 3)
 		return PSMOUSE_GOOD_DATA;
 
 	input_regs(dev, regs);
@@ -49,12 +46,12 @@ static psmouse_ret_t lifebook_process_byte(struct psmouse *psmouse, struct pt_re
 		input_report_abs(dev, ABS_X,
 				 (packet[1] | ((packet[0] & 0x30) << 4)));
 		input_report_abs(dev, ABS_Y,
-				 max_y - (packet[2] | ((packet[0] & 0xC0) << 2)));
+				 1024 - (packet[2] | ((packet[0] & 0xC0) << 2)));
 	} else {
-		input_report_rel(dev, REL_X, 
-				((packet[0] & 0x10) ? packet[1]-256 : packet[1]));
-		input_report_rel(dev, REL_Y, 
-				(- (int)((packet[0] & 0x20) ? packet[2]-256 : packet[2])));
+		input_report_rel(dev, REL_X,
+				((packet[0] & 0x10) ? packet[1] - 256 : packet[1]));
+		input_report_rel(dev, REL_Y,
+				 -(int)((packet[0] & 0x20) ? packet[2] - 256 : packet[2]));
 	}
 
 	input_report_key(dev, BTN_LEFT, packet[0] & 0x01);
@@ -71,26 +68,17 @@ static int lifebook_initialize(struct psmouse *psmouse)
 	struct ps2dev *ps2dev = &psmouse->ps2dev;
 	unsigned char param;
 
-	if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_DISABLE))
-		return -1;
-
-	if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_RESET_BAT))
+	if (psmouse_reset(psmouse))
 		return -1;
 
-	/* 
+	/*
 	   Enable absolute output -- ps2_command fails always but if
 	   you leave this call out the touchsreen will never send
 	   absolute coordinates
-	*/ 
+	*/
 	param = 0x07;
 	ps2_command(ps2dev, &param, PSMOUSE_CMD_SETRES);
 
-	psmouse->set_rate(psmouse, psmouse->rate);
-	psmouse->set_resolution(psmouse, psmouse->resolution);
-	
-	if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_ENABLE))
-		return -1;
-
 	return 0;
 }
 
@@ -99,11 +87,10 @@ static void lifebook_disconnect(struct psmouse *psmouse)
 	psmouse_reset(psmouse);
 }
 
-int lifebook_detect(struct psmouse *psmouse, unsigned int max_proto, 
+int lifebook_detect(struct psmouse *psmouse, unsigned int max_proto,
                     int set_properties)
 {
-        if (!dmi_check_system(lifebook_dmi_table) && 
-            (max_proto != PSMOUSE_LIFEBOOK) )
+        if (!dmi_check_system(lifebook_dmi_table) && max_proto != PSMOUSE_LIFEBOOK)
                 return -1;
 
 	if (set_properties) {

+ 1 - 1
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 lifebook_detect(struct psmouse *psmouse, unsigned int max_proto,
                     int set_properties);
 
 #endif

+ 0 - 2
drivers/input/mouse/psmouse-base.c

@@ -579,8 +579,6 @@ static void psmouse_set_rate(struct psmouse *psmouse, unsigned int rate)
 
 static void psmouse_initialize(struct psmouse *psmouse)
 {
-        if (psmouse->type==PSMOUSE_LIFEBOOK)
-                return;
 /*
  * We set the mouse into streaming mode.
  */