aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-10-10Input: elants_i2c - use DMA safe i2c when possibleStephen Boyd1-3/+4
To avoid bounce buffer when an i2c controller decides to use DMA for a transaction, let's make out buffer that we use for reads DMA-safe and let the master know that DMAing into it is safe. Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-10-05Input: silead - try firmware reload after unsuccessful resumeJulian Sax1-0/+13
A certain silead controller (Chip ID: 0x56810000) loses its firmware after suspend, causing the resume to fail. This patch tries to load the firmware, should a resume error occur and retries the resuming. Signed-off-by: Julian Sax <[email protected]> Acked-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-10-05Input: st1232 - set INPUT_PROP_DIRECT propertyMartin Kepplinger1-0/+1
This is how userspace checks for touchscreen devices most reliably. Signed-off-by: Martin Kepplinger <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-10-01Input: xilinx_ps2 - convert to using %pOFn instead of device_node.nameRob Herring1-1/+1
In preparation to remove the node name pointer from struct device_node, convert printf users to use the %pOFn format specifier. Signed-off-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-09-28Input: atmel_mxt_ts - fix multiple <linux/property.h> includesGeorge G. Davis1-1/+0
Both v4.16-rc7 commit 93afb1d6e72a ("Input: atmel_mxt_ts - switch from OF to generic device properties") and v4.16-rc7 commit 96a938aa214e ("Input: atmel_mxt_ts - remove platform data support") added includes of "<linux/property.h>". Remove one of the duplicate includes to fix this. Signed-off-by: George G. Davis <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-09-28Input: sun4i-lradc - convert to using %pOFn instead of device_node.nameRob Herring1-3/+3
In preparation to remove the node name pointer from struct device_node, convert printf users to use the %pOFn format specifier. Signed-off-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-09-28Input: pwm-vibrator - correct pwms in DT binding exampleBrian Masney1-2/+2
In the example for the pwm-vibrator bindings, pwm8 is the direction pin, and pwm9 is the enable pin. The pwms on the vibrator node has these two values swapped so this patch corrects it. Signed-off-by: Brian Masney <[email protected]> Reviewed-by: Sebastian Reichel <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-08-08Input: do not use WARN() in input_alloc_absinfo()Dmitry Torokhov1-4/+12
Some of fuzzers set panic_on_warn=1 so that they can handle WARN()ings the same way they handle full-blown kernel crashes. We used WARN() in input_alloc_absinfo() to get a better idea where memory allocation failed, but since then kmalloc() and friends started dumping call stack on memory allocation failures anyway, so we are not getting anything extra from WARN(). Because of the above, let's replace WARN with dev_err(). We use dev_err() instead of simply removing message and relying on kcalloc() to give us stack dump so that we'd know the instance of hardware device to which we were trying to attach input device. Reported-by: Dmitry Vyukov <[email protected]> Acked-by: Dmitry Vyukov <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-08-08Input: mark expected switch fall-throughsGustavo A. R. Silva8-2/+14
In preparation to enabling -Wimplicit-fallthrough, mark switch cases where we are expecting to fall through. Warning level 2 was used: -Wimplicit-fallthrough=2 Signed-off-by: Gustavo A. R. Silva <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-08-08Input: raydium_i2c_ts - use true and false for boolean valuesGustavo A. R. Silva1-2/+2
Return statements in functions returning bool should use true or false instead of an integer value. This code was detected with the help of Coccinelle. Signed-off-by: Gustavo A. R. Silva <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-08-01Input: evdev - switch to bitmap APIAndy Shevchenko1-9/+7
Switch to bitmap API, i.e. bitmap_alloc(), bitmap_zalloc(), to show clearly what we are allocating. Besides that it returns pointer of bitmap type instead of opaque void *. While here, replace memcpy() with bitmap_copy() for sake of consistency. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-08-01Input: gpio-keys - switch to bitmap_zalloc()Andy Shevchenko1-4/+4
Switch to bitmap_zalloc() to show clearly what we are allocating. Besides that it returns pointer of bitmap type instead of opaque void *. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-08-01Merge branch 'ib/4.17-bitmap' into nextDmitry Torokhov12-304/+316
Bring in bitmap API improvements.
2018-08-01bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free()Andy Shevchenko2-0/+28
A lot of code become ugly because of open coding allocations for bitmaps. Introduce three helpers to allow users be more clear of intention and keep their code neat. Note, due to multiple circular dependencies we may not provide the helpers as inliners. For now we keep them exported and, perhaps, at some point in the future we will sort out header inclusion and inheritance. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-08-01md: Avoid namespace collision with bitmap APIAndy Shevchenko9-294/+278
bitmap API (include/linux/bitmap.h) has 'bitmap' prefix for its methods. On the other hand MD bitmap API is special case. Adding 'md' prefix to it to avoid name space collision. No functional changes intended. Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Shaohua Li <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-08-01dm: Avoid namespace collision with bitmap APIAndy Shevchenko1-10/+10
bitmap API (include/linux/bitmap.h) has 'bitmap' prefix for its methods. On the other hand DM bitmap API is special case. Adding 'dm' prefix to it to avoid potential name space collision. No functional changes intended. Suggested-by: Mike Snitzer <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Mike Snitzer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-30Input: pm8941-pwrkey - add resin entryVinod Koul2-0/+9
Since handling is abstracted in this driver, we need to add resin entry in id table along with pwrkey_data. Reviewed-by: Bjorn Andersson <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-30Input: pm8941-pwrkey - abstract register offsets and event codeVinod Koul2-13/+58
In order to support resin thru the pwrkey driver (they are very similar in nature) we need to abstract the handling in this driver. First we abstract pull_up_bit and status_bit along in driver data. The event code sent for key events is quiried from DT. Since the device can be child of pon lookup regmap and reg from parent if lookup fails (we are child). Reviewed-by: Bjorn Andersson <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: iforce - reorganize joystick configuration listsTim Schumacher1-14/+5
* btn_avb_pegasus and btn_avb_tw are the same. Unify them into btn_joystick_avb. * btn_wheel is an exact copy of btn_joystick, so remove it. Rename btn_avb_wheel into btn_wheel since it is the only sane configuration for a wheel. * Assign the (new) btn_wheel configuration to the "AVB Top Shot Force Feedback Racing Wheel", because the previous configuration was meant for a joystick. Signed-off-by: Tim Schumacher <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: atmel_mxt_ts - move completion to after config crc is updatedNick Dyer1-2/+2
Signed-off-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: atmel_mxt_ts - don't report zero pressure from T9Nick Dyer1-0/+4
If T9.CTRL DISAMP is set, then pressure is reported as zero. This means some app layers (eg tslib) will ignore the contact. Signed-off-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: atmel_mxt_ts - zero terminate config firmware fileNick Dyer1-10/+24
We use sscanf to parse the configuration file, so it's necessary to zero terminate the configuration otherwise a truncated file can cause the parser to run off into uninitialised memory. Signed-off-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: atmel_mxt_ts - refactor config update code to add context structNick Dyer1-52/+56
Signed-off-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: atmel_mxt_ts - config CRC may start at T71Nick Dyer1-12/+22
On devices with the T71 object, the config CRC will start there, rather than at T7. Signed-off-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: atmel_mxt_ts - remove unnecessary debug on ENOMEMNick Dyer1-6/+2
Signed-off-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: atmel_mxt_ts - remove duplicate setup of ABS_MT_PRESSURENick Dyer1-6/+0
Signed-off-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: atmel_mxt_ts - use BIT() macro everywhereNick Dyer1-18/+18
Signed-off-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: atmel_mxt_ts - only use first T9 instanceNick Dyer1-3/+4
The driver only registers one input device, which uses the screen parameters from the first T9 instance. The first T63 instance also uses those parameters. It is incorrect to send input reports from the second instances of these objects if they are enabled: the input scaling will be wrong and the positions will be mashed together. This also causes problems on Android if the number of slots exceeds 32. In the future, this could be handled by looking for enabled touch object instances and creating an input device for each one. Signed-off-by: Nick Dyer <[email protected]> Acked-by: Benson Leung <[email protected]> Acked-by: Yufeng Shen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: aiptek - replace GFP_ATOMIC with GFP_KERNEL in aiptek_probe()Jia-Ju Bai1-1/+1
aiptek_probe() is never called in atomic context. It calls usb_alloc_coherent() with GFP_ATOMIC, which is not necessary. GFP_ATOMIC can be replaced with GFP_KERNEL. This is found by a static analysis tool named DCNS written by myself. Signed-off-by: Jia-Ju Bai <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: appletouch - replace GFP_ATOMIC with GFP_KERNELJia-Ju Bai1-3/+3
atp_open(), atp_recover() and atp_resume() are never called in atomic context. They call usb_submit_urb() with GFP_ATOMIC, which is not necessary. GFP_ATOMIC can be replaced with GFP_KERNEL. This is found by a static analysis tool named DCNS written by myself. Signed-off-by: Jia-Ju Bai <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: yealink - replace GFP_ATOMIC with GFP_KERNEL in usb_probe()Jia-Ju Bai1-2/+2
usb_probe() is never called in atomic context. It calls usb_alloc_coherent() with GFP_ATOMIC, which is not necessary. GFP_ATOMIC can be replaced with GFP_KERNEL. This is found by a static analysis tool named DCNS written by myself. Signed-off-by: Jia-Ju Bai <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: powermate - replace GFP_ATOMIC with GFP_KERNEL in ↵Jia-Ju Bai1-1/+1
powermate_alloc_buffers() powermate_alloc_buffers() is never called in atomic context. It calls usb_alloc_coherent() with GFP_ATOMIC, which is not necessary. GFP_ATOMIC can be replaced with GFP_KERNEL. This is found by a static analysis tool named DCNS written by myself. Signed-off-by: Jia-Ju Bai <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: keyspan_remote - replace GFP_ATOMIC with GFP_KERNEL in keyspan_probe()Jia-Ju Bai1-1/+1
keyspan_probe() is never called in atomic context. It calls usb_alloc_coherent() with GFP_ATOMIC, which is not necessary. GFP_ATOMIC can be replaced with GFP_KERNEL. This is found by a static analysis tool named DCNS written by myself. Signed-off-by: Jia-Ju Bai <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: wdt87xx_i2c - replace mdelay() with msleep() in wdt87xx_resume()Jia-Ju Bai1-1/+1
wdt87xx_resume() is never called in atomic context. It calls mdelay() to busily wait, which is not necessary. mdelay() can be replaced with msleep(). This is found by a static analysis tool named DCNS written by myself. Signed-off-by: Jia-Ju Bai <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-27Input: iforce - assign BTN_DEAD only for specific devicesTim Schumacher1-5/+6
Move BTN_DEAD into the arrays with the specific button sets instead of assigning it for every iforce device. BTN_DEAD represents an optical sensor which detects if the user is interacting with the device. On devices without that optical sensor BTN_DEAD is repeatedly causing false inputs on every status update of the joystick. Signed-off-by: Tim Schumacher <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-26Input: iforce - reformat the packet dump outputTim Schumacher4-11/+7
Previously, packets that have been dumped are shown in the kernel log like this: drivers/input/joystick/iforce/iforce-packets.c: info cmd = ff04, data = 56 02 04 00 Use dev_dbg to dump the packages only when requested and to list the parent device as well. Use printf logic to generate the hexdump instead of looping through every char that needs to be printed (which in turn fixes the unnecessary newlines and looks more clean in general). The resulting package dump output does now look like this: usb 2-8: iforce_dump_packet info cmd = ff04, data = 56 02 04 00 Signed-off-by: Tim Schumacher <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-26Input: stop telling users to snail-mail VojtechDmitry Torokhov47-188/+0
I do not think Vojtech wants snail mail these days (and he mentioned that nobody has ever sent him snail mail), and the address is not even valid anymore, so let's remove snail-mail instructions from the sources. Acked-by: Vojtech Pavlik <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-25Input: pxrc - flatten probe codeDmitry Torokhov1-49/+35
Instead of splitting probe code into separate USB and input setup, flatten it. This allows for easier inspection of order of set up steps, since the probe code is reasonably small. Move input-related initialization (phys) from USB block to input block. Reviewed-by: Marcus Folkesson <[email protected]> Tested-by: Marcus Folkesson <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-25Input: pxrc - do not store unneeded data in driver structureDmitry Torokhov1-18/+17
There is no need to store data buffer size, pointer to the buffer, or endpoint address in pxrc structure, as they are either only needed during setup, or are available from elsewhere. Reviewed-by: Marcus Folkesson <[email protected]> Tested-by: Marcus Folkesson <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-25Input: pxrc - move module device table closer to where it is usedDmitry Torokhov1-6/+6
There is no need to have the device table first in the file. Reviewed-by: Marcus Folkesson <[email protected]> Tested-by: Marcus Folkesson <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-25Input: pxrc - fix freeing URB on device teardownDmitry Torokhov1-36/+30
URB is the only resource that is not managed, and thus is destroyed too early, before we unregister input device and stop URB in pxrc_close(). To fix it let's install custom devm handler to free the URB at the right time in devm unwind sequence. Reviewed-by: Marcus Folkesson <[email protected]> Tested-by: Marcus Folkesson <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-25Input: pxrc - do not store USB device in private structMarcus Folkesson1-7/+6
The USB device is only needed during setup, so put it back after initialization and do not store it in our private struct. Also, the USB device is a parent of USB interface so our driver model rules ensure that USB device should not disappear while interface device is still there; there is no need to take reference to the USB device. Reported-by: Alexey Khoroshilov <[email protected]> Signed-off-by: Marcus Folkesson <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-18Input: gpio_keys - add missing include to gpio_keys.hMatti Vaittinen1-0/+2
gpio_keys.h uses 'bool' - type which is defined in linux/types.h. Include this header. Signed-off-by: Matti Vaittinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-18Input: egalax_ts - switch to SPDX identifierFabio Estevam1-4/+1
Adopt the SPDX license identifier headers to ease license compliance management. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-04Input: iforce - use GFP_KERNEL in iforce_get_id_packet()Sebastian Andrzej Siewior1-1/+1
iforce_get_id_packet() invokes wait_event_interruptible_timeout() which means it has to be in non-atomic context at that point, thus we can use GFP_KERNEL instead of GFP_ATOMIC. Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-04dt-bindings: input: add common keyboard document bindingsChen Zhong1-0/+8
This patch adds the device tree binding documentation for common keyboard. Acked-by: Rob Herring <[email protected]> Signed-off-by: Chen Zhong <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-04Input: cros_ec_keyb - remove redundant variable num_colsColin Ian King1-3/+0
Variable num_cols is being assigned but is never used hence it is redundant and can be removed. Cleans up clang warning: warning: variable ‘num_cols’ set but not used [-Wunused-but-set-variable] Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-04Input: eeti - fix link to documentation and email address in headerDaniel Mack1-3/+3
Keep the documentation link up-to-date in case anybody need to dive into it again, and update email address while at it. Signed-off-by: Daniel Mack <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-04Input: eeti - drop module parameters, parse DT propertiesDaniel Mack1-17/+5
The only user of this driver in mainline does not make use of the module parameters, so let's remove them. All properties for this driver should be set through DT or pdata. Use touchscreen_parse_properties() to automatically set some of the common touchscreen properties and derive the axis inversion through that. And finally, use touchscreen_report_pos() to handle the DT properties automatically instead of doing the inversion ourselves. Signed-off-by: Daniel Mack <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2018-07-04Input: eeti - add device tree matching tableDaniel Mack1-0/+9
Provide a match table so that the driver can be used in devicetree setups. More properties are added in a later patch. Signed-off-by: Daniel Mack <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>