[OE-core] [PATCH] udev: update local rules for new touchscreen device

Andrea Adami andrea.adami at gmail.com
Mon Oct 14 13:59:29 UTC 2013


On Mon, Oct 14, 2013 at 4:31 PM, Chase Maupin <Chase.Maupin at ti.com> 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 <Chase.Maupin at ti.com>
> ---
>  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"
>
>  # module-init-tools from kmod_git will provide libkmod runtime
>  DEPENDS += "module-init-tools"
> --
> 1.7.0.4
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

Agreed

I noticed it some time ago but the patch is still on hold....
http://patchwork.openembedded.org/patch/25093/


Acked-by: Andrea Adami <andrea.adami at gmail.com>



More information about the Openembedded-core mailing list