- 28 5月, 2016 2 次提交
-
-
由 Stephen Just 提交于
This change creates a second input device which will handle input from a Surface Pen. The Surface Pen supplies a different packet header than touch events, so it is simple to handle one or the other. This patch handles both the newer Surface Pen with one button, and the older variant with a second button to switch to Eraser mode. Signed-off-by: NStephen Just <stephenjust@gmail.com> Reviewed-and-tested-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Stephen Just 提交于
Surface Pens can be supported by handling a second report type. Prepare for this change. Signed-off-by: NStephen Just <stephenjust@gmail.com> Reviewed-and-tested-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 20 5月, 2016 2 次提交
-
-
由 Benjamin Tissoires 提交于
This is a basic driver for the Surface 3. I am not so sure it will work with any firmwares as most values are encoded, but given that I only have access to my current device with its firmware and I don't have the datasheet, it should be OK for now. The Surface Pen is not supported (if it is supposed to be). I'll work on this when I get one. Tested-by: NBastien Nocera <hadess@hadess.net> Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Arnd Bergmann 提交于
The migor touchscreen driver is now available for COMPILE_TEST, so we run into a harmless randconfig warning on ARM when CONFIG_PM is disabled: drivers/input/touchscreen/migor_ts.c:216:12: error: 'migor_ts_resume' defined but not used [-Werror=unused-function] drivers/input/touchscreen/migor_ts.c:205:12: error: 'migor_ts_suspend' defined but not used [-Werror=unused-function] This shuts up the warning by marking the two functions as __maybe_unused. We could do the same thing by adding an #ifdef, but this version is more reliable. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 19 5月, 2016 2 次提交
-
-
由 Javier Martinez Canillas 提交于
The driver only has runtime but no build time dependency with SH_MIGOR, so it can be built for testing purposes if the COMPILE_TEST option is enabled. This is useful to have more build coverage and make sure that drivers are not affected by changes that could cause build regressions. Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Javier Martinez Canillas 提交于
There is a typo in the driver for the I2C device table that is passed to the MODULE_DEVICE_TABLE() macro, this leads to the following build error: CC [M] drivers/input/touchscreen//migor_ts.o drivers/input/touchscreen//migor_ts.c:233:21: error: 'migor_ts' undeclared here (not in a function) MODULE_DEVICE_TABLE(i2c, migor_ts); ^ drivers/input/touchscreen//migor_ts.c:233:31: error: '__mod_i2c__migor_ts_device_table' aliased to undefined symbol 'migor_ts' MODULE_DEVICE_TABLE(i2c, migor_ts); ^ scripts/Makefile.build:295: recipe for target 'drivers/input/touchscreen//migor_ts.o' failed make[1]: *** [drivers/input/touchscreen//migor_ts.o] Error 1 Makefile:1446: recipe for target '_module_drivers/input/touchscreen/' failed make: *** [_module_drivers/input/touchscreen/] Error 2 Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 07 4月, 2016 1 次提交
-
-
由 Raveendra Padasalagi 提交于
In Cygnus SOC touch screen controller registers are shared with ADC and flex timer. Using readl/writel could lead to race condition. So touch screen driver is enhanced to support register access using syscon framework API's to take care of mutually exclusive access. Signed-off-by: NRaveendra Padasalagi <raveendra.padasalagi@broadcom.com> Reviewed-by: NRay Jui <ray.jui@broadcom.com> Reviewed-by: NScott Branden <scott.branden@broadcom.com> Acked-by: NRob Herring <robh@kernel.org> Acked-by: NFlorian Fainelli <f.fainelli@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 06 4月, 2016 1 次提交
-
-
由 Dmitry Torokhov 提交于
Instead of doing the dance with macro that either resolves to a pointer or NULL, let's switch to using SIMPLE_DEV_PM_OPS(). Also let's mark suspend and resume methods as __maybe_unused instead of guarding them with an #ifdef and rely on linker to drop unused code. Doing so should allow better compile coverage. Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 24 3月, 2016 1 次提交
-
-
由 Oliver Neukum 提交于
During the initialisation the driver uses a buffer on the stack for DMA. That violates the cache coherency rules. The fix is to allocate the buffer with kmalloc(). Signed-off-by: NOliver Neukum <ONeukum@suse.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 17 3月, 2016 1 次提交
-
-
由 Sangwon Jee 提交于
Add hw_version sysfs attribute for retrieving hardware information from firmware. Signed-off-by: NSangwon Jee <jeesw@melfas.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 09 3月, 2016 3 次提交
-
-
由 Stefan Agner 提交于
Add device tree support for the I2C and SPI variant of AD7879(-1). This allows to specify the touchscreen controller as a I2C client node or SPI slave device. Most of the options available in platform data are also available as device tree properties, the only exception being GPIO capabilities, which can not be activated through device tree currently. Signed-off-by: NStefan Agner <stefan@agner.ch> Acked-by: NRob Herring <robh@kernel.org> Acked-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Stefan Agner 提交于
The X/Y position measurements read from the controller are interpreted wrong. The first measurement X+ contains the Y position, and the second measurement Y+ the X position (see also Table 11 Register Table in the data sheet). The problem is already known and a swap option has been introduced: commit 6680884a ("Input: ad7879 - add option to correct xy axis") However, the meaning of the new boolean is inverted since the underlying values are already swapped. Let ts->swap_xy set to true actually be the swapped configuration of the two axis. Signed-off-by: NStefan Agner <stefan@agner.ch> Acked-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Stefan Agner 提交于
The header file is used by the SPI and I2C variant of the driver. Therefore, move it to a more generic place under platform_data. Signed-off-by: NStefan Agner <stefan@agner.ch> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 05 3月, 2016 2 次提交
-
-
由 Jean Delvare 提交于
The Technologic Systems TS-4800 is an i.MX515 board, so its drivers are useless unless building a SOC_IMX51 kernel, except for build testing purposes. Signed-off-by: NJean Delvare <jdelvare@suse.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sangwon Jee 提交于
Add support for retrieving device resolution (pixels per mm) from firmware and using it when setting up input device. Signed-off-by: NSangwon Jee <jeesw@melfas.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 03 3月, 2016 1 次提交
-
-
由 Linus Walleij 提交于
commit e4b88e19 "Input: stmpe-ts - enforce device tree only mode" removed platform data but accidentally stripped away useful kerneldoc, so reintroduce it. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 18 2月, 2016 1 次提交
-
-
由 Sangwon Jee 提交于
This is an input driver for MELFAS MIP4 Touchscreen devices, such as MMS400, MMS500, MCS8000, MIT200, MIT300, MIT400, MFS10. All devices implementing MIP4 protocol (MELFAS Interface Protocol Version 4) should be supported by this driver. Signed-off-by: NSangwon Jee <jeesw@melfas.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 10 2月, 2016 3 次提交
-
-
由 Geert Uytterhoeven 提交于
drivers/input/touchscreen/colibri-vf50-ts.c: In function ‘vf50_ts_probe’: drivers/input/touchscreen/colibri-vf50-ts.c:302: error: implicit declaration of function ‘of_property_read_u32’ Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Philipp Zabel 提交于
A recent patch broke parsing the gain, offset, and threshold parameters from device tree. Instead of setting the cached values and writing them to the correct registers during probe, it would write the values from DT into the register address variables and never write them to the chip during normal operation. Fixes: 2e23b7a9 ("Input: edt-ft5x06 - use generic properties API") Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Geert Uytterhoeven 提交于
The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. If COMPILE_TEST is enabled, relax the dependency on GPIOLIB for the recently introduced or relaxed symbols TOUCHSCREEN_GOODIX and TOUCHSCREEN_COLIBRI_VF50. Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 28 1月, 2016 4 次提交
-
-
由 Oreste Salerno 提交于
Since we removed support for calling an init() callback from the platform data, introduce a function which initializes the chip by performing a hard reset, using the reset gpio defined in the device properties. Signed-off-by: NOreste Salerno <oreste.salerno@tomtom.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Oreste Salerno 提交于
Drop support for platform data passed via a C-structure and switch to device properties instead, which should make the driver compatible with all platforms: OF, ACPI and static boards. Static boards should use property sets to communicate device parameters to the driver. Signed-off-by: NOreste Salerno <oreste.salerno@tomtom.com> Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Oreste Salerno 提交于
Signed-off-by: NOreste Salerno <oreste.salerno@tomtom.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Oreste Salerno 提交于
Use devm_() functions for allocating memory, input device and IRQ. Signed-off-by: NOreste Salerno <oreste.salerno@tomtom.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 12 1月, 2016 1 次提交
-
-
由 Nick Dyer 提交于
Both T100 and T9 handle range and orientation in a similar fashion. Reduce duplication between the two implementations. Signed-off-by: NNick Dyer <nick.dyer@itdev.co.uk> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 11 1月, 2016 1 次提交
-
-
由 Peter Hutterer 提交于
As of e0361b70 ("Input: wacom_w8001 - split the touch and pen devices into two devices") the touch events aren't multiplexed over the same device anymore, the use of ABS_MT_TOOL_TYPE is superfluous. And even before then it only ever sent MT_TOOL_TYPE_FINGER anyway. Signed-off-by: NPeter Hutterer <peter.hutterer@who-t.net> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 08 1月, 2016 2 次提交
-
-
由 Dave Gerlach 提交于
Remove write to REG_IRQCLR and REG_IRQWAKEUP in interrupt handler for IRQENB_HW_PEN as the resume handler should and does clear REG_IRQWAKEUP. IRQENB_HW_PEN bit is set in irqclr so that all interrupts get cleared later so let IRQENB_HW_PEN be cleared by that. Without this patch wakeup events from TSC_ADC do not work because pending interrupts in TSC_ADC were causing HW_PEN interrupt, needed for wake from suspend modes, to get disabled immediately by IRQ handler after being enabled and preventing wake from happening. Signed-off-by: NDave Gerlach <d-gerlach@ti.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Because of the wrong condition we'd never retry firmware update. Acked-by: NYoichi Yuasa <yuasa@linux-mips.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 03 1月, 2016 1 次提交
-
-
由 Geliang Tang 提交于
Use to_delayed_work() instead of open-coding it. Signed-off-by: NGeliang Tang <geliangtang@163.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 20 12月, 2015 1 次提交
-
-
由 Dan Carpenter 提交于
We didn't check input_allocate_device() for failures so it could lead to a NULL deref. Fixes: 6b0f8f9c ('Input: add eGalaxTouch serial touchscreen driver') Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 19 12月, 2015 1 次提交
-
-
由 James Chen 提交于
When sending "SLEEP" command to the controller it ceases scanning completely and is unable to wake the system up from sleep, so if it is configured as a wakeup source we should simply configure interrupt for wakeup and rely on idle logic within the controller to reduce power consumption while it is not used. Signed-off-by: NJames Chen <james.chen@emc.com.tw> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 18 12月, 2015 9 次提交
-
-
由 Junghak Sung 提交于
Move timestamp from struct vb2_v4l2_buffer to struct vb2_buffer for common use, and change its type to u64 in order to handling y2038 problem. This patch also includes all device drivers' changes related to this restructuring. Signed-off-by: NJunghak Sung <jh1009.sung@samsung.com> Signed-off-by: NGeunyoung Kim <nenggun.kim@samsung.com> Acked-by: NSeung-Woo Kim <sw0312.kim@samsung.com> Acked-by: NInki Dae <inki.dae@samsung.com> Signed-off-by: NHans Verkuil <hansverk@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Hans Verkuil 提交于
The queue_setup callback has a void pointer that is just for V4L2 and is the pointer to the v4l2_format struct that was passed to VIDIOC_CREATE_BUFS. The idea was that drivers would use the information from that struct to buffers suitable for the requested format. After the vb2 split series this pointer is now a void pointer, which is ugly, and the reality is that all existing drivers will effectively just look at the sizeimage field of v4l2_format. To make this more generic the queue_setup callback is changed: the void pointer is dropped, instead if the *num_planes argument is 0, then use the current format size, if it is non-zero, then it contains the number of requested planes and the sizes array contains the requested sizes. If either is unsupported, then return -EINVAL, otherwise use the requested size(s). Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Karsten Merker 提交于
The goodix touchscreen driver uses a "rotated_screen" flag for systems on which the touchscreen is mounted rotated by 180 degrees with respect to the display. With the addition of support for the dt properties "touchscreen-inverted-x" and "touchscreen-inverted-y", a separate "rotated_screen" flag is not necessary anymore. This patch replaces it by setting the inverted_x and inverted_y flags instead. Signed-off-by: NKarsten Merker <merker@debian.org> Reviewed-by: NIrina Tirdea <irina.tirdea@intel.com> Tested-by: NBastien Nocera <hadess@hadess.net> Acked-by: NBastien Nocera <hadess@hadess.net> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Karsten Merker 提交于
Implement support for the following device-tree and ACPI 5.1 DSD properties in the goodix touchscreen driver: - touchscreen-inverted-x: X axis is inverted (boolean) - touchscreen-inverted-y: Y axis is inverted (boolean) - touchscreen-swapped-x-y: X and Y axis are swapped (boolean) These are necessary on tablets which have a display in portrait format while the touchscreen is in landscape format, such as e.g. the MSI Primo 81. Signed-off-by: NKarsten Merker <merker@debian.org> Tested-by: NBastien Nocera <hadess@hadess.net> Tested-by: Irina Tirdea <irina.tirdea@intel.com> (with ACPI DSD properties) Tested-by: Aleksei Mamlin <mamlinav@gmail.com> (with device-tree properties) Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Irina Tirdea 提交于
Use goodix_i2c_write_u8 instead of i2c_master_send to simplify code. Signed-off-by: NIrina Tirdea <irina.tirdea@intel.com> Tested-by: NBastien Nocera <hadess@hadess.net> Tested-by: NAleksei Mamlin <mamlinav@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Irina Tirdea 提交于
Implement suspend/resume for goodix driver. The suspend and resume process uses the gpio pins. If the device ACPI/DT information does not declare gpio pins, suspend/resume will not be available for these devices. This is based on Goodix datasheets for GT911 and GT9271 and on Goodix driver gt9xx.c for Android (publicly available in Android kernel trees for various devices). Signed-off-by: NOctavian Purdila <octavian.purdila@intel.com> Signed-off-by: NIrina Tirdea <irina.tirdea@intel.com> Tested-by: NBastien Nocera <hadess@hadess.net> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Irina Tirdea 提交于
Goodix devices can be configured by writing custom data to the device at init. The configuration data is read with request_firmware from "goodix_<id>_cfg.bin", where <id> is the product id read from the device (e.g.: goodix_911_cfg.bin for Goodix GT911, goodix_9271_cfg.bin for GT9271). The configuration information has a specific format described in the Goodix datasheet. It includes X/Y resolution, maximum supported touch points, interrupt flags, various sensitivity factors and settings for advanced features (like gesture recognition). Before writing the firmware, it is necessary to reset the device. If the device ACPI/DT information does not declare gpio pins (needed for reset), writing the firmware will not be available for these devices. This is based on Goodix datasheets for GT911 and GT9271 and on Goodix driver gt9xx.c for Android (publicly available in Android kernel trees for various devices). Signed-off-by: NOctavian Purdila <octavian.purdila@intel.com> Signed-off-by: NIrina Tirdea <irina.tirdea@intel.com> Tested-by: NBastien Nocera <hadess@hadess.net> Tested-by: NAleksei Mamlin <mamlinav@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Irina Tirdea 提交于
After power on, it is recommended that the driver resets the device. The reset procedure timing is described in the datasheet and is used at device init (before writing device configuration) and for power management. It is a sequence of setting the interrupt and reset pins high/low at specific timing intervals. This procedure also includes setting the slave address to the one specified in the ACPI/device tree. This is based on Goodix datasheets for GT911 and GT9271 and on Goodix driver gt9xx.c for Android (publicly available in Android kernel trees for various devices). For reset the driver needs to control the interrupt and reset gpio pins (configured through ACPI/device tree). For devices that do not have the gpio pins properly declared, the functionality depending on these pins will not be available, but the device can still be used with basic functionality. For both device tree and ACPI, the interrupt gpio pin configuration is read from the "irq-gpios" property and the reset pin configuration is read from the "reset-gpios" property. For ACPI 5.1, named properties can be specified using the _DSD section. This functionality will not be available for devices that use indexed gpio pins declared in the _CRS section (we need to provide backward compatibility with devices that do not support using the interrupt gpio pin as output). For ACPI, the pins can be specified using ACPI 5.1: Device (STAC) { Name (_HID, "GDIX1001") ... Method (_CRS, 0, Serialized) { Name (RBUF, ResourceTemplate () { I2cSerialBus (0x0014, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\I2C0", 0x00, ResourceConsumer, , ) GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000, "\\I2C0", 0x00, ResourceConsumer, , ) { // Pin list 0 } GpioIo (Exclusive, PullDown, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\I2C0", 0x00, ResourceConsumer, , ) { 1 } }) Return (RBUF) } Name (_DSD, Package () { ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), Package () { Package (2) {"irq-gpios", Package() {^STAC, 0, 0, 0 }}, Package (2) {"reset-gpios", Package() {^STAC, 1, 0, 0 }}, ... } } Signed-off-by: NOctavian Purdila <octavian.purdila@intel.com> Signed-off-by: NIrina Tirdea <irina.tirdea@intel.com> Acked-by: NRob Herring <robh@kernel.org> Acked-by: NBastien Nocera <hadess@hadess.net> Tested-by: NBastien Nocera <hadess@hadess.net> Tested-by: NAleksei Mamlin <mamlinav@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Irina Tirdea 提交于
Each of the Goodix devices supported by this driver has a fixed size for the configuration information registers. The size varies depending on the device and is specified in the datasheet. Use the proper configuration length as specified in the datasheet for each device model, so we do not read more than the actual size of the configuration registers. Signed-off-by: NIrina Tirdea <irina.tirdea@intel.com> Acked-by: NBastien Nocera <hadess@hadess.net> Tested-by: NBastien Nocera <hadess@hadess.net> Tested-by: NAleksei Mamlin <mamlinav@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-