mirror of
https://github.com/adulau/aha.git
synced 2025-01-04 07:03:38 +00:00
Input: lifebook - work properly on Panasonic CF-18
Panasonic CF18 has an active multiplexing controller with touchscreen connected to one port and a touchpad to another. Use "phys" from serio port to activate lifebook protoocol only on the port that has touchscreen connected to it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
d0a0515fc3
commit
e7afcd1bf7
1 changed files with 14 additions and 0 deletions
|
@ -20,6 +20,14 @@
|
||||||
#include "psmouse.h"
|
#include "psmouse.h"
|
||||||
#include "lifebook.h"
|
#include "lifebook.h"
|
||||||
|
|
||||||
|
static const char *desired_serio_phys;
|
||||||
|
|
||||||
|
static int lifebook_set_serio_phys(struct dmi_system_id *d)
|
||||||
|
{
|
||||||
|
desired_serio_phys = d->driver_data;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static struct dmi_system_id lifebook_dmi_table[] = {
|
static struct dmi_system_id lifebook_dmi_table[] = {
|
||||||
{
|
{
|
||||||
.ident = "FLORA-ie 55mi",
|
.ident = "FLORA-ie 55mi",
|
||||||
|
@ -56,6 +64,8 @@ static struct dmi_system_id lifebook_dmi_table[] = {
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "CF-18"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "CF-18"),
|
||||||
},
|
},
|
||||||
|
.callback = lifebook_set_serio_phys,
|
||||||
|
.driver_data = "isa0060/serio3",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.ident = "Lifebook B142",
|
.ident = "Lifebook B142",
|
||||||
|
@ -138,6 +148,10 @@ int lifebook_detect(struct psmouse *psmouse, int set_properties)
|
||||||
if (!dmi_check_system(lifebook_dmi_table))
|
if (!dmi_check_system(lifebook_dmi_table))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
if (desired_serio_phys &&
|
||||||
|
strcmp(psmouse->ps2dev.serio->phys, desired_serio_phys))
|
||||||
|
return -1;
|
||||||
|
|
||||||
if (set_properties) {
|
if (set_properties) {
|
||||||
psmouse->vendor = "Fujitsu";
|
psmouse->vendor = "Fujitsu";
|
||||||
psmouse->name = "Lifebook TouchScreen";
|
psmouse->name = "Lifebook TouchScreen";
|
||||||
|
|
Loading…
Reference in a new issue