aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-05-20Input: ff-core - fix typo in comment to input_ff_erase()Shailendra Verma1-1/+1
Signed-off-by: Shailendra Verma <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-20Input: fix typo in comment to input_handler_for_each_handle()Shailendra Verma1-1/+1
Signed-off-by: Shailendra Verma <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-15Input: wm831x-on - pass the IRQF_ONESHOT flagFabio Estevam1-1/+2
Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. So pass the IRQF_ONESHOT flag in this case. The semantic patch that makes this change is available in scripts/coccinelle/misc/irqf_oneshot.cocci. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-15Input: twl6040-vibra - pass the IRQF_ONESHOT flagFabio Estevam1-1/+2
Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. So pass the IRQF_ONESHOT flag in this case. The semantic patch that makes this change is available in scripts/coccinelle/misc/irqf_oneshot.cocci. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-15Input: retu-pwrbutton - pass the IRQF_ONESHOT flagFabio Estevam1-1/+2
Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. So pass the IRQF_ONESHOT flag in this case. The semantic patch that makes this change is available in scripts/coccinelle/misc/irqf_oneshot.cocci. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-15Input: twl4030-pwrbutton - pass the IRQF_ONESHOT flagFabio Estevam1-1/+2
Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. So pass the IRQF_ONESHOT flag in this case. The semantic patch that makes this change is available in scripts/coccinelle/misc/irqf_oneshot.cocci. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-15Input: max7359_keypad - switch to using matrix_keypad_build_keymap()Evgeniy Dushistov2-21/+10
max7359_build_keycode() does the same thing as matrix_keypad_build_keymap(), but the latter can also handle DT bindings. Tested on beagleboard-xm. Signed-off-by: Evgeniy A. Dushistov <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-15Input: max7359_keypad - do not set MAX7359_CFG_INTERRUPT flagEvgeniy Dushistov1-1/+0
In datasheet of max7359 there is the following description of this flag: 0 - INT cleared when FIFO empty, 1 - INT cleared after host read. In this mode, I2C should read FIFO until interrupt condition removed, or further INT may be lost. So, if we set this flag, we have to read FIFO until it becomes empty. But in interrupt we read FIFO just once. This lead to "keyboard" hang until reboot, if we press several keys, because of interrupt handler read just one "press" from FIFO and clear interrupt. Signed-off-by: Evgeniy A. Dushistov <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-15Input: evdev - use kvfree() in evdev_release()Pekka Enberg1-4/+1
Use kvfree() instead of open-coding it. Signed-off-by: Pekka Enberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-13Input: soc_button_array - remove duplicated includeWei Yongjun1-1/+0
Remove duplicated include for acpi.h. Signed-off-by: Wei Yongjun <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-13Input: zforce - remove duplicated includeWei Yongjun1-1/+0
Remove duplicated include for delay.h. Signed-off-by: Wei Yongjun <[email protected]> Reviewed-by: Heiko Stuebner <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-08Input: add TI drv2665 haptics driverDan Murphy4-0/+351
Add the TI drv2665 piezo haptic driver. This haptics IC requires the data to be streamed to the FIFO for continuous output. Datasheet can be found at: http://www.ti.com/product/drv2665 Signed-off-by: Dan Murphy <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-08Input: ff-core - fix spelling mistake in ff-coreDan Murphy1-1/+1
Fix spelling of magnitude s/manginude/magnitude Signed-off-by: Dan Murphy <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-08Input: drv2667 - fix Kconfig error for help screenDan Murphy1-1/+1
Fix the Kconfig for the drv2667 as there was a copy/paste error. Signed-off-by: Dan Murphy <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-07Input: smtpe-ts - wait 50mS until polling for pen-upMarek Vasut1-1/+1
Wait a little bit longer, 50mS instead of 20mS, until the driver starts polling for pen-up. The problematic behavior before this patch is applied is as follows. The behavior was observed on the STMPE610QTR controller. Upon a physical pen-down event, the touchscreen reports one set of x-y-p coordinates and a pen-down event. After that, the pen-up polling is triggered and since the controller is not ready yet, the polling mistakenly detects a pen-up event while the physical state is still such that the pen is down on the touch surface. The pen-up handling flushes the controller FIFO, so after that, all the samples in the controller are discarded. The controller becomes ready shortly after this bogus pen-up handling and does generate again a pen-down interrupt. This time, the controller contains x-y-p samples which all read as zero. Since pressure value is zero, this set of samples is effectively ignored by userland. In the end, the driver just bounces between pen-down and bogus pen-up handling, generating no useful results. Fix this by giving the controller a bit more time before polling it for pen-up. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Viresh Kumar <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-07Input: smtpe-ts - use msecs_to_jiffies() instead of HZMarek Vasut1-1/+1
Use msecs_to_jiffies(20) instead of plain (HZ / 50), as the former is much more explicit about it's behavior. We want to schedule the task 20 mS from now, so make it explicit in the code. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Viresh Kumar <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-06Input: s3c2410_ts - constify platform_device_idKrzysztof Kozlowski1-1/+1
The platform_device_id is not modified by the driver and core uses it as const. Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-06Input: samsung-keypad - constify platform_device_idKrzysztof Kozlowski1-1/+1
The platform_device_id is not modified by the driver and core uses it as const. Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-06Input: goodix - check the 'buffer status' bit before reading dataPaul Cercueil1-0/+3
The MSB of the first byte read via I2C at the coordinates address indicates whether the data is valid or ready (called "buffer status" in the datasheets) when an interrupt is raised. Previously, this bit was ignored, which resulted in a lot of incorrect detections of "finger removed" events. Signed-off-by: Paul Cercueil <[email protected]> Acked-by: Bastien Nocera <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-06Input: adp5589-keys - fix event count maskGuido Martínez1-1/+1
The event mask was specified as 0xF (4 bits) when in reality is 0x1F (5 bits) in order to be capable of representing all FIFO length values from 0 to 16. This caused a problem: when the keypad reported 16 pending events the driver took it as 0, and did nothing. This in turn caused the keypad to re-issue the interrupt over and over again. Signed-off-by: Guido Martínez <[email protected]> Acked-by: Michael Hennerich <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-05-06Input: adp5589-keys - fix pull mask settingGuido Martínez1-2/+2
The pull mask is created by looping each row (column) and building an 8-bit integer with the configuration. It is written byte-by-byte, when we reach the end of the rows (columns) or we're at the 3rd line (which finishes the first byte, since each pin is 2bits on the mask). However, this only works if we have at most 8 pins (2 bytes), which is not the case for the ADP5589. So, write the byte at each boundary (every 4 rows/columns). Signed-off-by: Guido Martínez <[email protected]> Acked-by: Michael Hennerich <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-20Input: lm8333 - fix broken email addressWolfram Sang1-2/+2
My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <[email protected]> Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Robert Schwebel <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-20Input: cyapa - fix setting suspend scan rateDudley Du1-2/+2
The suspend scan rate value should not exceed 1000, unfortunately when implementing the limit we used max_t instead of min_t, causing the value to be at least 1000. Signed-off-by: Dudley Du <[email protected]> Reviewed-by: Benson Leung <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-20Input: elan_i2c - fix calculating number of x and y traces.Duson Lin2-4/+4
According to Elan's firmware engineers we should not be subtracting 1 form the raw number of x and y traces so that the pitch size is correct. For example, if the touchpad x resolution is 2800 and x trace number is 20, the pitch size of x should be 2800/20 = 140, not 2800/19 = 147.36. Signed-off-by: Duson Lin <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-20Input: elan_i2c - report hovering contactsDuson Lin1-4/+11
When hover is detected report ABS_MT_DISTANCE as 1; for active contacts the distance is reported as 0. Signed-off-by: Duson Lin <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-20Input: elants_i2c - zero-extend hardware ID in firmware nameDmitry Torokhov1-1/+1
Let's zero-extend hardware id number when forming firmware file name, to avoid kernel requesting firmware like "elants_i2c_ 0.bin", which is quite unexpected. Acked-by: Charlie Mooney<[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-15Input: alps - document separate pointstick button bits for V2 devicesHans de Goede1-2/+7
Non interleaved dualpoint v2 devices have separate pointstick button bits, document this. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-15Input: atmel_mxt_ts - add support for Google Pixel 2Dmitry Torokhov1-11/+130
This change allows atmel_mxt_ts to bind to ACPI-enumerated devices in Google Pixel 2 (2015). While newer version of ACPI standard allow use of device-tree-like properties in device descriptions, the version of ACPI implemented in Google BIOS does not support them, and we have to resort to DMI data to specify exact characteristics of the devices (touchpad vs. touchscreen, GPIO to button mapping, etc). Pixel 1 continues to use i2c devices and platform data created by chromeos-laptop driver, since ACPI does not enumerate them. Reviewed-by: Javier Martinez Canillas <[email protected]> Tested-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-14Input: xpad - add rumble support for Xbox One controllerMing-ting Yao Wei1-1/+20
This adds rumble support for Xbox One controller by sending continuous rumble command. Trigger button rumbling is not yet implemented. Signed-off-by: Ming-ting Yao Wei <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-14Input: ff-core - use new debug macrosOliver Neukum1-6/+4
Replace old pr_* with dev_* debugging macros Signed-off-by: Oliver Neukum <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-14Input: add vmmouse driverThomas Hellstrom7-0/+577
VMMouse enables low-latency mouse-cursor-movements for VMWare and QEMU guests. By removing the guest cursor and using the host as a guest cursor the cursor movement appears instant although in reality there is some lag. To be able to do this, the host's view of the cursor position must exactly match the guest's view and an absolute pointer device is needed. Enter the VMMouse. While the VMMouse driver has historically been an Xorg user-space driver, implementing it as a kernel imput driver enables rootless Xorg and new compositing display servers for VMware guests. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-14Input: elan_i2c - adjust for newer firmware pressure reportingduson4-10/+49
Get pressure format flag from firmware to check if we need to normalize pressure data before reporting it. Signed-off-by: Duson Lin <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-11Input: atkbd - document "no new force-release quirks" policyDmitry Torokhov1-0/+6
To save people some time let's document that we do not want new quirks for "force-release" keys in the kernel and that they should patch userspace (udev) instead. Suggested-by: Pali Rohár <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-11Input: ALPS - make alps_get_pkt_id_ss4_v2() and others staticFengguang Wu1-5/+5
Signed-off-by: Fengguang Wu <[email protected]> Acked-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-07Input: ALPS - V7 devices can report 5-finger tapsMasaki Ota1-0/+1
Signed-off-by: Masaki Ota <[email protected]> Acked-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-07Input: ALPS - add support for SS4 touchpad devicesMasaki Ota2-4/+403
This change adds support for SS4 touchpad devices as ALPS_PROTO_V8 protocol. They are real multi-touch devices and can be found in TOSHIBA Tecra C50. Signed-off-by: Masaki Ota <[email protected]> Acked-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-07Input: ALPS - refactor alps_set_abs_params_mt()Masaki Ota1-12/+26
In preparation for adding support for SS4 touchpads, let's split alps_set_abs_params_mt into common, v7-specific, and other protocols portions. Signed-off-by: Masaki Ota <[email protected]> Acked-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-07Merge tag 'v4.0-rc7' into nextDmitry Torokhov305-1381/+2832
Sync up with Linux 4.0-rc7 to bring in ALPS changes.
2015-04-06Linux 4.0-rc7Linus Torvalds1-1/+1
2015-04-06Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds21-71/+78
Pull networking fixes from David Miller: 1) In TCP, don't register an FRTO for cumulatively ACK'd data that was previously SACK'd, from Neal Cardwell. 2) Need to hold RNL mutex in ipv4 multicast code namespace cleanup, from Cong WANG. 3) Similarly we have to hold RNL mutex for fib_rules_unregister(), also from Cong WANG. 4) Revert and rework netns nsid allocation fix, from Nicolas Dichtel. 5) When we encapsulate for a tunnel device, skb->sk still points to the user socket. So this leads to cases where we retraverse the ipv4/ipv6 output path with skb->sk being of some other address family (f.e. AF_PACKET). This can cause things to crash since the ipv4 output path is dereferencing an AF_PACKET socket as if it were an ipv4 one. The short term fix for 'net' and -stable is to elide these socket checks once we've entered an encapsulation sequence by testing xmit_recursion. Longer term we have a better solution wherein we pass the tunnel's socket down through the output paths, but that is way too invasive for 'net' and -stable. From Hannes Frederic Sowa. 6) l2tp_init() failure path forgets to unregister per-net ops, from Cong WANG. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: net/mlx4_core: Fix error message deprecation for ConnectX-2 cards net: dsa: fix filling routing table from OF description l2tp: unregister l2tp_net_ops on failure path mvneta: dont call mvneta_adjust_link() manually ipv6: protect skb->sk accesses from recursive dereference inside the stack netns: don't allocate an id for dead netns Revert "netns: don't clear nsid too early on removal" ip6mr: call del_timer_sync() in ip6mr_free_table() net: move fib_rules_unregister() under rtnl lock ipv4: take rtnl_lock and mark mrt table as freed on namespace cleanup tcp: fix FRTO undo on cumulative ACK of SACKed range xen-netfront: transmit fully GSO-sized packets
2015-04-06net/mlx4_core: Fix error message deprecation for ConnectX-2 cardsJack Morgenstein1-1/+2
Commit 1daa4303b4ca ("net/mlx4_core: Deprecate error message at ConnectX-2 cards startup to debug") did the deprecation only for port 1 of the card. Need to deprecate for port 2 as well. Fixes: 1daa4303b4ca ("net/mlx4_core: Deprecate error message at ConnectX-2 cards startup to debug") Signed-off-by: Jack Morgenstein <[email protected]> Signed-off-by: Amir Vadai <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-04-06net: dsa: fix filling routing table from OF descriptionPavel Nakonechny2-17/+10
According to description in 'include/net/dsa.h', in cascade switches configurations where there are more than one interconnected devices, 'rtable' array in 'dsa_chip_data' structure is used to indicate which port on this switch should be used to send packets to that are destined for corresponding switch. However, dsa_of_setup_routing_table() fills 'rtable' with port numbers of the _target_ switch, but not current one. This commit removes redundant devicetree parsing and adds needed port number as a function argument. So dsa_of_setup_routing_table() now just looks for target switch number by parsing parent of 'link' device node. To remove possible misunderstandings with the way of determining target switch number, a corresponding comment was added to the source code and to the DSA device tree bindings documentation file. This was tested on a custom board with two Marvell 88E6095 switches with following corresponding routing tables: { -1, 10 } and { 8, -1 }. Signed-off-by: Pavel Nakonechny <[email protected]> Reviewed-by: Andrew Lunn <[email protected]> Reviewed-by: Florian Fainelli <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-04-06Merge branch 'for-linus' of ↵Linus Torvalds2-14/+31
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input fixes from Dmitry Torokhov: "Updates for the input subsystem - two more tweaks for ALPS driver to work out kinks after splitting the touchpad, trackstick, and potential external PS/2 mouse into separate input devices. Changes to support ALPS SS4 devices (protocol V8) will be coming in 4.1..." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: alps - document stick behavior for protocol V2 Input: alps - report V2 Dualpoint Stick events via the right evdev node Input: alps - report interleaved bare PS/2 packets via dev3
2015-04-06l2tp: unregister l2tp_net_ops on failure pathWANG Cong1-0/+1
Signed-off-by: Cong Wang <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-04-06Input: atmel_mxt_ts - split out touchpad initialisation logicSjoerd Simons1-22/+30
If the "linux,gpio-keymap" DT property is defined, the T19 keys are configured and the device is setup as a touchpad rather than a touchscreen. The logic is part of the input device initialization routine but it can be factored out to its own function to simplify the former. Signed-off-by: Sjoerd Simons <[email protected]> Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-06Input: atmel_mxt_ts - implement support for T100 touch objectNick Dyer1-27/+318
Add support for the new T100 object which replaces the previous T9 multitouch touchscreen object in recent maXTouch devices. T100 provides improved reporting with selectable auxiliary information, and a type field for hover/stylus/glove reporting. The hovering finger support was based on Chung-Yih's work in the ChromiumOS downstream kernel: https://chromium-review.googlesource.com/#/c/219280/ Signed-off-by: Nick Dyer <[email protected]> Acked-by: Yufeng Shen <[email protected]> [javier: Factor out T9 and T100 init functions and rework hover support] Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-06mvneta: dont call mvneta_adjust_link() manuallyStas Sergeev1-6/+1
mvneta_adjust_link() is a callback for of_phy_connect() and should not be called directly. The result of calling it directly is as below: Signed-off-by: David S. Miller <[email protected]>
2015-04-06ipv6: protect skb->sk accesses from recursive dereference inside the stack[email protected]7-19/+34
We should not consult skb->sk for output decisions in xmit recursion levels > 0 in the stack. Otherwise local socket settings could influence the result of e.g. tunnel encapsulation process. ipv6 does not conform with this in three places: 1) ip6_fragment: we do consult ipv6_npinfo for frag_size 2) sk_mc_loop in ipv6 uses skb->sk and checks if we should loop the packet back to the local socket 3) ip6_skb_dst_mtu could query the settings from the user socket and force a wrong MTU Furthermore: In sk_mc_loop we could potentially land in WARN_ON(1) if we use a PF_PACKET socket ontop of an IPv6-backed vxlan device. Reuse xmit_recursion as we are currently only interested in protecting tunnel devices. Cc: Jiri Pirko <[email protected]> Signed-off-by: Hannes Frederic Sowa <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-04-06Input: cros_ec_keyb - fix clearing keyboard state on wakeupTomeu Vizoso1-1/+1
As the comment right before explains, the keyboard state is to be cleared only if the EC wasn't a wakeup source in the last suspend. Without this commit, there's an unneeded delay when resuming from suspend and we also lose the key that was pressed while suspended. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2015-04-06Input: gscps2 - drop pci_ids dependencyMichael S. Tsirkin1-1/+0
This driver does not use any PCI IDs, don't include the pci_ids.h header. Signed-off-by: Michael S. Tsirkin <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>