- 04 9月, 2015 2 次提交
-
-
由 Dmitry Torokhov 提交于
Prepare first round of input updates for 4.3 merge window.
-
由 Duson Lin 提交于
When driver is in IAP mode ic_type query may return 0xff. However iap_version will always be valid, so let's use it to determine parameters of the firmware that the controller is supposed to accept. Signed-off-by: NDuson Lin <dusonlin@emc.com.tw> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 29 8月, 2015 2 次提交
-
-
由 Javier Martinez Canillas 提交于
The driver is a platform driver and not a I2C driver so its modalias should be exported with MODULE_DEVICE_TABLE(platform,...) instead of MODULE_DEVICE_TABLE(i2c,...). Also, remove the unnecessary MODULE_ALIAS("platform:max8997-haptic") now that the correct module alias is created. Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Benson Leung 提交于
Search for "vaildpage_count" and replace with "validpage_count". Signed-off-by: NBenson Leung <bleung@chromium.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 27 8月, 2015 2 次提交
-
-
由 Stefan Assmann 提交于
There are trackpoint devices that fail to respond to the PS2 command PSMOUSE_CMD_GETID if immediately queried after the parent device is deactivated. Add a small delay for the hardware to get in a sane state before sending any PS2 commands. One example of such a system is: Lenovo ThinkPad X120e, model 30515QG synaptics: Touchpad model: 1, fw: 8.0, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x121c00, board id: 1811, fw id: 797391 Signed-off-by: NStefan Assmann <sassmann@kpanic.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Bit 2 of the mode byte has dual meaning: it can disable reporting of gestures when touchpad works in Relative mode or normal Absolute mode, or it can enable so called Extended W-Mode when touchpad uses enhanced Absolute mode (W-mode). The extended W-Mode confuses our driver and causes missing button presses on some Thinkpads (x250, T450s), so let's make sure we do not enable it. Also, according to the spec W mode "... bit is defined only in Absolute mode on pads whose capExtended capability bit is set. In Relative mode and in TouchPads without this capability, the bit is reserved and should be left at 0.", so let's make sure we respect this requirement as well. Reported-by: NNick Bowler <nbowler@draconx.ca> Suggested-by: NGabor Balla <gaborwho@gmail.com> Tested-by: NGabor Balla <gaborwho@gmail.com> Tested-by: NNick Bowler <nbowler@draconx.ca> Cc: stable@vger.kernel.org Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 25 8月, 2015 3 次提交
-
-
由 Michele Curti 提交于
Enable ELAN0100 touchpad driver, found on a Asus X205TA laptop, to gai 2,3 fingers tap and 2 fingers scroll. Signed-off-by: NMichele Curti <michele.curti@gmail.com> Reviewed-by: NDuson Lin <dusonlin@emc.com.tw> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Peng Fan 提交于
When trying to disable a key that is not supported by the device we should report error, not do nothing and report success: root@yocto:/sys/devices/soc0/gpio-keys# cat keys 114-116 root@yocto:/sys/devices/soc0/gpio-keys# echo 77 > keys root@yocto:/sys/devices/soc0/gpio-keys# We want 'echo 77 > keys' to report an error, but silence to give us an illusion that all is 'ok'. Signed-off-by: NPeng Fan <van.freenix@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Julia Lawall 提交于
Propagate error code on failure, or upper layers will be confused by returned 0 (success) code. Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 22 8月, 2015 1 次提交
-
-
由 Dan Carpenter 提交于
I have a static checker that complains when we check for an upper bound but don't have a corresponding check for a lower bound. With this code, the upper bound check seems not really required, so it is not a bug to leave the lower bound check out as well. But let's silence the warning by making these variables unsigned. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 21 8月, 2015 2 次提交
-
-
由 Yalin Wang 提交于
Instead of custom zhenhua_bitreverse() let's use generic bitrev8(). Signed-off-by: NYalin Wang <yalin.wang2010@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Vincent Pelletier 提交于
GPIOF_IN flag was lost in: Commit 633a21d8("input: gpio_keys_polled: Add support for GPIO descriptors"). Without this flag, legacy code path (for non-descriptor GPIO declarations) would configure GPIO as output (0 meaning GPIOF_DIR_OUT | GPIOF_INIT_LOW). Cc: stable@vger.kernel.org Signed-off-by: NVincent Pelletier <plr.vincent@gmail.com> Reviewed-by: NMika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 20 8月, 2015 1 次提交
-
-
由 Javier Martinez Canillas 提交于
The ChromeOS EC keyboard driver config depends on CROS_EC_PROTO but MFD_CROS_EC selects CROS_EC_PROTO instead. Mixing select and depends on is bad practice as it may lead to circular Kconfig dependencies. Since the platform device that is matched with the keyboard driver is registered by the ChromeOS EC mfd driver, KEYBOARD_CROS_EC really should depend on MFD_CROS_EC. And because this config option selects CROS_EC_PROTO, that dependency is met as well. So make the driver to depend on MFD_CROS_EC instead of CROS_EC_PROTO. Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 17 8月, 2015 1 次提交
-
-
由 Matt Ranostay 提交于
Several cap11xx variants have LEDs that be can be controlled; let's plug the driver into the LED subsystem. Signed-off-by: NMatt Ranostay <mranostay@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 14 8月, 2015 1 次提交
-
-
由 Stephen Rothwell 提交于
Flags are now mandatory for devm_gpiod_get(). So let's use proper flag to configure gpio for output instead of doing this by hand. Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au> [Dmitry: GPIOD_ASIS -> GPIOD_OUT_LOW] Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 08 8月, 2015 5 次提交
-
-
由 Dmitry Torokhov 提交于
It takes a bit of time to go through controller power up sequence and initialization. To not stall the overall boot progress let's probe the controller asynchronously, given that userspace is usually prepared for hot-plugging of input devices and thus does not rely on particular ordering. Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
It takes a bit of time to go through controller power up sequence and initialization. To not stall the overall boot progress let's probe the controller asynchronously, given that userspace is usually prepared for hot-plugging of input devices and thus does not rely on particular ordering. Signed-off-by: NDmitry Torokhov <dtor@chromium.org> Reviewed-by: NBenson Leung <bleung@chromium.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Elan touchscreen controllers use two power supplies, vcc33 and vccio, and we need to enable them before trying to access the device. On X86 firmware usually does this, but on ARM it is usually left to the kernel. Signed-off-by: NDmitry Torokhov <dtor@chromium.org> Reviewed-by: NBenson Leung <bleung@chromium.org> Reviewed-by: NScott Liu <scott.liu@emc.com.tw> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Do not emit EV_SYN/SYN_REPORT on suspend if there were no keys that are still pressed as we are suspending the device (and in all other cases when input core is forcibly releasing keys via input_dev_release_keys() call). Reviewed-by: NBenson Leung <bleung@chromium.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Duson Lin 提交于
It is no need to check the packet[0] for sanity check when doing elantech_packet_check_v4() function for fw_version = 0x470f01 touchpad. Signed-off by: Duson Lin <dusonlin@emc.com.tw> Reviewed-by: NUlrik De Bie <ulrik.debie-os@e2big.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 06 8月, 2015 2 次提交
-
-
由 Marek Belisko 提交于
Fix following: [ 8.862274] ERROR: Bad of_node_put() on /ocp/i2c@48070000/twl@48/audio [ 8.869293] CPU: 0 PID: 1003 Comm: modprobe Not tainted 4.2.0-rc2-letux+ #1175 [ 8.876922] Hardware name: Generic OMAP36xx (Flattened Device Tree) [ 8.883514] [<c00159e0>] (unwind_backtrace) from [<c0012488>] (show_stack+0x10/0x14) [ 8.891693] [<c0012488>] (show_stack) from [<c05cb810>] (dump_stack+0x78/0x94) [ 8.899322] [<c05cb810>] (dump_stack) from [<c02cfd5c>] (kobject_release+0x68/0x7c) [ 8.907409] [<c02cfd5c>] (kobject_release) from [<bf0040c4>] (twl4030_vibra_probe+0x74/0x188 [twl4030_vibra]) [ 8.917877] [<bf0040c4>] (twl4030_vibra_probe [twl4030_vibra]) from [<c03816ac>] (platform_drv_probe+0x48/0x90) [ 8.928497] [<c03816ac>] (platform_drv_probe) from [<c037feb4>] (really_probe+0xd4/0x238) [ 8.937103] [<c037feb4>] (really_probe) from [<c0380160>] (driver_probe_device+0x30/0x48) [ 8.945678] [<c0380160>] (driver_probe_device) from [<c03801e0>] (__driver_attach+0x68/0x8c) [ 8.954589] [<c03801e0>] (__driver_attach) from [<c037ea60>] (bus_for_each_dev+0x50/0x84) [ 8.963226] [<c037ea60>] (bus_for_each_dev) from [<c037f828>] (bus_add_driver+0xcc/0x1e4) [ 8.971832] [<c037f828>] (bus_add_driver) from [<c0380b60>] (driver_register+0x9c/0xe0) [ 8.980255] [<c0380b60>] (driver_register) from [<c00097e0>] (do_one_initcall+0x100/0x1b8) [ 8.988983] [<c00097e0>] (do_one_initcall) from [<c00b8008>] (do_init_module+0x58/0x1c0) [ 8.997497] [<c00b8008>] (do_init_module) from [<c00b8cac>] (SyS_init_module+0x54/0x64) [ 9.005950] [<c00b8cac>] (SyS_init_module) from [<c000ed20>] (ret_fast_syscall+0x0/0x54) [ 9.015838] input: twl4030:vibrator as /devices/platform/68000000.ocp/48070000.i2c/i2c-0/0-0048/48070000.i2c:twl@48:audio/input/input2 node passed to of_find_node_by_name is put inside that function and new node is returned if found. Free returned node not already freed node. Signed-off-by: NMarek Belisko <marek@goldelico.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 James Chen 提交于
If the device is in idle mode and is in the middle of a scan it may not have a chance to react to the reset and then IAP commands within required time interval and firmware update may fail. Let's bring the device out of idle mode before attempting to reset it so that the scan period is smaller and thus it can react to the command quicker. Signed-off-by: NJames Chen <james.chen@emc.com.tw> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 05 8月, 2015 9 次提交
-
-
由 Nick Dyer 提交于
Signed-off-by: NNick Dyer <nick.dyer@itdev.co.uk> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Nick Dyer 提交于
Signed-off-by: NNick Dyer <nick.dyer@itdev.co.uk> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Nick Dyer 提交于
This indicates the device coordinates should be directly mapped to screen. This is valid since scaling/flipping/rotation should be done by configuring the MXT device. It also flags to Android using INPUT_PROP_DIRECT that the device should be treated as a touch screen by default, and removes the necessity for a default IDC file. Signed-off-by: NNick Dyer <nick.dyer@itdev.co.uk> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Nick Dyer 提交于
The CHG/interrupt line is momentarily set (approximately 100 ms) as an input after power-up or reset for diagnostic purposes. This may cause spurious interrupts, so disable interrupt handler during this period. Signed-off-by: NNick Dyer <nick.dyer@itdev.co.uk> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Nick Dyer 提交于
Use function rather than loop, define np to reduce wrapping. Signed-off-by: NNick Dyer <nick.dyer@itdev.co.uk> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pan Xinhui 提交于
input_dev may be NULL if mxt_initialize_input_device fails. But pm ops is still available and suspend/resume assume input_dev is not NULL. To fix this issue, we add a check if (!input_dev). Signed-off-by: NPan Xinhui <xinhuix.pan@intel.com> Signed-off-by: NNick Dyer <nick.dyer@itdev.co.uk> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Nick Dyer 提交于
Many of these values are out of date and they aren't used in the driver - all they do is increase the size of the kernel source. Signed-off-by: NNick Dyer <nick.dyer@itdev.co.uk> Acked-by: NBenson Leung <bleung@chromium.org> Acked-by: NYufeng Shen <miletus@chromium.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Nick Dyer 提交于
The hardcoded 0x83 CTRL setting overrides other settings in that byte, enabling extra reporting that may not be useful on a particular platform. Implement improved suspend mechanism via deep sleep. By writing zero to both the active and idle cycle times the maXTouch device can be put into a deep sleep mode, using minimal power. It is necessary to issue a calibrate command after the chip has spent any time in deep sleep, however a soft reset is unnecessary. Use the old method on Chromebook Pixel via platform data option. This patch also deals with the situation where the power configuration is zero on probe, which would mean that the device never wakes up to execute commands. After a config download, the T7 power configuration may have changed so it is necessary to re-read it. Signed-off-by: NNick Dyer <nick.dyer@itdev.co.uk> Acked-by: NBenson Leung <bleung@chromium.org> Acked-by: NYufeng Shen <miletus@chromium.org> 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. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 04 8月, 2015 4 次提交
-
-
由 Hans de Goede 提交于
It turns out that only Dell laptops have the separate button bits for v2 dualpoint sticks and that commit 92bac83d ("Input: alps - non interleaved V2 dualpoint has separate stick button bits") causes regressions on Toshiba laptops. This commit adds a check for Dell laptops to the code for handling these extra button bits, fixing this regression. This patch has been tested on a Dell Latitude D620 to make sure that it does not reintroduce the original problem. Reported-and-tested-by: NDouglas Christman <douglaschristman@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Chen-Yu Tsai 提交于
Add a proper module alias so the driver can be autoloaded when the parent axp20x mfd driver registers its cells. Signed-off-by: NChen-Yu Tsai <wens@csie.org> Acked-by: NCarlo Caione <carlo@caione.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Patch 17dd3f0f: "[PATCH] drivers/input/joystick: convert to dynamic input_dev allocation" from Sep 15, 2005, leads to the following static checker warning: drivers/input/joystick/turbografx.c:235 tgfx_probe() error: buffer overflow 'tgfx_buttons' 5 <= 5 drivers/input/joystick/turbografx.c 195 for (i = 0; i < n_devs; i++) { 196 if (n_buttons[i] < 1) 197 continue; 198 199 if (n_buttons[i] > 6) { ^^^^^^^^^^^^^^^^ Possibly off by one. >= 6. Let's change the upper value to ARRAY_SIZE(tgfx_buttons) to ensure we do not reach past the end of the array. Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Reviewed-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dirk Behme 提交于
Add support for hardware which uses an I2C Serializer / Deserializer (SerDes) to communicate with the zFroce touch driver. In this case the SerDes will be configured as an interrupt controller and the zForce driver will have no access to poll the GPIO line. To support this, we add two dedicated new GPIOs in the device tree: reset-gpios and irq-gpios, with the irq-gpios being optional. To not break the existing device trees, the index based 'gpios' entries are still supported, but marked as deprecated. With this, if the interrupt GPIO is available, either via the old or new device tree style, the while loop will read and handle the packets as long as the GPIO indicates that the interrupt is asserted (existing, unchanged driver behavior). If the interrupt GPIO isn't available, i.e. not configured via the new device tree style, we are falling back to one read per ISR invocation (new behavior to support the SerDes). Note that the gpiod functions help to handle the optional GPIO: devm_gpiod_get_index_optional() will return NULL in case the interrupt GPIO isn't available. And gpiod_get_value_cansleep() does cover this, too, by returning 0 in this case. Signed-off-by: NDirk Behme <dirk.behme@de.bosch.com> Reviewed-by: NHeiko Stuebner <heiko.stuebner@bq.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 31 7月, 2015 5 次提交
-
-
由 Dudley Du 提交于
Avoid the driver generate warning message when the cyapa driver working with the old Gen5 trackpad device which does not support the proximity function. Those old Gen5 trackpad device all have the platform version less than 2. Signed-off-by: NDudley Du <dudl@cypress.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dudley Du 提交于
Add device tree support for Cypress trackpad devices. Signed-off-by: NDudley Du <dudl@cypress.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dudley Du 提交于
We need to power up the chip before we can initialize it. On systems that delegate task of powering up regulators to firmware we assume that we'll be simply given a dummy regulator. Signed-off-by: NDudley Du <dudl@cypress.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Javier Martinez Canillas 提交于
The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Javier Martinez Canillas 提交于
The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-