summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill McVicker <willmcvicker@google.com>2022-04-15 10:40:59 -0700
committerWill McVicker <willmcvicker@google.com>2022-04-15 14:06:35 -0700
commitd882feb1c5b4140e5196e06be0cc399b9195623c (patch)
tree26e8033e8707bc1c402a1a929ec163d2f69e95f3
parentbab3d329b4841d3c58fbcaaa7340bb6c875caa5f (diff)
downloadcommon-d882feb1c5b4140e5196e06be0cc399b9195623c.tar.gz
touch/common: enable the goog_touch_interface.ko
This is a new driver that contains Google-specific features. Bug: 229393095 Bug: 201610482 Signed-off-by: Will McVicker <willmcvicker@google.com> Change-Id: I74009ac82d1ba3b0f6e9fc6763bbb852b78a4057
-rw-r--r--BUILD.bazel11
-rw-r--r--Kbuild1
-rw-r--r--Kconfig10
-rw-r--r--Makefile5
-rw-r--r--goog_touch_interface.c2
5 files changed, 27 insertions, 2 deletions
diff --git a/BUILD.bazel b/BUILD.bazel
index ce8a45c..dc6d98f 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -30,12 +30,23 @@ filegroup(
kernel_module(
name = "common.slider",
+ srcs = glob([
+ "**/*.c",
+ "**/*.h",
+ "Kbuild",
+ ]) + [
+ "//private/google-modules/soc/gs:gs101_soc_headers",
+ ],
outs = [
"heatmap.ko",
"touch_bus_negotiator.ko",
"touch_offload.ko",
+ "goog_touch_interface.ko",
],
kernel_build = "//private/google-modules/soc/gs:slider",
+ kernel_module_deps = [
+ "//private/google-modules/soc/gs:gs101_soc",
+ ],
visibility = [
"//private/google-modules/touch:__subpackages__",
"//private/google-modules/soc/gs:__pkg__",
diff --git a/Kbuild b/Kbuild
index 040f81e..bf48f70 100644
--- a/Kbuild
+++ b/Kbuild
@@ -5,4 +5,5 @@ ccflags-y += -I$(srctree)/$(src)/include
obj-$(CONFIG_TOUCHSCREEN_TBN) += touch_bus_negotiator.o
obj-$(CONFIG_TOUCHSCREEN_HEATMAP) += heatmap.o
obj-$(CONFIG_TOUCHSCREEN_OFFLOAD) += touch_offload.o
+obj-$(CONFIG_GOOG_TOUCH_INTERFACE) += goog_touch_interface.o
diff --git a/Kconfig b/Kconfig
index ffc7b76..aa62c6d 100644
--- a/Kconfig
+++ b/Kconfig
@@ -29,3 +29,13 @@ config TOUCHSCREEN_OFFLOAD
consumed by a client outside the kernel.
If unsure, say N.
+
+config GOOG_TOUCH_INTERFACE
+ tristate "Google Touch Interface (GTI)"
+ depends on TOUCHSCREEN_OFFLOAD
+ depends on TOUCHSCREEN_HEATMAP
+ depends on VH_SYSTRACE
+ help
+ Say Y here if you want to enable the Google Touch Interface driver.
+
+ If unsure, say N.
diff --git a/Makefile b/Makefile
index dfdbe71..3cc7e5c 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,10 @@ M ?= $(shell pwd)
EXTRA_CFLAGS += -DDYNAMIC_DEBUG_MODULE
+include $(KERNEL_SRC)/../private/google-modules/soc/gs/Makefile.include
+
modules modules_install headers_install clean:
- $(MAKE) -C $(KERNEL_SRC) M=$(M) EXTRA_CFLAGS="$(EXTRA_CFLAGS)" $(@)
+ $(MAKE) -C $(KERNEL_SRC) M=$(M) \
+ EXTRA_CFLAGS="$(EXTRA_CFLAGS)" KBUILD_EXTRA_SYMBOLS="$(EXTRA_SYMBOLS)" $(@)
modules_install: headers_install
diff --git a/goog_touch_interface.c b/goog_touch_interface.c
index 0a87083..7be8281 100644
--- a/goog_touch_interface.c
+++ b/goog_touch_interface.c
@@ -10,7 +10,7 @@
#include <linux/of.h>
#include "goog_touch_interface.h"
-#include "../../../gs-google/drivers/soc/google/vh/kernel/systrace.h"
+#include <trace/hooks/systrace.h>
bool goog_v4l2_read_frame_cb(struct v4l2_heatmap *v4l2)
{