Input: psmouse - add support for eGalax PS/2 touchscreen controller

Based on the touchkit USB and lifebook PS/2 touchscreen driver.

The egalax touchsreen controller (PS/2 or USB version) is used in this 7"
device: http://www.cartft.com/catalog/il/449

Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
Stefan Lucke
2007-02-18 01:49:10 -05:00
committed by Dmitry Torokhov
parent 62b529a7b9
commit 24bf10ab2d
5 changed files with 139 additions and 7 deletions

View File

@@ -28,6 +28,7 @@
#include "alps.h"
#include "lifebook.h"
#include "trackpoint.h"
#include "touchkit_ps2.h"
#define DRIVER_DESC "PS/2 mouse driver"
@@ -605,14 +606,20 @@ static int psmouse_extensions(struct psmouse *psmouse,
}
}
if (max_proto > PSMOUSE_IMEX && genius_detect(psmouse, set_properties) == 0)
return PSMOUSE_GENPS;
if (max_proto > PSMOUSE_IMEX) {
if (max_proto > PSMOUSE_IMEX && ps2pp_init(psmouse, set_properties) == 0)
return PSMOUSE_PS2PP;
if (genius_detect(psmouse, set_properties) == 0)
return PSMOUSE_GENPS;
if (max_proto > PSMOUSE_IMEX && trackpoint_detect(psmouse, set_properties) == 0)
return PSMOUSE_TRACKPOINT;
if (ps2pp_init(psmouse, set_properties) == 0)
return PSMOUSE_PS2PP;
if (trackpoint_detect(psmouse, set_properties) == 0)
return PSMOUSE_TRACKPOINT;
if (touchkit_ps2_detect(psmouse, set_properties) == 0)
return PSMOUSE_TOUCHKIT_PS2;
}
/*
* Reset to defaults in case the device got confused by extended
@@ -712,6 +719,12 @@ static const struct psmouse_protocol psmouse_protocols[] = {
.alias = "trackpoint",
.detect = trackpoint_detect,
},
{
.type = PSMOUSE_TOUCHKIT_PS2,
.name = "touchkitPS/2",
.alias = "touchkit",
.detect = touchkit_ps2_detect,
},
{
.type = PSMOUSE_AUTO,
.name = "auto",