- 07 8月, 2020 2 次提交
-
-
由 Colin Ian King 提交于
The variable ret is being initialized with a value that is never read and it is being updated later with a new value. The initialization is redundant and can be removed. Addresses-Coverity: ("Unused value") Signed-off-by: NColin Ian King <colin.king@canonical.com> Link: https://lore.kernel.org/r/20200603135742.130852-1-colin.king@canonical.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Colin Ian King 提交于
Currently the assignment of -ENOMEM to error is redundant because error is not being read and -ENOMEM is being hard coded as an error return. Fix this by returning the error code in variable 'error'; this also allows the error code from a failed call to input_register_device to be preserved and returned to the caller rather than just returning a possibly inappropriate -ENOMEM. Kudos to Dan Carpenter for the suggestion of an improved fix. Addresses-Coverity: ("Unused value") Signed-off-by: NColin Ian King <colin.king@canonical.com> Reviewed-by: NDan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/20200603152151.139337-1-colin.king@canonical.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 30 7月, 2020 1 次提交
-
-
由 Jingle Wu 提交于
The update firmware flow of ic type 0x15 is same with ic type 0x14. Signed-off-by: NJingle Wu <jingle.wu@emc.com.tw> Link: https://lore.kernel.org/r/20200730060526.12439-1-jingle.wu@emc.com.twSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 29 7月, 2020 1 次提交
-
-
由 Nick Dyer 提交于
The workaround of reading all messages until an invalid is received is a way of forcing the CHG line high, which means that when using edge-triggered interrupts the interrupt can be acquired. With level-triggered interrupts the workaround is unnecessary. Also, most recent maXTouch chips have a feature called RETRIGEN which, when enabled, reasserts the interrupt line every cycle if there are messages waiting. This also makes the workaround unnecessary. Note: the RETRIGEN feature is only in some firmware versions/chips, it's not valid simply to enable the bit. Signed-off-by: NNick Dyer <nick.dyer@itdev.co.uk> Acked-by: NBenson Leung <bleung@chromium.org> Acked-by: NYufeng Shen <miletus@chromium.org> (cherry picked from ndyer/linux/for-upstream commit 1ae4e8281e491b22442cd5acdfca1862555f8ecb) [gdavis: Fix conflicts due to v4.6-rc7 commit eb43335c ("Input: atmel_mxt_ts - use mxt_acquire_irq in mxt_soft_reset").] Signed-off-by: NGeorge G. Davis <george_davis@mentor.com> [jiada: reset use_retrigen_workaround at beginning of mxt_check_retrigen() call mxt_check_retrigen() after mxt_acquire_irq() in mxt_initialize() replace white-spaces with tab for MXT_COMMS_RETRIGEN Changed to check if IRQ is level type] Signed-off-by: NJiada Wang <jiada_wang@mentor.com> Link: https://lore.kernel.org/r/20200727151637.23810-1-jiada_wang@mentor.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 22 7月, 2020 3 次提交
-
-
由 Xiongfeng Wang 提交于
When I cat some module parameters by sysfs, it displays as follows. It's better to add a newline for easy reading. root@syzkaller:~# cat /sys/module/ati_remote2/parameters/mode_mask 0x1froot@syzkaller:~# cat /sys/module/ati_remote2/parameters/channel_mask 0xffffroot@syzkaller:~# Signed-off-by: NXiongfeng Wang <wangxiongfeng2@huawei.com> Link: https://lore.kernel.org/r/20200720092148.9320-1-wangxiongfeng2@huawei.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Xiongfeng Wang 提交于
When I cat parameter 'proto' by sysfs, it displays as follows. It's better to add a newline for easy reading. root@syzkaller:~# cat /sys/module/psmouse/parameters/proto autoroot@syzkaller:~# Signed-off-by: NXiongfeng Wang <wangxiongfeng2@huawei.com> Link: https://lore.kernel.org/r/20200720073846.120724-1-wangxiongfeng2@huawei.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jingle Wu 提交于
Newer controllers (identified as "pattern" version 2) send higher resolution reports, with 16-bit X and Y coordinates (previous generations used 12-bit values). These new high resolution reports use report ID of 0x60. SMbus controllers use the same buffer size for both the new and old reports, and because of that high resolution reports no longer carry area of contact data with SMbus. Signed-off-by: NJingle Wu <jingle.wu@emc.com.tw> Link: https://lore.kernel.org/r/20200710054116.5529-1-jingle.wu@emc.com.twSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 21 7月, 2020 1 次提交
-
-
由 Dmitry Torokhov 提交于
We do not need to constantly re-query pattern ID, we can instead query it once and then pass to methods that need it. Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 18 7月, 2020 7 次提交
-
-
由 Jingle Wu 提交于
This adds firmware size and page sizes for ic types 0x11, 0x13 and 0x14. IC 0x14 uses 512-byte firmware page size. Signed-off-by: Jingle Wu <jingle.wu@emc.com.tw>. Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jingle Wu 提交于
Newer ICs with IC type value starting with 0x0D and newer bootloader code use 128-byte firmware pages. Their bootloader also needs to be switched to proper mode before executing firmware update. Signed-off-by: NJingle Wu <jingle.wu@emc.com.tw> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jingle Wu 提交于
Prepare driver for devices that use different sizes of firmware pages. Signed-off-by: NJingle Wu <jingle.wu@emc.com.tw> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jingle Wu 提交于
Older controllers in bootloader mode need a different command to retrieve the IAP version. Signed-off-by: NJingle Wu <jingle.wu@emc.com.tw> Link: https://lore.kernel.org/r/20200714105641.15151-1-jingle.wu@emc.com.twSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jingle Wu 提交于
Extend fetching and parsing parameters of the controllers to devices with "patterns" above 1 (which currently should be handled in the same fashion as devices with pattern 1). Signed-off-by: NJingle Wu <jingle.wu@emc.com.tw> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jingle Wu 提交于
On older controllers IC type is reported in the 2nd byte of ETP_I2C_OSM_VERSION_CMD, however if controller's firmware is not flashed correctly it may return incorrect data. Fortunately there is also ETP_I2C_IAP_VERSION_P0_CMD command that can be used when controller in either normal or IAP mode, and which is guaranteed to return accurate data, so let's use it. Signed-off-by: NJingle Wu <jingle.wu@emc.com.tw> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jingle Wu 提交于
Not all versions of firmware implement "get pattern" command. When encountering those assume that the controllers use older pattern. Signed-off-by: NJingle Wu <jingle.wu@emc.com.tw> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 16 7月, 2020 1 次提交
-
-
由 Michał Mirosław 提交于
Replace open-coded __set_bit() with the function. Signed-off-by: NMichał Mirosław <mirq-linux@rere.qmqm.pl> Link: https://lore.kernel.org/r/cf1dda3a372896cb01033ce084a7deb9620df7aa.1594599118.git.mirq-linux@rere.qmqm.plSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 08 7月, 2020 3 次提交
-
-
由 Gustavo A. R. Silva 提交于
Replace the existing /* fall through */ comments and its variants with the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary fall-through markings when it is the case. [1] https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-throughSigned-off-by: NGustavo A. R. Silva <gustavoars@kernel.org> Link: https://lore.kernel.org/r/20200707180857.GA30600@embeddedorSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 David Pedersen 提交于
This fixes two finger trackpad scroll on the Lenovo XiaoXin Air 12. Without nomux, the trackpad behaves as if only one finger is present and moves the cursor when trying to scroll. Signed-off-by: NDavid Pedersen <limero1337@gmail.com> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20200625133754.291325-1-limero1337@gmail.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Xu Wang 提交于
usb_free_coherent() is safe with NULL addr and this check is not required. Signed-off-by: NXu Wang <vulab@iscas.ac.cn> Link: https://lore.kernel.org/r/20200707030905.3123-1-vulab@iscas.ac.cnSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 07 7月, 2020 5 次提交
-
-
由 Sebastian Reichel 提交于
Switch to the "new" I2C probe API. Signed-off-by: NSebastian Reichel <sebastian.reichel@collabora.com> Reviewed-by: NEnric Balletbo i Serra <enric.balletbo@collabora.com> Link: https://lore.kernel.org/r/20200520153936.46869-3-sebastian.reichel@collabora.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Colin Ian King 提交于
The variable error is being initialized with a value that is never read and it is being updated later with a new value. The initialization is redundant and can be removed. Addresses-Coverity: ("Unused value") Signed-off-by: NColin Ian King <colin.king@canonical.com> Link: https://lore.kernel.org/r/20200603140431.131347-1-colin.king@canonical.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
This reverts commit 06170671 - it turns out that the resolution of 1 unit per mm was not correct for a number of touch screens, causing touch sizes to be reported as way too large. See https://crbug.com/1085648Reported-by: NHarry Cutts <hcutts@chromium.org> Cc: stable@vger.kernel.org Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Derek Basehore 提交于
This moves the wakeup increment for elan devices to the touch report. This prevents the drivers from incorrectly reporting a wakeup when the resume callback resets then device, which causes an interrupt to occur. Signed-off-by: NDerek Basehore <dbasehore@chromium.org> Link: https://lore.kernel.org/r/20200706235046.1984283-1-dbasehore@chromium.orgSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Ilya Katsnelson 提交于
Tested on my own laptop, touchpad feels slightly more responsive with this on, though it might just be placebo. Signed-off-by: NIlya Katsnelson <me@0upti.me> Reviewed-by: NLyude Paul <lyude@redhat.com> Link: https://lore.kernel.org/r/20200703143457.132373-1-me@0upti.meSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 10 6月, 2020 1 次提交
-
-
由 Arnd Bergmann 提交于
Making module name conflicts a fatal error breaks sparc64 allmodconfig: Error log: error: the following would cause module name conflict: drivers/char/adi.ko drivers/input/joystick/adi.ko Renaming one of the modules would solve the problem, but then cause other problems because neither of them is automatically loaded and changing the name is likely to break any setup that relies on manually loading it by name. As there is probably no sparc64 system with this kind of ancient joystick attached, work around it by adding a Kconfig dependency that forbids them from both being modules. It is still possible to build the joystick driver if the sparc64 adi driver is built-in. Reported-by: NGuenter Roeck <linux@roeck-us.net> Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Link: https://lore.kernel.org/r/20200609100643.1245061-1-arnd@arndb.deSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 27 5月, 2020 1 次提交
-
-
由 Dennis Kadioglu 提交于
The Lenovo Thinkpad T470s I own has a different touchpad with "LEN007a" instead of the already included PNP ID "LEN006c". However, my touchpad seems to work well without any problems using RMI. So this patch adds the other PNP ID. Signed-off-by: NDennis Kadioglu <denk@eclipso.email> Link: https://lore.kernel.org/r/ff770543cd53ae818363c0fe86477965@mail.eclipso.deSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 19 5月, 2020 1 次提交
-
-
由 Jeff LaBundy 提交于
If CONFIG_INPUT_IQS269A is selected yet CONFIG_I2C is not, the build fails. To solve this problem, add I2C as a dependency. Signed-off-by: NJeff LaBundy <jeff@labundy.com> Reported-by: Nkbuild test robot <lkp@intel.com> Fixes: 04e49867 ("Input: add support for Azoteq IQS269A") Link: https://lore.kernel.org/r/1589809466-22748-1-git-send-email-jeff@labundy.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 18 5月, 2020 4 次提交
-
-
由 Michał Mirosław 提交于
Apply some DRY-ing to elants_i2c_execute_command() callers. This pulls polling and error printk()s into a single function. Signed-off-by: NMichał Mirosław <mirq-linux@rere.qmqm.pl> Link: https://lore.kernel.org/r/6c576f688b385235c65b461410a917080d27e825.1587923061.git.mirq-linux@rere.qmqm.plSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Michał Mirosław 提交于
Allow overriding of information from hardware and support additional common DT properties like axis inversion. This is required for eg. Nexus 7 and TF300T where the programmed values in firmware differ from reality. Signed-off-by: NDmitry Osipenko <digetx@gmail.com> [moved "prop" before DMA buffer] Signed-off-by: NMichał Mirosław <mirq-linux@rere.qmqm.pl> Link: https://lore.kernel.org/r/49ea996878264f7c8bde25204e4ddf4b1e85ae71.1587923061.git.mirq-linux@rere.qmqm.plSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Michał Mirosław 提交于
Driver only ever reports MT events and input_mt_init_slots() sets up emulated axes already. Clear the capabilities not generated directly and move MT axes setup, so they are visible by input_mt_init_slots(). Signed-off-by: NMichał Mirosław <mirq-linux@rere.qmqm.pl> Reviewed-by: NDmitry Osipenko <digetx@gmail.com> Tested-by: NDmitry Osipenko <digetx@gmail.com> Link: https://lore.kernel.org/r/d5eee8cd305adb144a11264d70da94f7b6570366.1587923061.git.mirq-linux@rere.qmqm.plSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jeff LaBundy 提交于
This patch adds support for the Azoteq IQS269A capacitive touch controller. Signed-off-by: NJeff LaBundy <jeff@labundy.com> Link: https://lore.kernel.org/r/1588352982-5117-2-git-send-email-jeff@labundy.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 14 5月, 2020 2 次提交
-
-
由 Anson Huang 提交于
Use devm_add_action_or_reset() to handle all cleanups of failure in .probe and .remove, then .remove callback can be dropped. Signed-off-by: NAnson Huang <Anson.Huang@nxp.com> Link: https://lore.kernel.org/r/1584082751-17047-1-git-send-email-Anson.Huang@nxp.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Brian Masney 提交于
The address referenced by this driver is within the Qualcomm Clock namespace so let's drop the msm-vibrator bindings so that a more generic solution can be used instead. No one is currently using driver so this won't affect any users. Signed-off-by: NBrian Masney <masneyb@onstation.org> Link: https://lore.kernel.org/r/20200513013140.69935-3-masneyb@onstation.orgSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 13 5月, 2020 2 次提交
-
-
由 Johnny Chuang 提交于
There is an non-touch case by non-calibration after update firmware. Elan could know calibrate or not by calibration count. The value of '0xffff' means we didn't calibrate after update firmware. If calibrate success, it will plus one and change to '0x0000'. Signed-off-by: NJohnny Chuang <johnny.chuang@emc.com.tw> Link: https://lore.kernel.org/r/1588754932-5902-1-git-send-email-johnny.chuang.emc@gmail.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jiada Wang 提交于
input_mt_report_slot_state() ignores "tool" argument when the slot is closed, which has caused a bit of confusion. Let's introduce input_mt_report_slot_inactive() to report inactive slot state. Suggested-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NJiada Wang <jiada_wang@mentor.com> Link: https://lore.kernel.org/r/20200508055656.96389-2-jiada_wang@mentor.comSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 10 5月, 2020 5 次提交
-
-
由 Linus Walleij 提交于
This adds a new driver for the Cypress CY8CTMA140 touchscreen. This driver is inspired by out-of-tree code for the Samsung GT-S7710 mobile phone. I have tried to compare the structure and behaviour of this touchscreen to the existing CYTTSP and CYTTSP4 generics and it seems pretty different. It is also different in character from the cy8ctmg110_ts.c. It appears to rather be vaguely related to the Melfas MMS114 driver, yet distinctly different. Dmitry Torokhov rewrote the key scanning code during the submission process so the driver is a joint work. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20200506123435.187432-2-linus.walleij@linaro.orgSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Gustavo A. R. Silva 提交于
The current codebase makes use of the zero-length array language extension to the C90 standard, but the preferred mechanism to declare variable-length types such as these ones is a flexible array member[1][2], introduced in C99: struct foo { int stuff; struct boo array[]; }; By making use of the mechanism above, we will get a compiler warning in case the flexible array does not occur last in the structure, which will help us prevent some kind of undefined behavior bugs from being inadvertently introduced[3] to the codebase from now on. Also, notice that, dynamic memory allocations won't be affected by this change: "Flexible array members have incomplete type, and so the sizeof operator may not be applied. As a quirk of the original implementation of zero-length arrays, sizeof evaluates to zero."[1] sizeof(flexible-array-member) triggers a warning because flexible array members have incomplete type[1]. There are some instances of code in which the sizeof operator is being incorrectly/erroneously applied to zero-length arrays and the result is zero. Such instances may be hiding some bugs. So, this work (flexible-array member conversions) will also help to get completely rid of those sorts of issues. This issue was found with the help of Coccinelle. [1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html [2] https://github.com/KSPP/linux/issues/21 [3] commit 76497732 ("cxgb3/l2t: Fix undefined behaviour") Signed-off-by: NGustavo A. R. Silva <gustavoars@kernel.org> Link: https://lore.kernel.org/r/20200507185347.GA14499@embeddedorSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Ahmad Fatoum 提交于
Probing the device takes a while, because we sleep for 300 ms after a reset; allow asynchronous probing so this can happen in the background while other devices are being probed. Signed-off-by: NAhmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: NMarco Felsch <m.felsch@pengutronix.de> Link: https://lore.kernel.org/r/20200227112819.16754-5-m.felsch@pengutronix.deSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Marco Felsch 提交于
It is possible to bring the device into a deep sleep state. To exit this state the reset or wakeup pin must be toggeled as documented in [1]. Because of the poor documentation I used the several downstream kernels [2] and other applications notes [3] to indentify the related registers. Furthermore I added the support to disable the device completely which is obviously the most effective power-saving mechanism. This mechanism needs the reset pin to ensure the power-up/down sequence. We can't apply any of these power-saving mechanism if both pins are missing (not connected) or if it is a wakeup device. [1] https://www.newhavendisplay.com/appnotes/datasheets/touchpanel/FT5x26.pdf https://www.newhavendisplay.com/appnotes/datasheets/touchpanel/FT5x06.pdf [2] https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/input/touchscreen/ft5x_ts.c https://github.com/Pablito2020/focaltech-touch-driver/blob/master/ft5336_driver.c [3] https://www.newhavendisplay.com/appnotes/datasheets/touchpanel/FT5x16_registers.pdfSigned-off-by: NMarco Felsch <m.felsch@pengutronix.de> Link: https://lore.kernel.org/r/20200227112819.16754-4-m.felsch@pengutronix.deSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Marco Felsch 提交于
We need to restore the parameters if we switch between the factory/work mode and during the resume process if we switched off the power-supply. Therefore refactor edt_ft5x06_work_mode() and move the "restore the parameters" into a helper routine so we can reuse it later. Signed-off-by: NMarco Felsch <m.felsch@pengutronix.de> Link: https://lore.kernel.org/r/20200227112819.16754-3-m.felsch@pengutronix.deSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-