diff --git a/arch/arm64/configs/vendor/holi_GKI.config b/arch/arm64/configs/vendor/holi_GKI.config index 291a9ff05f1d..0ec68f3f69ed 100644 --- a/arch/arm64/configs/vendor/holi_GKI.config +++ b/arch/arm64/configs/vendor/holi_GKI.config @@ -126,6 +126,17 @@ CONFIG_HEADER_TEST=y CONFIG_HEADERS_INSTALL=y CONFIG_KERNEL_HEADER_TEST=y CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_SYNAPTICS_TCM=m +CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_SPI=m +CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_I2C=m +CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_CORE=m +CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_TOUCH=m +CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_DEVICE=m +CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_TESTING=m +CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_REFLASH=m +CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_RECOVERY=m +CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_ZEROFLASH=m +CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_DIAGNOSTICS=m CONFIG_TOUCHSCREEN_SYNAPTICS_DSX=y # CONFIG_TOUCHSCREEN_PROPERTIES is not set CONFIG_TOUCHSCREEN_USB_COMPOSITE=m diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index d37cd92620ec..38830610149c 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -1314,18 +1314,6 @@ source "drivers/input/touchscreen/st/Kconfig" source "drivers/input/touchscreen/focaltech_touch/Kconfig" -config TOUCHSCREEN_SYNAPTICS_TCM - bool "Synaptics TCM Touchscreen Driver" - depends on I2C - default y - help - Say Y here if you have a Synaptics Touchscreen. - - If unsure, say N. - - To compile this driver as a module, choose M here: the - module will be called synaptics_tcm. - source "drivers/input/touchscreen/synaptics_tcm/Kconfig" config TOUCHSCREEN_SYNAPTICS_DSX diff --git a/drivers/input/touchscreen/synaptics_tcm/Kconfig b/drivers/input/touchscreen/synaptics_tcm/Kconfig index 78c687df4fe6..6af7c9670065 100644 --- a/drivers/input/touchscreen/synaptics_tcm/Kconfig +++ b/drivers/input/touchscreen/synaptics_tcm/Kconfig @@ -2,21 +2,18 @@ # Synaptics TCM touchscreen driver configuration # menuconfig TOUCHSCREEN_SYNAPTICS_TCM - bool "Synaptics TCM touchscreen" - default y + tristate "Synaptics TCM touchscreen" help Say Y here if you have a Synaptics TCM touchscreen connected to your system. If unsure, say N. -if TOUCHSCREEN_SYNAPTICS_TCM - choice default TOUCHSCREEN_SYNAPTICS_TCM_I2C prompt "Synaptics TCM bus module" config TOUCHSCREEN_SYNAPTICS_TCM_I2C - bool "I2C" + tristate "I2C" depends on I2C help Say Y here to use I2C bus for communication. @@ -27,7 +24,7 @@ config TOUCHSCREEN_SYNAPTICS_TCM_I2C with touch controller. config TOUCHSCREEN_SYNAPTICS_TCM_SPI - bool "SPI" + tristate "SPI" depends on SPI_MASTER help Say Y here to use SPI bus for communication. @@ -42,7 +39,6 @@ endchoice config TOUCHSCREEN_SYNAPTICS_TCM_CORE tristate "Synaptics TCM core module" depends on I2C || SPI_MASTER - default y help Say Y here to enable core functionality. @@ -54,7 +50,6 @@ config TOUCHSCREEN_SYNAPTICS_TCM_CORE config TOUCHSCREEN_SYNAPTICS_TCM_TOUCH tristate "Synaptics TCM touch module" depends on TOUCHSCREEN_SYNAPTICS_TCM_CORE - default y help Say Y here to enable support for touch reporting. @@ -66,7 +61,6 @@ config TOUCHSCREEN_SYNAPTICS_TCM_TOUCH config TOUCHSCREEN_SYNAPTICS_TCM_DEVICE tristate "Synaptics TCM device module" depends on TOUCHSCREEN_SYNAPTICS_TCM_CORE - default y help Say Y here to enable support for TCM device functionality. @@ -89,7 +83,6 @@ config TOUCHSCREEN_SYNAPTICS_TCM_TESTING config TOUCHSCREEN_SYNAPTICS_TCM_REFLASH tristate "Synaptics TCM reflash module" depends on TOUCHSCREEN_SYNAPTICS_TCM_CORE - default y help Say Y here to enable support for reflash functionality. @@ -101,7 +94,6 @@ config TOUCHSCREEN_SYNAPTICS_TCM_REFLASH config TOUCHSCREEN_SYNAPTICS_TCM_RECOVERY tristate "Synaptics TCM recovery module" depends on TOUCHSCREEN_SYNAPTICS_TCM_CORE - default y help Say Y here to enable support for recovery functionality. @@ -124,7 +116,6 @@ config TOUCHSCREEN_SYNAPTICS_TCM_ZEROFLASH config TOUCHSCREEN_SYNAPTICS_TCM_DIAGNOSTICS tristate "Synaptics TCM diagnostics module" depends on TOUCHSCREEN_SYNAPTICS_TCM_CORE - default y help Say Y here to enable support for diagnostics functionality. @@ -132,4 +123,3 @@ config TOUCHSCREEN_SYNAPTICS_TCM_DIAGNOSTICS To compile this driver as a module, choose M here: the module will be called synaptics_tcm_diagnostics. -endif diff --git a/drivers/input/touchscreen/synaptics_tcm/Makefile b/drivers/input/touchscreen/synaptics_tcm/Makefile index 30db3b56516a..3292047e442d 100644 --- a/drivers/input/touchscreen/synaptics_tcm/Makefile +++ b/drivers/input/touchscreen/synaptics_tcm/Makefile @@ -6,7 +6,8 @@ obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_SPI) += synaptics_tcm_spi.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_I2C) += synaptics_tcm_i2c.o -obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_CORE) += synaptics_tcm_core.o +obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_CORE) += qcom_synaptics_tcm_core.o +qcom_synaptics_tcm_core-y += synaptics_tcm_core.o synaptics_tcm_i2c.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_TOUCH) += synaptics_tcm_touch.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_DEVICE) += synaptics_tcm_device.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_TESTING) += synaptics_tcm_testing.o diff --git a/drivers/input/touchscreen/synaptics_tcm/synaptics_tcm_core.h b/drivers/input/touchscreen/synaptics_tcm/synaptics_tcm_core.h index 9bbccc7d915c..62f36bdd55a4 100644 --- a/drivers/input/touchscreen/synaptics_tcm/synaptics_tcm_core.h +++ b/drivers/input/touchscreen/synaptics_tcm/synaptics_tcm_core.h @@ -528,6 +528,10 @@ int syna_tcm_bus_init(void); void syna_tcm_bus_exit(void); +int syna_tcm_bus_init_spi(void); + +void syna_tcm_bus_exit_spi(void); + int syna_tcm_add_module(struct syna_tcm_module_cb *mod_cb, bool insert); static inline int syna_tcm_rmi_read(struct syna_tcm_hcd *tcm_hcd, diff --git a/drivers/input/touchscreen/synaptics_tcm/synaptics_tcm_spi.c b/drivers/input/touchscreen/synaptics_tcm/synaptics_tcm_spi.c index e54269c0f333..ee8751ac52f2 100644 --- a/drivers/input/touchscreen/synaptics_tcm/synaptics_tcm_spi.c +++ b/drivers/input/touchscreen/synaptics_tcm/synaptics_tcm_spi.c @@ -649,13 +649,13 @@ static struct spi_driver syna_tcm_spi_driver = { .id_table = syna_tcm_id_table, }; -int syna_tcm_bus_init(void) +int syna_tcm_bus_init_spi(void) { return spi_register_driver(&syna_tcm_spi_driver); } -EXPORT_SYMBOL(syna_tcm_bus_init); +EXPORT_SYMBOL(syna_tcm_bus_init_spi); -void syna_tcm_bus_exit(void) +void syna_tcm_bus_exit_spi(void) { kfree(buf); @@ -663,7 +663,7 @@ void syna_tcm_bus_exit(void) spi_unregister_driver(&syna_tcm_spi_driver); } -EXPORT_SYMBOL(syna_tcm_bus_exit); +EXPORT_SYMBOL(syna_tcm_bus_exit_spi); MODULE_AUTHOR("Synaptics, Inc."); MODULE_DESCRIPTION("Synaptics TCM SPI Bus Module");