mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 12:58:12 -04:00
Specify the dependency of the synaptics touchscreen modules.
(1) When all the modules are in a Kbuild file, there will be some errors that the exported symbols are undefined. Therefore the files with dependencies are split into independent Kbuilds, and the dependencies between the modules and the location of Module.symvers are clearly specified. (2) The synaptics_i2c and syanptics_spi modules have the same symbol table, so we should use BOARD_VENDOR_KERNEL_MODULES to determine which module to compile. Change-Id: I0e02d23562d0b52a20fdfd53d3db085cfffb811b Reviewed-on: https://gerrit.mot.com/1718101 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Jichao Zou <zoujc@motorola.com> Submit-Approved: Jira Key
This commit is contained in:
parent
1ff9cf183b
commit
610b9f510c
21 changed files with 97 additions and 34 deletions
|
|
@ -0,0 +1,20 @@
|
|||
DLKM_DIR := motorola/kernel/modules
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
ifeq ($(DLKM_INSTALL_TO_VENDOR_OUT),true)
|
||||
SYNA_TCM_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/modules/
|
||||
else
|
||||
SYNA_TCM_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
||||
endif
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
ifneq ($(findstring synaptics_i2c.ko,$(BOARD_VENDOR_KERNEL_MODULES)),)
|
||||
KERNEL_CFLAGS += USE_TOUCHSCREEN_MMI_I2C=y
|
||||
LOCAL_MODULE := synaptics_i2c.ko
|
||||
else
|
||||
LOCAL_MODULE := synaptics_spi.ko
|
||||
endif
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_PATH := $(SYNA_TCM_MODULE_PATH)
|
||||
|
||||
include $(DLKM_DIR)/AndroidKernelModule.mk
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
# add -Wall to try to catch everything we can.
|
||||
EXTRA_CFLAGS += -Wall
|
||||
EXTRA_CFLAGS += -I$(ANDROID_BUILD_TOP)/motorola/kernel/modules/include \
|
||||
-I$(ANDROID_BUILD_TOP)/motorola/kernel/modules/drivers/input/touchscreen/synaptics_tcm_mmi_v2
|
||||
|
||||
ifneq ($(filter m y,$(USE_TOUCHSCREEN_MMI_I2C)),)
|
||||
obj-m += synaptics_i2c.o
|
||||
else
|
||||
obj-m += synaptics_spi.o
|
||||
endif
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/of_gpio.h>
|
||||
#include "synaptics_core.h"
|
||||
#include "../synaptics_core/synaptics_core.h"
|
||||
|
||||
#define XFER_ATTEMPTS 10
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/of_gpio.h>
|
||||
#include "synaptics_core.h"
|
||||
#include "../synaptics_core/synaptics_core.h"
|
||||
|
||||
static unsigned char *buf;
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
DLKM_DIR := motorola/kernel/modules
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
ifeq ($(DRM_PANEL_NOTIFICATIONS),true)
|
||||
KERNEL_CFLAGS += CONFIG_DRM_PANEL_NOTIFICATIONS=y
|
||||
endif
|
||||
|
||||
ifeq ($(DLKM_INSTALL_TO_VENDOR_OUT),true)
|
||||
SYNA_TCM_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/modules/
|
||||
else
|
||||
SYNA_TCM_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
||||
endif
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := synaptics_core_module.ko
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_PATH := $(SYNA_TCM_MODULE_PATH)
|
||||
ifneq ($(findstring touchscreen_mmi.ko,$(BOARD_VENDOR_KERNEL_MODULES)),)
|
||||
KERNEL_CFLAGS += CONFIG_INPUT_TOUCHSCREEN_MMI=y
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES += $(KERNEL_MODULES_OUT)/touchscreen_mmi.ko
|
||||
endif
|
||||
ifneq ($(findstring synaptics_i2c.ko,$(BOARD_VENDOR_KERNEL_MODULES)),)
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES += $(KERNEL_MODULES_OUT)/synaptics_i2c.ko
|
||||
else
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES += $(KERNEL_MODULES_OUT)/synaptics_spi.ko
|
||||
endif
|
||||
|
||||
include $(DLKM_DIR)/AndroidKernelModule.mk
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
# add -Wall to try to catch everything we can.
|
||||
EXTRA_CFLAGS += -Wall
|
||||
EXTRA_CFLAGS += -I$(ANDROID_BUILD_TOP)/motorola/kernel/modules/include \
|
||||
-I$(ANDROID_BUILD_TOP)/motorola/kernel/modules/drivers/input/touchscreen/synaptics_tcm_mmi_v2
|
||||
|
||||
obj-m += synaptics_core_module.o
|
||||
|
||||
synaptics_core_module-objs := synaptics_core.o synaptics_touch.o
|
||||
ifneq ($(filter m y, $(CONFIG_DRM_PANEL_NOTIFICATIONS)),)
|
||||
EXTRA_CFLAGS += -DCONFIG_DRM_PANEL_NOTIFICATIONS
|
||||
endif
|
||||
ifneq ($(filter m y,$(CONFIG_INPUT_TOUCHSCREEN_MMI)),)
|
||||
EXTRA_CFLAGS += -DCONFIG_INPUT_TOUCHSCREEN_MMI
|
||||
synaptics_core_module-objs += synaptics_ts_mmi.o
|
||||
KBUILD_EXTRA_SYMBOLS += $(CURDIR)/$(KBUILD_EXTMOD)/../../touchscreen_mmi/Module.symvers
|
||||
endif
|
||||
|
||||
KBUILD_EXTRA_SYMBOLS += $(CURDIR)/$(KBUILD_EXTMOD)/../synaptics_bus/Module.symvers
|
||||
|
|
@ -4,6 +4,9 @@ LOCAL_PATH := $(call my-dir)
|
|||
ifneq ($(findstring touchscreen_mmi.ko,$(BOARD_VENDOR_KERNEL_MODULES)),)
|
||||
KERNEL_CFLAGS += CONFIG_INPUT_TOUCHSCREEN_MMI=y
|
||||
endif
|
||||
ifeq ($(DRM_PANEL_NOTIFICATIONS),true)
|
||||
KERNEL_CFLAGS += CONFIG_DRM_PANEL_NOTIFICATIONS=y
|
||||
endif
|
||||
|
||||
ifeq ($(DLKM_INSTALL_TO_VENDOR_OUT),true)
|
||||
SYNA_TCM_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/modules/
|
||||
|
|
@ -11,59 +14,45 @@ else
|
|||
SYNA_TCM_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
||||
endif
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := synaptics_spi.ko
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_PATH := $(SYNA_TCM_MODULE_PATH)
|
||||
include $(DLKM_DIR)/AndroidKernelModule.mk
|
||||
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := synaptics_i2c.ko
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_PATH := $(SYNA_TCM_MODULE_PATH)
|
||||
include $(DLKM_DIR)/AndroidKernelModule.mk
|
||||
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := synaptics_core_module.ko
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_PATH := $(SYNA_TCM_MODULE_PATH)
|
||||
include $(DLKM_DIR)/AndroidKernelModule.mk
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := synaptics_device.ko
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_PATH := $(SYNA_TCM_MODULE_PATH)
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(KERNEL_MODULES_OUT)/synaptics_core_module.ko
|
||||
include $(DLKM_DIR)/AndroidKernelModule.mk
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := synaptics_diagnostics.ko
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_PATH := $(SYNA_TCM_MODULE_PATH)
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(KERNEL_MODULES_OUT)/synaptics_core_module.ko
|
||||
include $(DLKM_DIR)/AndroidKernelModule.mk
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := synaptics_recovery.ko
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_PATH := $(SYNA_TCM_MODULE_PATH)
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(KERNEL_MODULES_OUT)/synaptics_core_module.ko
|
||||
include $(DLKM_DIR)/AndroidKernelModule.mk
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := synaptics_reflash.ko
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_PATH := $(SYNA_TCM_MODULE_PATH)
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(KERNEL_MODULES_OUT)/synaptics_core_module.ko
|
||||
include $(DLKM_DIR)/AndroidKernelModule.mk
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := synaptics_testing.ko
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_PATH := $(SYNA_TCM_MODULE_PATH)
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(KERNEL_MODULES_OUT)/synaptics_core_module.ko
|
||||
include $(DLKM_DIR)/AndroidKernelModule.mk
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := synaptics_zeroflash.ko
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_PATH := $(SYNA_TCM_MODULE_PATH)
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(KERNEL_MODULES_OUT)/synaptics_core_module.ko
|
||||
include $(DLKM_DIR)/AndroidKernelModule.mk
|
||||
|
||||
|
|
@ -3,9 +3,6 @@ EXTRA_CFLAGS += -Wall
|
|||
EXTRA_CFLAGS += -I$(ANDROID_BUILD_TOP)/motorola/kernel/modules/include \
|
||||
-I$(ANDROID_BUILD_TOP)/motorola/kernel/modules/drivers/input/touchscreen/synaptics_tcm_mmi_v2
|
||||
|
||||
obj-m += synaptics_spi.o
|
||||
obj-m += synaptics_i2c.o
|
||||
obj-m += synaptics_core_module.o
|
||||
obj-m += synaptics_device.o
|
||||
obj-m += synaptics_diagnostics.o
|
||||
obj-m += synaptics_recovery.o
|
||||
|
|
@ -13,9 +10,10 @@ obj-m += synaptics_reflash.o
|
|||
obj-m += synaptics_testing.o
|
||||
obj-m += synaptics_zeroflash.o
|
||||
|
||||
synaptics_core_module-objs := synaptics_core.o synaptics_touch.o
|
||||
ifneq ($(filter m y, $(CONFIG_DRM_PANEL_NOTIFICATIONS)),)
|
||||
EXTRA_CFLAGS += -DCONFIG_DRM_PANEL_NOTIFICATIONS
|
||||
endif
|
||||
ifneq ($(filter m y,$(CONFIG_INPUT_TOUCHSCREEN_MMI)),)
|
||||
EXTRA_CFLAGS += -DCONFIG_INPUT_TOUCHSCREEN_MMI
|
||||
synaptics_core_module-objs += synaptics_ts_mmi.o
|
||||
KBUILD_EXTRA_SYMBOLS += $(CURDIR)/$(KBUILD_EXTMOD)/../touchscreen_mmi/Module.symvers
|
||||
endif
|
||||
KBUILD_EXTRA_SYMBOLS += $(CURDIR)/$(KBUILD_EXTMOD)/../synaptics_core/Module.symvers
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
#include <linux/cdev.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/uaccess.h>
|
||||
#include "synaptics_core.h"
|
||||
#include "../synaptics_core/synaptics_core.h"
|
||||
|
||||
#define CHAR_DEVICE_NAME "tcm"
|
||||
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
* DOLLARS.
|
||||
*/
|
||||
|
||||
#include "synaptics_core.h"
|
||||
#include "../synaptics_core/synaptics_core.h"
|
||||
#include <linux/sched/signal.h>
|
||||
#include <linux/mmi_kernel_common.h>
|
||||
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
* DOLLARS.
|
||||
*/
|
||||
|
||||
#include "synaptics_core.h"
|
||||
#include "../synaptics_core/synaptics_core.h"
|
||||
|
||||
#define SET_UP_RECOVERY_MODE true
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
#include <linux/crc32.h>
|
||||
#include <linux/firmware.h>
|
||||
#include "synaptics_core.h"
|
||||
#include "../synaptics_core/synaptics_core.h"
|
||||
/*
|
||||
#define STARTUP_REFLASH
|
||||
*/
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
*/
|
||||
|
||||
#include <linux/gpio.h>
|
||||
#include "synaptics_core.h"
|
||||
#include "../synaptics_core/synaptics_core.h"
|
||||
#include "synaptics_testing.h"
|
||||
|
||||
#define SYSFS_DIR_NAME "testing"
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
#include <linux/gpio.h>
|
||||
#include <linux/crc32.h>
|
||||
#include <linux/firmware.h>
|
||||
#include "synaptics_core.h"
|
||||
#include "../synaptics_core/synaptics_core.h"
|
||||
|
||||
|
||||
#define ENABLE_SYS_ZEROFLASH true
|
||||
Loading…
Reference in a new issue