diff options
author | Chase Maupin <Chase.Maupin@ti.com> | 2013-10-14 15:20:01 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-10-18 15:49:59 +0100 |
commit | 75b0fb2ab99b84e466db543642e953f75ffee299 (patch) | |
tree | 80d7afad49d0e2a36a4bdad42e307275cfacc234 | |
parent | 9d8fc0268ef5158992ea292bef2cba2af8ddc68e (diff) | |
download | poky-75b0fb2ab99b84e466db543642e953f75ffee299.tar.gz |
udev: update local rules for new touchscreen device
* While working with a new capacitive touchscreen it was found
that the existing udev rule that creates the
/dev/input/touchscreen0 symlink was too restrictive and did not
match the MODALAIS entry for this touchscreen. which is:
MODALIAS=input:b0018v0000p0000e0000-e0,1,3,k14A,ra0,1,2F,35,36,39,mlsfw
* By looking at the input_print_modalias function in the Linux
kernel drivers/input/input.c file and referencing the meaning
of the evbits and attributes of the input_dev structure it seems
that for identification of a touchscreen the match with ,18
which was matching part of the absbit structure is overkill.
* It seems that the absbit entry is used for devices like
touchscreens and if that the the "a" is followed by 0 and 1 this
is sufficient.
* So the logic has now been changed to check for the "e" 0 and 3
values which correspond to EV_SYN and EV_ABS, then check for
the "a" attribute with 0 and 1.
* More information and history for this can be found at:
http://patchwork.openembedded.org/patch/25093/
http://thread.gmane.org/gmane.comp.handhelds.openembedded.core
* This patch mirrors a patch done by:
Andrea Adami <andrea.adami@gmail.com>
(From OE-Core rev: d95a9b516861594bc89c7ee8079bab2904703ad2)
Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-core/udev/udev/local.rules | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/meta/recipes-core/udev/udev/local.rules b/meta/recipes-core/udev/udev/local.rules index 72d92ef627..d0cbf91b60 100644 --- a/meta/recipes-core/udev/udev/local.rules +++ b/meta/recipes-core/udev/udev/local.rules | |||
@@ -17,5 +17,7 @@ | |||
17 | ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}" | 17 | ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}" |
18 | 18 | ||
19 | # Create a symlink to any touchscreen input device | 19 | # Create a symlink to any touchscreen input device |
20 | SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen0" | 20 | # Trigger based on input type, that the evbit (-e) has EV_SYN and EV_ABS, |
21 | # has an EV_ABS value (-a) which is used for touchscreen type devices. | ||
22 | SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="input:*-e0*,3,*a0,1,*", SYMLINK+="input/touchscreen0" | ||
21 | 23 | ||