crash-reporter: Add udev rule to collect cyapa trackpad logs

Add the udev rule that when trackpad driver cyapa detects abnormal
behavior and fired uevent, additional logs from system logs are
collected.

BUG=chromium-os:35169
TEST=Made fake cyapa uevent and checked that logs are generated
     in /var/spool/crash

Change-Id: I7ebabd729e6ce362b6f5db12c7cff38ed75c9792
Reviewed-on: https://gerrit.chromium.org/gerrit/37376
Reviewed-by: Michael Krebs <mkrebs@chromium.org>
Commit-Ready: Yufeng Shen <miletus@chromium.org>
Tested-by: Yufeng Shen <miletus@chromium.org>
diff --git a/crash_reporter/99-crash-reporter.rules b/crash_reporter/99-crash-reporter.rules
index 25a1504..a065821 100644
--- a/crash_reporter/99-crash-reporter.rules
+++ b/crash_reporter/99-crash-reporter.rules
@@ -1 +1,3 @@
 ACTION=="change", SUBSYSTEM=="drm", KERNEL=="card0", ENV{ERROR}=="1", RUN+="/sbin/crash_reporter --udev=KERNEL=card0:SUBSYSTEM=drm:ACTION=change"
+# For detecting cypress trackpad issue. Passing into crash_reporter SUBSYSTEM=i2c-cyapa since crash_reporter does not handle DRIVER string.
+ACTION=="change", SUBSYSTEM=="i2c", DRIVER=="cyapa", ENV{ERROR}=="1", RUN+="/sbin/crash_reporter --udev=SUBSYSTEM=i2c-cyapa:ACTION=change"
diff --git a/crash_reporter/crash_reporter_logs.conf b/crash_reporter/crash_reporter_logs.conf
index c70b2c1..70ed258 100644
--- a/crash_reporter/crash_reporter_logs.conf
+++ b/crash_reporter/crash_reporter_logs.conf
@@ -31,6 +31,9 @@
 # run for kernel errors reported through udev events.
 crash_reporter-udev-collection-change-card0-drm:for dri in /sys/kernel/debug/dri/*; do echo "===$dri/i915_error_state==="; cat $dri/i915_error_state; done
 
+# When trackpad driver cyapa detects some abnormal behavior, we collect
+# additional logs from kernel messages.
+crash_reporter-udev-collection-change--i2c-cyapa:grep cyapa /var/log/messages
 # The following rules are only for testing purposes.
 crash_log_test:echo hello world
 crash_log_recursion_test:sleep 1 && /usr/local/autotest/tests/crash_log_recursion_test