-----Original Message-----
From: [email protected]
[mailto:[email protected]] On
Behalf Of Andrea Adami
Sent: Monday, October 14, 2013 8:59 AM
To: [email protected]
Subject: Re: [OE-core] [PATCH] udev: update local rules for new
touchscreen device
On Mon, Oct 14, 2013 at 4:31 PM, Chase Maupin
<[email protected]> wrote:
* 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.
Signed-off-by: Chase Maupin <[email protected]>
---
meta/recipes-core/udev/udev/local.rules | 4 +++-
meta/recipes-core/udev/udev_182.bb | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-core/udev/udev/local.rules
b/meta/recipes-core/udev/udev/local.rules
index 72d92ef..d0cbf91 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"
diff --git a/meta/recipes-core/udev/udev_182.bb b/meta/recipes-
core/udev/udev_182.bb
index d66292e..a90c289 100644
--- a/meta/recipes-core/udev/udev_182.bb
+++ b/meta/recipes-core/udev/udev_182.bb
@@ -1,6 +1,6 @@
include udev.inc
-PR = "r7"
+PR = "r8"