diff --git a/Android.mk b/Android.mk index e5385e827b..a29dcc0603 100644 --- a/Android.mk +++ b/Android.mk @@ -202,6 +202,17 @@ else ifeq ($(TARGET_BOARD_PLATFORM), blair) include $(DLKM_DIR)/Build_external_kernelmodule.mk ########################################################### + ########################################################### + include $(CLEAR_VARS) + LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*) + LOCAL_MODULE := goodix_ts.ko + LOCAL_MODULE_KBUILD_NAME := goodix_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 ifeq ($(TARGET_BOARD_PLATFORM), crow) ########################################################### diff --git a/config/gki_blairtouch.conf b/config/gki_blairtouch.conf index 251e9f1a98..546b7d8fff 100644 --- a/config/gki_blairtouch.conf +++ b/config/gki_blairtouch.conf @@ -5,5 +5,6 @@ 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 +export CONFIG_TOUCHSCREEN_GOODIX_BRL=y export CONFIG_TOUCHSCREEN_FTS_DIRECTORY="focaltech_touch" export CONFIG_FTS_TRUSTED_TOUCH=n diff --git a/config/gki_blairtouchconf.h b/config/gki_blairtouchconf.h index 63892cb9c1..27469e99cd 100644 --- a/config/gki_blairtouchconf.h +++ b/config/gki_blairtouchconf.h @@ -9,4 +9,5 @@ #define CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_I2C 1 #define CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_CORE 1 #define CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_TOUCH 1 +#define CONFIG_TOUCHSCREEN_GOODIX_BRL 1 #define CONFIG_TOUCHSCREEN_FTS_DIRECTORY "focaltech_touch" diff --git a/raydium/raydium_driver.c b/raydium/raydium_driver.c index 73c30d2372..6d8ef874d5 100644 --- a/raydium/raydium_driver.c +++ b/raydium/raydium_driver.c @@ -2553,7 +2553,8 @@ if (active_panel) raydium_enable_regulator(g_raydium_ts, false); raydium_get_regulator(g_raydium_ts, false); - kfree(g_raydium_ts); + devm_kfree(&client->dev, g_raydium_ts); + g_raydium_ts = NULL; i2c_set_clientdata(client, NULL); LOGD(LOG_INFO, "[touch] %s: done\n", __func__); @@ -2601,7 +2602,8 @@ if (active_panel) raydium_enable_regulator(g_raydium_ts, false); raydium_get_regulator(g_raydium_ts, false); - kfree(g_raydium_ts); + devm_kfree(&client->dev, g_raydium_ts); + g_raydium_ts = NULL; i2c_set_clientdata(client, NULL); LOGD(LOG_INFO, "[touch] %s: done\n", __func__); diff --git a/touch_driver_board.mk b/touch_driver_board.mk index f243bff810..deacae8b3e 100644 --- a/touch_driver_board.mk +++ b/touch_driver_board.mk @@ -26,7 +26,8 @@ ifeq ($(TOUCH_DLKM_ENABLE), true) else ifeq ($(TARGET_BOARD_PLATFORM), blair) BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/focaltech_fts.ko \ $(KERNEL_MODULES_OUT)/nt36xxx-i2c.ko \ - $(KERNEL_MODULES_OUT)/synaptics_tcm_ts.ko + $(KERNEL_MODULES_OUT)/synaptics_tcm_ts.ko \ + $(KERNEL_MODULES_OUT)/goodix_ts.ko else ifeq ($(TARGET_BOARD_PLATFORM), crow) BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/goodix_ts.ko else ifeq ($(TARGET_BOARD_PLATFORM), bengal) diff --git a/touch_driver_product.mk b/touch_driver_product.mk index dfccfd0cfe..f27a982cc7 100644 --- a/touch_driver_product.mk +++ b/touch_driver_product.mk @@ -24,7 +24,8 @@ ifeq ($(TOUCH_DLKM_ENABLE), true) else ifeq ($(TARGET_BOARD_PLATFORM), blair) PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/focaltech_fts.ko \ $(KERNEL_MODULES_OUT)/nt36xxx-i2c.ko \ - $(KERNEL_MODULES_OUT)/synaptics_tcm_ts.ko + $(KERNEL_MODULES_OUT)/synaptics_tcm_ts.ko \ + $(KERNEL_MODULES_OUT)/goodix_ts.ko else ifeq ($(TARGET_BOARD_PLATFORM), crow) PRODUCT_PACKAGES += $(KERNEL_MODULES_OUT)/goodix_ts.ko else ifeq ($(TARGET_BOARD_PLATFORM), bengal)