summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChase Maupin <Chase.Maupin@ti.com>2013-10-14 15:20:01 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-10-18 15:47:13 +0100
commitd95a9b516861594bc89c7ee8079bab2904703ad2 (patch)
tree9dd1acab1c89f4a4757d80fc89c37217738d77c5
parentf1d0b7fb15833b149b6999f4021e688212c1b6ce (diff)
downloadopenembedded-core-d95a9b516861594bc89c7ee8079bab2904703ad2.tar.gz
openembedded-core-d95a9b516861594bc89c7ee8079bab2904703ad2.tar.bz2
openembedded-core-d95a9b516861594bc89c7ee8079bab2904703ad2.zip
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> Signed-off-by: Chase Maupin <Chase.Maupin@ti.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
-rw-r--r--meta/recipes-core/udev/udev/local.rules4
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 @@
ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
# Create a symlink to any touchscreen input device
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen0"
+# Trigger based on input type, that the evbit (-e) has EV_SYN and EV_ABS,
+# has an EV_ABS value (-a) which is used for touchscreen type devices.
+SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="input:*-e0*,3,*a0,1,*", SYMLINK+="input/touchscreen0"