summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vibrator/Android.mk5
-rw-r--r--vibrator/vibrator.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/vibrator/Android.mk b/vibrator/Android.mk
index 6681f84..6f7e262 100644
--- a/vibrator/Android.mk
+++ b/vibrator/Android.mk
@@ -2,3 +2,8 @@
LOCAL_SRC_FILES += vibrator/vibrator.c
+## Must point to a source file that implements the sendit() function
+ifneq ($(BOARD_HAS_VIBRATOR_IMPLEMENTATION),)
+ LOCAL_SRC_FILES += $(BOARD_HAS_VIBRATOR_IMPLEMENTATION)
+ LOCAL_CFLAGS += -DUSE_ALTERNATIVE_VIBRATOR
+endif
diff --git a/vibrator/vibrator.c b/vibrator/vibrator.c
index f946ce1..b1c98eb 100644
--- a/vibrator/vibrator.c
+++ b/vibrator/vibrator.c
@@ -21,6 +21,11 @@
#include <fcntl.h>
#include <errno.h>
+
+#ifdef USE_ALTERNATIVE_VIBRATOR
+extern int sendit(int timeout_ms);
+#else
+
#define THE_DEVICE "/sys/class/timed_output/vibrator/enable"
int vibrator_exists()
@@ -63,6 +68,8 @@ static int sendit(int timeout_ms)
return (ret == nwr) ? 0 : -1;
}
+#endif
+
int vibrator_on(int timeout_ms)
{
/* constant on, up to maximum allowed time */