Browse Source

Merge b45246852164dcb59bc5da0b9e6a149fd4db011f on remote branch

Change-Id: I5e0764d3d6f10311f7dd8caf699d399c3bb05ddc
Linux Build Service Account 1 year ago
parent
commit
6c94655ae4

+ 13 - 0
Android.mk

@@ -250,6 +250,19 @@ else ifeq ($(TARGET_BOARD_PLATFORM), bengal)
        include $(DLKM_DIR)/Build_external_kernelmodule.mk
        include $(DLKM_DIR)/Build_external_kernelmodule.mk
        ###########################################################
        ###########################################################
 
 
+else ifeq ($(TARGET_BOARD_PLATFORM), trinket)
+
+       ###########################################################
+       include $(CLEAR_VARS)
+       LOCAL_SRC_FILES   := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*)
+       LOCAL_MODULE              := synaptics_tcm_ts.ko
+       LOCAL_MODULE_KBUILD_NAME  := synaptics_tcm_ts.ko
+       LOCAL_MODULE_TAGS         := optional
+       #LOCAL_MODULE_DEBUG_ENABLE := true
+       LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+       include $(DLKM_DIR)/Build_external_kernelmodule.mk
+       ###########################################################
+
 else
 else
 
 
        ###########################################################
        ###########################################################

+ 5 - 0
Kbuild

@@ -41,6 +41,11 @@ ifeq ($(CONFIG_ARCH_CROW), y)
         LINUX_INC += -include $(TOUCH_ROOT)/config/gki_crowtouchconf.h
         LINUX_INC += -include $(TOUCH_ROOT)/config/gki_crowtouchconf.h
 endif
 endif
 
 
+ifeq ($(CONFIG_ARCH_TRINKET), y)
+        include $(TOUCH_ROOT)/config/gki_trinkettouch.conf
+        LINUX_INC += -include $(TOUCH_ROOT)/config/gki_trinkettouchconf.h
+endif
+
 LINUX_INC +=	-Iinclude/linux \
 LINUX_INC +=	-Iinclude/linux \
 		-Iinclude/linux/drm \
 		-Iinclude/linux/drm \
 		-Iinclude/linux/gunyah \
 		-Iinclude/linux/gunyah \

+ 5 - 0
config/gki_trinkettouch.conf

@@ -0,0 +1,5 @@
+export CONFIG_MSM_TOUCH=m
+export CONFIG_TOUCHSCREEN_SYNAPTICS_TCM=y
+export CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_I2C=y
+export CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_CORE=y
+export CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_TOUCH=y

+ 9 - 0
config/gki_trinkettouchconf.h

@@ -0,0 +1,9 @@
+/*
+* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+* SPDX-License-Identifier: GPL-2.0-only
+*/
+
+#define CONFIG_TOUCHSCREEN_SYNAPTICS_TCM 1
+#define CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_I2C 1
+#define CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_CORE 1
+#define CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_TOUCH 1

+ 6 - 1
synaptics_tcm/synaptics_tcm_core.c

@@ -629,7 +629,12 @@ static void syna_tcm_dispatch_report(struct syna_tcm_hcd *tcm_hcd)
 
 
 	tcm_hcd->report.id = tcm_hcd->status_report_code;
 	tcm_hcd->report.id = tcm_hcd->status_report_code;
 
 
-	mutex_lock(&mod_pool.mutex);
+	if (!mutex_trylock(&mod_pool.mutex)) {
+		LOGI(tcm_hcd->pdev->dev.parent, "unable to acquire mod_pool.mutex\n");
+		UNLOCK_BUFFER(tcm_hcd->report.buffer);
+		UNLOCK_BUFFER(tcm_hcd->in);
+		return;
+	}
 
 
 	if (!list_empty(&mod_pool.list)) {
 	if (!list_empty(&mod_pool.list)) {
 		list_for_each_entry(mod_handler, &mod_pool.list, link) {
 		list_for_each_entry(mod_handler, &mod_pool.list, link) {

+ 2 - 0
touch_driver_board.mk

@@ -33,6 +33,8 @@ ifeq ($(TOUCH_DLKM_ENABLE),  true)
                         else ifeq ($(TARGET_BOARD_PLATFORM), bengal)
                         else ifeq ($(TARGET_BOARD_PLATFORM), bengal)
                                 BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/synaptics_tcm_ts.ko \
                                 BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/synaptics_tcm_ts.ko \
                                         $(KERNEL_MODULES_OUT)/nt36xxx-i2c.ko
                                         $(KERNEL_MODULES_OUT)/nt36xxx-i2c.ko
+                        else ifeq ($(TARGET_BOARD_PLATFORM), trinket)
+                                BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/synaptics_tcm_ts.ko
                         else
                         else
                                 BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/nt36xxx-i2c.ko \
                                 BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/nt36xxx-i2c.ko \
                                         $(KERNEL_MODULES_OUT)/goodix_ts.ko \
                                         $(KERNEL_MODULES_OUT)/goodix_ts.ko \

+ 2 - 0
touch_driver_product.mk

@@ -31,6 +31,8 @@ ifeq ($(TOUCH_DLKM_ENABLE),  true)
         else ifeq ($(TARGET_BOARD_PLATFORM), bengal)
         else ifeq ($(TARGET_BOARD_PLATFORM), bengal)
                 PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/synaptics_tcm_ts.ko \
                 PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/synaptics_tcm_ts.ko \
                         $(KERNEL_MODULES_OUT)/nt36xxx-i2c.ko
                         $(KERNEL_MODULES_OUT)/nt36xxx-i2c.ko
+        else ifeq ($(TARGET_BOARD_PLATFORM), trinket)
+                PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/synaptics_tcm_ts.ko
         else
         else
                 PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/nt36xxx-i2c.ko \
                 PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/nt36xxx-i2c.ko \
                         $(KERNEL_MODULES_OUT)/goodix_ts.ko \
                         $(KERNEL_MODULES_OUT)/goodix_ts.ko \