focaltech_v2_mmi: check if panel is available

focaltech_v2_mmi:
Check if panel is available, if not, don't probe, save boot time
and don't disturb other touch driver operation.

Change-Id: Ib4db6f77fc458970dcc42fd7460ee3a800e3ff47
Signed-off-by: wangyq13 <wangyq13@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2131110
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Wei Deng <dengwei1@motorola.com>
Reviewed-by: Jun Weng <wengjun1@motorola.com>
Reviewed-by: Huosheng Liao <liaohs@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
wangyq13 2021-11-30 21:38:15 +08:00 • committed by Yeqing Wang
commit cac6221ab1
3 changed files with 9 additions and 1 deletions

View file

@ -31,7 +31,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE := focaltech_v2_mmi.ko
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
LOCAL_ADDITIONAL_DEPENDENCIES += $(KERNEL_MODULES_OUT)/mmi_info.ko
ifneq ($(findstring touchscreen_mmi.ko,$(BOARD_VENDOR_KERNEL_MODULES)),)
LOCAL_ADDITIONAL_DEPENDENCIES += $(KERNEL_MODULES_OUT)/touchscreen_mmi.ko
endif

View file

@ -41,3 +41,4 @@ ifneq ($(filter m y, $(CONFIG_DRM_PANEL_NOTIFICATIONS)),)
EXTRA_CFLAGS += -DCONFIG_DRM_PANEL_NOTIFICATIONS
endif
KBUILD_EXTRA_SYMBOLS += $(CURDIR)/../../kernel/msm-$(MODULE_KERNEL_VERSION)/Module.symvers
KBUILD_EXTRA_SYMBOLS += $(CURDIR)/$(KBUILD_EXTMOD)/../../../mmi_info/$(GKI_OBJ_MODULE_DIR)/Module.symvers

View file

@ -51,6 +51,7 @@
#define FTS_SUSPEND_LEVEL 1 /* Early-suspend level */
#endif
#include "focaltech_core.h"
#include <linux/mmi_device.h>
#ifdef CONFIG_INPUT_TOUCHSCREEN_MMI
extern int fts_mmi_dev_register(struct fts_ts_data *ts_data);
@ -1708,6 +1709,12 @@ static int fts_ts_probe_entry(struct fts_ts_data *ts_data)
FTS_FUNC_ENTER();
FTS_INFO("%s", FTS_DRIVER_VERSION);
if (ts_data->client->dev.of_node && !mmi_device_is_available(ts_data->client->dev.of_node)) {
FTS_ERROR("mmi: device not supported\n");
return -ENODEV;
}
ts_data->pdata = kzalloc(pdata_size, GFP_KERNEL);
if (!ts_data->pdata) {
FTS_ERROR("allocate memory for platform_data fail");