Loading drivers/input/touchscreen/Kconfig +2 −0 Original line number Diff line number Diff line Loading @@ -11,6 +11,8 @@ menuconfig INPUT_TOUCHSCREEN if INPUT_TOUCHSCREEN source "drivers/input/touchscreen/synaptics_dsx/Kconfig" config TOUCHSCREEN_88PM860X tristate "Marvell 88PM860x touchscreen" depends on MFD_88PM860X Loading drivers/input/touchscreen/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ obj-$(CONFIG_TOUCHSCREEN_PIXCIR) += pixcir_i2c_ts.o obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o obj-$(CONFIG_TOUCHSCREEN_ST1232) += st1232.o obj-$(CONFIG_TOUCHSCREEN_STMPE) += stmpe-ts.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_v21) += synaptics_dsx/ obj-$(CONFIG_TOUCHSCREEN_TI_AM335X_TSC) += ti_am335x_tsc.o obj-$(CONFIG_TOUCHSCREEN_TNETV107X) += tnetv107x-ts.o obj-$(CONFIG_TOUCHSCREEN_TOUCHIT213) += touchit213.o Loading drivers/input/touchscreen/synaptics_dsx/Kconfig +29 −13 Original line number Diff line number Diff line # # Synaptics DSX touchscreen driver configuration # menuconfig TOUCHSCREEN_SYNAPTICS_DSX menuconfig TOUCHSCREEN_SYNAPTICS_DSX_v21 bool "Synaptics DSX touchscreen" default y help Loading @@ -10,22 +10,38 @@ menuconfig TOUCHSCREEN_SYNAPTICS_DSX If unsure, say N. if TOUCHSCREEN_SYNAPTICS_DSX if TOUCHSCREEN_SYNAPTICS_DSX_v21 choice default TOUCHSCREEN_SYNAPTICS_DSX_I2C default TOUCHSCREEN_SYNAPTICS_DSX_I2C_v21 prompt "Synaptics DSX touchscreen bus interface" config TOUCHSCREEN_SYNAPTICS_DSX_I2C config TOUCHSCREEN_SYNAPTICS_DSX_I2C_v21 bool "I2C" depends on I2C config TOUCHSCREEN_SYNAPTICS_DSX_SPI help Say Y here if you have a Synaptics DSX touchscreen interfaced to the host processor over I2C If unsure, say N. This module uses the services of DSX CORE config TOUCHSCREEN_SYNAPTICS_DSX_SPI_v21 bool "SPI" depends on SPI_MASTER help Say Y here if you have a Synaptics DSX touchscreen interfaced to the host processor over SPI If unsure, say N. This module uses the services of DSX CORE endchoice config TOUCHSCREEN_SYNAPTICS_DSX_CORE config TOUCHSCREEN_SYNAPTICS_DSX_CORE_v21 tristate "Synaptics DSX core driver module" depends on TOUCHSCREEN_SYNAPTICS_DSX_I2C || TOUCHSCREEN_SYNAPTICS_DSX_SPI depends on TOUCHSCREEN_SYNAPTICS_DSX_I2C_v21 || TOUCHSCREEN_SYNAPTICS_DSX_SPI_v21 help Say Y here to enable basic touch reporting functionalities. Loading @@ -34,9 +50,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_CORE To compile this driver as a module, choose M here: the module will be called synaptics_dsx_core. config TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV config TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV_v21 tristate "Synaptics DSX touchscreen RMI device module" depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v21 help Say Y here to enable support for direct RMI register access. Loading @@ -45,9 +61,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV To compile this driver as a module, choose M here: the module will be called synaptics_dsx_rmi_dev. config TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE config TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE_v21 tristate "Synaptics DSX touchscreen firmware update module" depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v21 help Say Y here to enable support for carrying out firmware update. Loading @@ -56,9 +72,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE To compile this driver as a module, choose M here: the module will be called synaptics_dsx_fw_update. config TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY config TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY_v21 tristate "Synaptics DSX touchscreen proximity module" depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v21 help Say Y here to enable support for proximity functionalities. Loading drivers/input/touchscreen/synaptics_dsx/Makefile +6 −6 Original line number Diff line number Diff line Loading @@ -4,9 +4,9 @@ # Each configuration option enables a list of files. obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C) += synaptics_dsx_i2c.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_SPI) += synaptics_dsx_spi.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_CORE) += synaptics_dsx_core.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV) += synaptics_dsx_rmi_dev.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE) += synaptics_dsx_fw_update.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY) += synaptics_dsx_proximity.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C_v21) += synaptics_dsx_i2c.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_SPI_v21) += synaptics_dsx_spi.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_CORE_v21) += synaptics_dsx_core.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV_v21) += synaptics_dsx_rmi_dev.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE_v21) += synaptics_dsx_fw_update.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY_v21) += synaptics_dsx_proximity.o drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.c +30 −10 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ #include <linux/gpio.h> #include <linux/platform_device.h> #include <linux/regulator/consumer.h> #include <linux/input/synaptics_dsx.h> #include <linux/input/synaptics_dsx_v2.h> #include "synaptics_dsx_core.h" #ifdef KERNEL_ABOVE_2_6_38 #include <linux/input/mt.h> Loading Loading @@ -2069,7 +2069,7 @@ static void synaptics_rmi4_set_params(struct synaptics_rmi4_data *rmi4_data) #ifdef TYPE_B_PROTOCOL input_mt_init_slots(rmi4_data->input_dev, rmi4_data->num_of_fingers); rmi4_data->num_of_fingers, 0); #endif f1a = NULL; Loading Loading @@ -2419,7 +2419,7 @@ static void synaptics_rmi4_exp_fn_work(struct work_struct *work) } /** * synaptics_rmi4_new_function() * synaptics_rmi4_dsx_new_function() * * Called by other expansion Function modules in their module init and * module exit functions. Loading @@ -2430,7 +2430,7 @@ static void synaptics_rmi4_exp_fn_work(struct work_struct *work) * can be inserted or removed dynamically at module init and exit times, * respectively. */ void synaptics_rmi4_new_function(struct synaptics_rmi4_exp_fn *exp_fn, void synaptics_rmi4_dsx_new_function(struct synaptics_rmi4_exp_fn *exp_fn, bool insert) { struct synaptics_rmi4_exp_fhandler *exp_fhandler; Loading Loading @@ -2474,7 +2474,7 @@ exit: return; } EXPORT_SYMBOL(synaptics_rmi4_new_function); EXPORT_SYMBOL(synaptics_rmi4_dsx_new_function); /** * synaptics_rmi4_probe() Loading @@ -2490,7 +2490,7 @@ EXPORT_SYMBOL(synaptics_rmi4_new_function); * and creates a work queue for detection of other expansion Function * modules. */ static int __devinit synaptics_rmi4_probe(struct platform_device *pdev) static int synaptics_rmi4_probe(struct platform_device *pdev) { int retval; unsigned char attr_count; Loading Loading @@ -2532,7 +2532,11 @@ static int __devinit synaptics_rmi4_probe(struct platform_device *pdev) retval = PTR_ERR(rmi4_data->regulator); goto err_regulator; } regulator_enable(rmi4_data->regulator); retval = regulator_enable(rmi4_data->regulator); if (retval) dev_err(&pdev->dev, "%s: Failed to enable regulators\n", __func__); msleep(bdata->power_delay_ms); } Loading Loading @@ -2676,7 +2680,7 @@ err_regulator: * frees the interrupt, unregisters the driver from the input subsystem, * turns off the power to the sensor, and frees other allocated resources. */ static int __devexit synaptics_rmi4_remove(struct platform_device *pdev) static int synaptics_rmi4_remove(struct platform_device *pdev) { unsigned char attr_count; struct synaptics_rmi4_data *rmi4_data = platform_get_drvdata(pdev); Loading Loading @@ -2972,7 +2976,11 @@ static int synaptics_rmi4_resume(struct device *dev) return 0; if (rmi4_data->regulator) { regulator_enable(rmi4_data->regulator); retval = regulator_enable(rmi4_data->regulator); if (retval) dev_err(rmi4_data->pdev->dev.parent, "%s: Failed to enable regulators\n", __func__); msleep(bdata->reset_delay_ms); rmi4_data->current_page = MASK_8BIT; } Loading Loading @@ -3004,6 +3012,18 @@ static const struct dev_pm_ops synaptics_rmi4_dev_pm_ops = { .suspend = synaptics_rmi4_suspend, .resume = synaptics_rmi4_resume, }; #else static int synaptics_rmi4_suspend(struct device *dev) { dev_err(dev, "PM not supported\n"); return -EINVAL; } static int synaptics_rmi4_resume(struct device *dev) { dev_err(dev, "PM not supported\n"); return -EINVAL; } #endif static struct platform_driver synaptics_rmi4_driver = { Loading @@ -3015,7 +3035,7 @@ static struct platform_driver synaptics_rmi4_driver = { #endif }, .probe = synaptics_rmi4_probe, .remove = __devexit_p(synaptics_rmi4_remove), .remove = synaptics_rmi4_remove, }; /** Loading Loading
drivers/input/touchscreen/Kconfig +2 −0 Original line number Diff line number Diff line Loading @@ -11,6 +11,8 @@ menuconfig INPUT_TOUCHSCREEN if INPUT_TOUCHSCREEN source "drivers/input/touchscreen/synaptics_dsx/Kconfig" config TOUCHSCREEN_88PM860X tristate "Marvell 88PM860x touchscreen" depends on MFD_88PM860X Loading
drivers/input/touchscreen/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ obj-$(CONFIG_TOUCHSCREEN_PIXCIR) += pixcir_i2c_ts.o obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o obj-$(CONFIG_TOUCHSCREEN_ST1232) += st1232.o obj-$(CONFIG_TOUCHSCREEN_STMPE) += stmpe-ts.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_v21) += synaptics_dsx/ obj-$(CONFIG_TOUCHSCREEN_TI_AM335X_TSC) += ti_am335x_tsc.o obj-$(CONFIG_TOUCHSCREEN_TNETV107X) += tnetv107x-ts.o obj-$(CONFIG_TOUCHSCREEN_TOUCHIT213) += touchit213.o Loading
drivers/input/touchscreen/synaptics_dsx/Kconfig +29 −13 Original line number Diff line number Diff line # # Synaptics DSX touchscreen driver configuration # menuconfig TOUCHSCREEN_SYNAPTICS_DSX menuconfig TOUCHSCREEN_SYNAPTICS_DSX_v21 bool "Synaptics DSX touchscreen" default y help Loading @@ -10,22 +10,38 @@ menuconfig TOUCHSCREEN_SYNAPTICS_DSX If unsure, say N. if TOUCHSCREEN_SYNAPTICS_DSX if TOUCHSCREEN_SYNAPTICS_DSX_v21 choice default TOUCHSCREEN_SYNAPTICS_DSX_I2C default TOUCHSCREEN_SYNAPTICS_DSX_I2C_v21 prompt "Synaptics DSX touchscreen bus interface" config TOUCHSCREEN_SYNAPTICS_DSX_I2C config TOUCHSCREEN_SYNAPTICS_DSX_I2C_v21 bool "I2C" depends on I2C config TOUCHSCREEN_SYNAPTICS_DSX_SPI help Say Y here if you have a Synaptics DSX touchscreen interfaced to the host processor over I2C If unsure, say N. This module uses the services of DSX CORE config TOUCHSCREEN_SYNAPTICS_DSX_SPI_v21 bool "SPI" depends on SPI_MASTER help Say Y here if you have a Synaptics DSX touchscreen interfaced to the host processor over SPI If unsure, say N. This module uses the services of DSX CORE endchoice config TOUCHSCREEN_SYNAPTICS_DSX_CORE config TOUCHSCREEN_SYNAPTICS_DSX_CORE_v21 tristate "Synaptics DSX core driver module" depends on TOUCHSCREEN_SYNAPTICS_DSX_I2C || TOUCHSCREEN_SYNAPTICS_DSX_SPI depends on TOUCHSCREEN_SYNAPTICS_DSX_I2C_v21 || TOUCHSCREEN_SYNAPTICS_DSX_SPI_v21 help Say Y here to enable basic touch reporting functionalities. Loading @@ -34,9 +50,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_CORE To compile this driver as a module, choose M here: the module will be called synaptics_dsx_core. config TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV config TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV_v21 tristate "Synaptics DSX touchscreen RMI device module" depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v21 help Say Y here to enable support for direct RMI register access. Loading @@ -45,9 +61,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV To compile this driver as a module, choose M here: the module will be called synaptics_dsx_rmi_dev. config TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE config TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE_v21 tristate "Synaptics DSX touchscreen firmware update module" depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v21 help Say Y here to enable support for carrying out firmware update. Loading @@ -56,9 +72,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE To compile this driver as a module, choose M here: the module will be called synaptics_dsx_fw_update. config TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY config TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY_v21 tristate "Synaptics DSX touchscreen proximity module" depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v21 help Say Y here to enable support for proximity functionalities. Loading
drivers/input/touchscreen/synaptics_dsx/Makefile +6 −6 Original line number Diff line number Diff line Loading @@ -4,9 +4,9 @@ # Each configuration option enables a list of files. obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C) += synaptics_dsx_i2c.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_SPI) += synaptics_dsx_spi.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_CORE) += synaptics_dsx_core.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV) += synaptics_dsx_rmi_dev.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE) += synaptics_dsx_fw_update.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY) += synaptics_dsx_proximity.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C_v21) += synaptics_dsx_i2c.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_SPI_v21) += synaptics_dsx_spi.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_CORE_v21) += synaptics_dsx_core.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV_v21) += synaptics_dsx_rmi_dev.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE_v21) += synaptics_dsx_fw_update.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY_v21) += synaptics_dsx_proximity.o
drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.c +30 −10 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ #include <linux/gpio.h> #include <linux/platform_device.h> #include <linux/regulator/consumer.h> #include <linux/input/synaptics_dsx.h> #include <linux/input/synaptics_dsx_v2.h> #include "synaptics_dsx_core.h" #ifdef KERNEL_ABOVE_2_6_38 #include <linux/input/mt.h> Loading Loading @@ -2069,7 +2069,7 @@ static void synaptics_rmi4_set_params(struct synaptics_rmi4_data *rmi4_data) #ifdef TYPE_B_PROTOCOL input_mt_init_slots(rmi4_data->input_dev, rmi4_data->num_of_fingers); rmi4_data->num_of_fingers, 0); #endif f1a = NULL; Loading Loading @@ -2419,7 +2419,7 @@ static void synaptics_rmi4_exp_fn_work(struct work_struct *work) } /** * synaptics_rmi4_new_function() * synaptics_rmi4_dsx_new_function() * * Called by other expansion Function modules in their module init and * module exit functions. Loading @@ -2430,7 +2430,7 @@ static void synaptics_rmi4_exp_fn_work(struct work_struct *work) * can be inserted or removed dynamically at module init and exit times, * respectively. */ void synaptics_rmi4_new_function(struct synaptics_rmi4_exp_fn *exp_fn, void synaptics_rmi4_dsx_new_function(struct synaptics_rmi4_exp_fn *exp_fn, bool insert) { struct synaptics_rmi4_exp_fhandler *exp_fhandler; Loading Loading @@ -2474,7 +2474,7 @@ exit: return; } EXPORT_SYMBOL(synaptics_rmi4_new_function); EXPORT_SYMBOL(synaptics_rmi4_dsx_new_function); /** * synaptics_rmi4_probe() Loading @@ -2490,7 +2490,7 @@ EXPORT_SYMBOL(synaptics_rmi4_new_function); * and creates a work queue for detection of other expansion Function * modules. */ static int __devinit synaptics_rmi4_probe(struct platform_device *pdev) static int synaptics_rmi4_probe(struct platform_device *pdev) { int retval; unsigned char attr_count; Loading Loading @@ -2532,7 +2532,11 @@ static int __devinit synaptics_rmi4_probe(struct platform_device *pdev) retval = PTR_ERR(rmi4_data->regulator); goto err_regulator; } regulator_enable(rmi4_data->regulator); retval = regulator_enable(rmi4_data->regulator); if (retval) dev_err(&pdev->dev, "%s: Failed to enable regulators\n", __func__); msleep(bdata->power_delay_ms); } Loading Loading @@ -2676,7 +2680,7 @@ err_regulator: * frees the interrupt, unregisters the driver from the input subsystem, * turns off the power to the sensor, and frees other allocated resources. */ static int __devexit synaptics_rmi4_remove(struct platform_device *pdev) static int synaptics_rmi4_remove(struct platform_device *pdev) { unsigned char attr_count; struct synaptics_rmi4_data *rmi4_data = platform_get_drvdata(pdev); Loading Loading @@ -2972,7 +2976,11 @@ static int synaptics_rmi4_resume(struct device *dev) return 0; if (rmi4_data->regulator) { regulator_enable(rmi4_data->regulator); retval = regulator_enable(rmi4_data->regulator); if (retval) dev_err(rmi4_data->pdev->dev.parent, "%s: Failed to enable regulators\n", __func__); msleep(bdata->reset_delay_ms); rmi4_data->current_page = MASK_8BIT; } Loading Loading @@ -3004,6 +3012,18 @@ static const struct dev_pm_ops synaptics_rmi4_dev_pm_ops = { .suspend = synaptics_rmi4_suspend, .resume = synaptics_rmi4_resume, }; #else static int synaptics_rmi4_suspend(struct device *dev) { dev_err(dev, "PM not supported\n"); return -EINVAL; } static int synaptics_rmi4_resume(struct device *dev) { dev_err(dev, "PM not supported\n"); return -EINVAL; } #endif static struct platform_driver synaptics_rmi4_driver = { Loading @@ -3015,7 +3035,7 @@ static struct platform_driver synaptics_rmi4_driver = { #endif }, .probe = synaptics_rmi4_probe, .remove = __devexit_p(synaptics_rmi4_remove), .remove = synaptics_rmi4_remove, }; /** Loading