pmaports/device/testing/linux-xiaomi-willow/touchscreen_nt36xxx_module.patch

78 lines
3 KiB
Diff
Raw Normal View History

The touchscreen driver expects to have firmware available immediately, but our rootfs
mounts a little too late. These patches are necessary to compile it as a module.
saved_command_line isn't exposed to modules, so we just hardcode the tianma vendor.
diff --git a/drivers/input/touchscreen/nt36xxx_spi_bbb/Kconfig b/drivers/input/touchscreen/nt36xxx_spi_bbb/Kconfig
index e8674dc6a..14ccef8e7 100644
--- a/drivers/input/touchscreen/nt36xxx_spi_bbb/Kconfig
+++ b/drivers/input/touchscreen/nt36xxx_spi_bbb/Kconfig
@@ -12,7 +12,7 @@ config TOUCHSCREEN_NT36xxx_HOSTDL_SPI_BBB
If unsure, say N.
config TOUCHSCREEN_NT36xxx_HOSTDL_SPI_CCC
- bool "Novatek NT36xxx host download SPI driver"
+ tristate "Novatek NT36xxx host download SPI driver"
depends on ( SPI || TOUCHSCREEN_AAAAAA_CCC )
default n
help
diff --git a/drivers/input/touchscreen/nt36xxx_spi_bbb/Makefile b/drivers/input/touchscreen/nt36xxx_spi_bbb/Makefile
index bca7b8a85..9ca3cfc3d 100644
--- a/drivers/input/touchscreen/nt36xxx_spi_bbb/Makefile
+++ b/drivers/input/touchscreen/nt36xxx_spi_bbb/Makefile
@@ -5,4 +5,5 @@
# Each configuration option enables a list of files.
obj-$(CONFIG_TOUCHSCREEN_NT36xxx_HOSTDL_SPI_BBB) += nt36xxx.o nt36xxx_fw_update.o nt36xxx_ext_proc.o nt36xxx_mp_ctrlram.o
-obj-$(CONFIG_TOUCHSCREEN_NT36xxx_HOSTDL_SPI_CCC) += nt36xxx.o nt36xxx_fw_update.o nt36xxx_ext_proc.o nt36xxx_mp_ctrlram.o
+obj-$(CONFIG_TOUCHSCREEN_NT36xxx_HOSTDL_SPI_CCC) += ts_nt36xxx.o
+ts_nt36xxx-y := nt36xxx.o nt36xxx_fw_update.o nt36xxx_ext_proc.o nt36xxx_mp_ctrlram.o
diff --git a/drivers/input/touchscreen/nt36xxx_spi_bbb/nt36xxx.c b/drivers/input/touchscreen/nt36xxx_spi_bbb/nt36xxx.c
index 93f4d0b1c..f48d3fc7b 100644
--- a/drivers/input/touchscreen/nt36xxx_spi_bbb/nt36xxx.c
+++ b/drivers/input/touchscreen/nt36xxx_spi_bbb/nt36xxx.c
@@ -43,8 +43,6 @@
#endif /* #if NVT_TOUCH_ESD_PROTECT */
#ifdef CHECK_TOUCH_VENDOR
-extern char *saved_command_line;
-
//---Touch Vendor ID---
static uint8_t touch_vendor_id = 0;
#endif
@@ -2711,31 +2709,8 @@ static int32_t __init nvt_driver_init(void)
#ifdef CHECK_TOUCH_VENDOR
//Check TP vendor
- if (IS_ERR_OR_NULL(saved_command_line)){
- NVT_ERR("saved_command_line ERROR!\n");
- ret = -ENOMEM;
- goto err_driver;
- } else {
- if (strstr(saved_command_line,"tianma") != NULL) {
- touch_vendor_id = TP_VENDOR_TIANMA;
- NVT_LOG("TP info: [Vendor]tianma [IC]nt36672a\n");
- } else if (strstr(saved_command_line,"shenchao") != NULL) {
- touch_vendor_id = TP_VENDOR_EBBG;
- NVT_LOG("TP info: [Vendor]shenchao [IC]nt36672a\n");
- } else {
- touch_vendor_id = TP_VENDOR_UNKNOW;
- NVT_ERR("Unknow Touch\n");
- ret = -ENODEV;
- goto err_driver;
- }
- }
-
- //Check android mode
- if (strstr(saved_command_line, "androidboot.mode=charger") != NULL) {
- NVT_LOG("androidboot.mode=charger, doesn't support touch in the charging mode!\n");
- ret = -ENODEV;
- goto err_driver;
- }
+ touch_vendor_id = TP_VENDOR_TIANMA;
+ NVT_LOG("TP info: [Vendor]tianma [IC]nt36672a\n");
#endif
//---add spi driver---