Loading drivers/input/touchscreen/Kconfig +131 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,137 @@ config TOUCHSCREEN_CYTTSP4_SPI To compile this driver as a module, choose M here: the module will be called cyttsp4_spi. config TOUCHSCREEN_CYPRESS_CYTTSP5 tristate "Parade TrueTouch Gen5 Touchscreen Driver" default y help Core driver for Parade TrueTouch(tm) Standard Product Geneartion5 touchscreen controllers. Say Y here if you have a Parade Gen5 touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called cyttsp5. config TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICETREE_SUPPORT bool "Enable Device Tree support" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 && OF default y help Devicetree parsor for Parade TrueTouch(tm) Standard Product Geneartion5 touchscreen controllers. Say Y here to enable support for device tree. If unsure, say N. config TOUCHSCREEN_CYPRESS_CYTTSP5_I2C tristate "Parade TrueTouch Gen5 I2C" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 select I2C default y help Say Y here to enable I2C bus interface to Parade TrueTouch(tm) Standard Product Generation5 touchscreen controller. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called cyttsp5_i2c. config TOUCHSCREEN_CYPRESS_CYTTSP5_SPI tristate "Parade TrueTouch Gen5 SPI" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 select SPI help Say Y here to enable SPI bus interface to Parade TrueTouch(tm) Standard Product Generation5 touchscreen controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called cyttsp5_spi. config TOUCHSCREEN_CYPRESS_CYTTSP5_MT_A bool "Parade TrueTouch Gen5 MultiTouch Protocol A" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 help This option controls which MultiTouch protocol will be used to report the touch events. This depends on your usage. Select to enable MultiTouch touch reporting using protocol A on Parade TrueTouch(tm) Standard Product Generation4 touchscreen controller. If unsure, say N. config TOUCHSCREEN_CYPRESS_CYTTSP5_MT_B bool "Parade TrueTouch Gen5 MultiTouch Protocol B" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 default y help This option controls which MultiTouch protocol will be used to report the touch events. This depends on your usage. Select to enable MultiTouch touch reporting using protocol B on Parade TrueTouch(tm) Standard Product Generation4 touchscreen controller. If unsure, say N. config TOUCHSCREEN_CYPRESS_CYTTSP5_BUTTON bool "Parade TrueTouch Gen5 MultiTouch CapSense Button" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 default y help Say Y here to enable CapSense reporting on Parade TrueTouch(tm) Standard Product Generation5 touchscreen controller. If unsure, say N. config TOUCHSCREEN_CYPRESS_CYTTSP5_PROXIMITY bool "Parade TrueTouch Gen5 Proximity" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 default y help Say Y here to enable proximity reporting on Parade TrueTouch(tm) Standard Product Generation5 touchscreen controller. If unsure, say N. config TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS tristate "Parade TrueTouch Gen5 MultiTouch Device Access" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 default y help Say Y here to enable Parade TrueTouch(tm) Standard Product Generation5 touchscreen controller device access module. This modules adds an interface to access touchscreen controller using driver sysfs nodes. If unsure, say N. To compile this driver as a module, choose M here: the module will be called cyttsp5_device_access. config TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS_API bool "Enable Device Access kernel API" depends on TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS help Say Y here to enable Device access kernel API which provides access to Parade TrueTouch(tm) Standard Product Generation5 touchscreen controller for other modules. If unsure, say N. config TOUCHSCREEN_DA9034 tristate "Touchscreen support for Dialog Semiconductor DA9034" depends on PMIC_DA903X Loading drivers/input/touchscreen/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ obj-$(CONFIG_TOUCHSCREEN_CYTTSP_SPI) += cyttsp_spi.o obj-$(CONFIG_TOUCHSCREEN_CYTTSP4_CORE) += cyttsp4_core.o obj-$(CONFIG_TOUCHSCREEN_CYTTSP4_I2C) += cyttsp4_i2c.o cyttsp_i2c_common.o obj-$(CONFIG_TOUCHSCREEN_CYTTSP4_SPI) += cyttsp4_spi.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5) += cyttsp5/ obj-$(CONFIG_TOUCHSCREEN_DA9034) += da9034-ts.o obj-$(CONFIG_TOUCHSCREEN_DA9052) += da9052_tsi.o obj-$(CONFIG_TOUCHSCREEN_DYNAPRO) += dynapro.o Loading drivers/input/touchscreen/cyttsp5/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ endif obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_I2C) += cyttsp5_i2c.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_SPI) += cyttsp5_spi.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEBUG_MDL) += cyttsp5_debug.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_LOADER) += cyttsp5_loader.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5) += cyttsp5_loader.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS) += cyttsp5_device_access.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_TEST_DEVICE_ACCESS_API) += cyttsp5_test_device_access_api.o Loading drivers/input/touchscreen/cyttsp5/cyttsp5_btn.c +10 −13 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ * CYTT21XXX * CYTT31XXX * * Copyright (C) 2015 Parade Technologies * Copyright (C) 2015-2019 Parade Technologies * Copyright (C) 2012-2015 Cypress Semiconductor * * This program is free software; you can redistribute it and/or Loading @@ -36,8 +36,7 @@ static inline void cyttsp5_btn_key_action(struct cyttsp5_btn_data *bd, struct device *dev = bd->dev; struct cyttsp5_sysinfo *si = bd->si; if (!si->btn[btn_no].enabled || si->btn[btn_no].state == btn_state) if (!si->btn[btn_no].enabled || si->btn[btn_no].state == btn_state) return; si->btn[btn_no].state = btn_state; Loading @@ -46,8 +45,7 @@ static inline void cyttsp5_btn_key_action(struct cyttsp5_btn_data *bd, parade_debug(dev, DEBUG_LEVEL_1, "%s: btn=%d key_code=%d %s\n", __func__, btn_no, si->btn[btn_no].key_code, btn_state == CY_BTN_PRESSED ? "PRESSED" : "RELEASED"); btn_state == CY_BTN_PRESSED ? "PRESSED" : "RELEASED"); } static void cyttsp5_get_btn_touches(struct cyttsp5_btn_data *bd) Loading Loading @@ -96,8 +94,7 @@ static void cyttsp5_log_btn_data(struct cyttsp5_btn_data *bd) value = 0; snprintf(pr_buf, CY_MAX_PRBUF_SIZE, "btn_rec[%d]=0x", cur); snprintf(pr_buf, CY_MAX_PRBUF_SIZE, "%s%X (%02X)", pr_buf, value, le16_to_cpu(si->xy_data[1 + cur * 2])); pr_buf, value, le16_to_cpu(si->xy_data[1 + cur * 2])); parade_debug(dev, DEBUG_LEVEL_2, "%s: %s\n", __func__, pr_buf); } Loading Loading @@ -276,7 +273,7 @@ static int cyttsp5_setup_input_attention(struct device *dev) bd->si = _cyttsp5_request_sysinfo(dev); if (!bd->si) return -1; return -EPERM; rc = cyttsp5_setup_input_device(dev); Loading Loading @@ -306,8 +303,8 @@ int cyttsp5_btn_probe(struct device *dev) bd->pdata = btn_pdata; /* Create the input device and register it. */ parade_debug(dev, DEBUG_LEVEL_2, "%s: Create the input device and register it\n", __func__); parade_debug(dev, DEBUG_LEVEL_2, "%s: Create the input device and register it\n", __func__); bd->input = input_allocate_device(); if (!bd->input) { dev_err(dev, "%s: Error, failed to allocate input device\n", Loading Loading @@ -336,7 +333,7 @@ int cyttsp5_btn_probe(struct device *dev) if (rc) goto error_init_input; } else { dev_err(dev, "%s: Fail get sysinfo pointer from core p=%p\n", dev_err(dev, "%s: Fail get sysinfo pointer from core p=%pK\n", __func__, bd->si); _cyttsp5_subscribe_attention(dev, CY_ATTEN_STARTUP, CYTTSP5_BTN_NAME, cyttsp5_setup_input_attention, 0); Loading @@ -357,9 +354,9 @@ int cyttsp5_btn_release(struct device *dev) struct cyttsp5_core_data *cd = dev_get_drvdata(dev); struct cyttsp5_btn_data *bd = &cd->bd; if (bd->input_device_registered) { if (bd->input_device_registered) input_unregister_device(bd->input); } else { else { input_free_device(bd->input); _cyttsp5_unsubscribe_attention(dev, CY_ATTEN_STARTUP, CYTTSP5_BTN_NAME, cyttsp5_setup_input_attention, 0); Loading drivers/input/touchscreen/cyttsp5/cyttsp5_core.c +496 −251 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
drivers/input/touchscreen/Kconfig +131 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,137 @@ config TOUCHSCREEN_CYTTSP4_SPI To compile this driver as a module, choose M here: the module will be called cyttsp4_spi. config TOUCHSCREEN_CYPRESS_CYTTSP5 tristate "Parade TrueTouch Gen5 Touchscreen Driver" default y help Core driver for Parade TrueTouch(tm) Standard Product Geneartion5 touchscreen controllers. Say Y here if you have a Parade Gen5 touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called cyttsp5. config TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICETREE_SUPPORT bool "Enable Device Tree support" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 && OF default y help Devicetree parsor for Parade TrueTouch(tm) Standard Product Geneartion5 touchscreen controllers. Say Y here to enable support for device tree. If unsure, say N. config TOUCHSCREEN_CYPRESS_CYTTSP5_I2C tristate "Parade TrueTouch Gen5 I2C" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 select I2C default y help Say Y here to enable I2C bus interface to Parade TrueTouch(tm) Standard Product Generation5 touchscreen controller. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called cyttsp5_i2c. config TOUCHSCREEN_CYPRESS_CYTTSP5_SPI tristate "Parade TrueTouch Gen5 SPI" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 select SPI help Say Y here to enable SPI bus interface to Parade TrueTouch(tm) Standard Product Generation5 touchscreen controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called cyttsp5_spi. config TOUCHSCREEN_CYPRESS_CYTTSP5_MT_A bool "Parade TrueTouch Gen5 MultiTouch Protocol A" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 help This option controls which MultiTouch protocol will be used to report the touch events. This depends on your usage. Select to enable MultiTouch touch reporting using protocol A on Parade TrueTouch(tm) Standard Product Generation4 touchscreen controller. If unsure, say N. config TOUCHSCREEN_CYPRESS_CYTTSP5_MT_B bool "Parade TrueTouch Gen5 MultiTouch Protocol B" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 default y help This option controls which MultiTouch protocol will be used to report the touch events. This depends on your usage. Select to enable MultiTouch touch reporting using protocol B on Parade TrueTouch(tm) Standard Product Generation4 touchscreen controller. If unsure, say N. config TOUCHSCREEN_CYPRESS_CYTTSP5_BUTTON bool "Parade TrueTouch Gen5 MultiTouch CapSense Button" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 default y help Say Y here to enable CapSense reporting on Parade TrueTouch(tm) Standard Product Generation5 touchscreen controller. If unsure, say N. config TOUCHSCREEN_CYPRESS_CYTTSP5_PROXIMITY bool "Parade TrueTouch Gen5 Proximity" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 default y help Say Y here to enable proximity reporting on Parade TrueTouch(tm) Standard Product Generation5 touchscreen controller. If unsure, say N. config TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS tristate "Parade TrueTouch Gen5 MultiTouch Device Access" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 default y help Say Y here to enable Parade TrueTouch(tm) Standard Product Generation5 touchscreen controller device access module. This modules adds an interface to access touchscreen controller using driver sysfs nodes. If unsure, say N. To compile this driver as a module, choose M here: the module will be called cyttsp5_device_access. config TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS_API bool "Enable Device Access kernel API" depends on TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS help Say Y here to enable Device access kernel API which provides access to Parade TrueTouch(tm) Standard Product Generation5 touchscreen controller for other modules. If unsure, say N. config TOUCHSCREEN_DA9034 tristate "Touchscreen support for Dialog Semiconductor DA9034" depends on PMIC_DA903X Loading
drivers/input/touchscreen/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ obj-$(CONFIG_TOUCHSCREEN_CYTTSP_SPI) += cyttsp_spi.o obj-$(CONFIG_TOUCHSCREEN_CYTTSP4_CORE) += cyttsp4_core.o obj-$(CONFIG_TOUCHSCREEN_CYTTSP4_I2C) += cyttsp4_i2c.o cyttsp_i2c_common.o obj-$(CONFIG_TOUCHSCREEN_CYTTSP4_SPI) += cyttsp4_spi.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5) += cyttsp5/ obj-$(CONFIG_TOUCHSCREEN_DA9034) += da9034-ts.o obj-$(CONFIG_TOUCHSCREEN_DA9052) += da9052_tsi.o obj-$(CONFIG_TOUCHSCREEN_DYNAPRO) += dynapro.o Loading
drivers/input/touchscreen/cyttsp5/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ endif obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_I2C) += cyttsp5_i2c.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_SPI) += cyttsp5_spi.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEBUG_MDL) += cyttsp5_debug.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_LOADER) += cyttsp5_loader.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5) += cyttsp5_loader.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS) += cyttsp5_device_access.o obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_TEST_DEVICE_ACCESS_API) += cyttsp5_test_device_access_api.o Loading
drivers/input/touchscreen/cyttsp5/cyttsp5_btn.c +10 −13 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ * CYTT21XXX * CYTT31XXX * * Copyright (C) 2015 Parade Technologies * Copyright (C) 2015-2019 Parade Technologies * Copyright (C) 2012-2015 Cypress Semiconductor * * This program is free software; you can redistribute it and/or Loading @@ -36,8 +36,7 @@ static inline void cyttsp5_btn_key_action(struct cyttsp5_btn_data *bd, struct device *dev = bd->dev; struct cyttsp5_sysinfo *si = bd->si; if (!si->btn[btn_no].enabled || si->btn[btn_no].state == btn_state) if (!si->btn[btn_no].enabled || si->btn[btn_no].state == btn_state) return; si->btn[btn_no].state = btn_state; Loading @@ -46,8 +45,7 @@ static inline void cyttsp5_btn_key_action(struct cyttsp5_btn_data *bd, parade_debug(dev, DEBUG_LEVEL_1, "%s: btn=%d key_code=%d %s\n", __func__, btn_no, si->btn[btn_no].key_code, btn_state == CY_BTN_PRESSED ? "PRESSED" : "RELEASED"); btn_state == CY_BTN_PRESSED ? "PRESSED" : "RELEASED"); } static void cyttsp5_get_btn_touches(struct cyttsp5_btn_data *bd) Loading Loading @@ -96,8 +94,7 @@ static void cyttsp5_log_btn_data(struct cyttsp5_btn_data *bd) value = 0; snprintf(pr_buf, CY_MAX_PRBUF_SIZE, "btn_rec[%d]=0x", cur); snprintf(pr_buf, CY_MAX_PRBUF_SIZE, "%s%X (%02X)", pr_buf, value, le16_to_cpu(si->xy_data[1 + cur * 2])); pr_buf, value, le16_to_cpu(si->xy_data[1 + cur * 2])); parade_debug(dev, DEBUG_LEVEL_2, "%s: %s\n", __func__, pr_buf); } Loading Loading @@ -276,7 +273,7 @@ static int cyttsp5_setup_input_attention(struct device *dev) bd->si = _cyttsp5_request_sysinfo(dev); if (!bd->si) return -1; return -EPERM; rc = cyttsp5_setup_input_device(dev); Loading Loading @@ -306,8 +303,8 @@ int cyttsp5_btn_probe(struct device *dev) bd->pdata = btn_pdata; /* Create the input device and register it. */ parade_debug(dev, DEBUG_LEVEL_2, "%s: Create the input device and register it\n", __func__); parade_debug(dev, DEBUG_LEVEL_2, "%s: Create the input device and register it\n", __func__); bd->input = input_allocate_device(); if (!bd->input) { dev_err(dev, "%s: Error, failed to allocate input device\n", Loading Loading @@ -336,7 +333,7 @@ int cyttsp5_btn_probe(struct device *dev) if (rc) goto error_init_input; } else { dev_err(dev, "%s: Fail get sysinfo pointer from core p=%p\n", dev_err(dev, "%s: Fail get sysinfo pointer from core p=%pK\n", __func__, bd->si); _cyttsp5_subscribe_attention(dev, CY_ATTEN_STARTUP, CYTTSP5_BTN_NAME, cyttsp5_setup_input_attention, 0); Loading @@ -357,9 +354,9 @@ int cyttsp5_btn_release(struct device *dev) struct cyttsp5_core_data *cd = dev_get_drvdata(dev); struct cyttsp5_btn_data *bd = &cd->bd; if (bd->input_device_registered) { if (bd->input_device_registered) input_unregister_device(bd->input); } else { else { input_free_device(bd->input); _cyttsp5_unsubscribe_attention(dev, CY_ATTEN_STARTUP, CYTTSP5_BTN_NAME, cyttsp5_setup_input_attention, 0); Loading
drivers/input/touchscreen/cyttsp5/cyttsp5_core.c +496 −251 File changed.Preview size limit exceeded, changes collapsed. Show changes