- 07 1月, 2017 2 次提交
-
-
由 Daniel Tobias 提交于
xbox one was the only device that has a *_process_buttons routine. Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Daniel Tobias 提交于
Signed-off-by: NDaniel Tobias <dan.g.tob@gmail.com> Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 28 12月, 2016 1 次提交
-
-
由 Aniroop Mathur 提交于
msleep (1~20) may not do what the caller intends, and will often sleep longer. (~20 ms actual sleep for any value given in the 1~20ms range) This is not the desired behaviour for many cases like device resume time, device suspend time, device enable time, etc. Thus, change msleep to usleep_range for precise wakeups. Signed-off-by: NAniroop Mathur <a.mathur@samsung.com> Acked by: Albert Zhang <xu.zhang@bosch-sensortec.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 19 12月, 2016 1 次提交
-
-
由 Dmitry Torokhov 提交于
We rely on the result of scanning PNP bus for keyboard and mouse devices to decide whether we should continue initialization of i8042 driver or not, so the probes can not be asynchronous. Also, it is not a good idea to unbind either of the PNP devices while i8042 is running, so let's disable bind/unbind for the PNP drivers through sysfs and rely on i8042 cleaning after itself properly. User can still unbind and rebind entire i8042 and that will take care of PNP drivers as well. Reviewed-by: NLuis R. Rodriguez <mgrof@kernel.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 16 12月, 2016 2 次提交
-
-
由 Dmitry Torokhov 提交于
Merge updated Synaptics RMI4 support, including support for SMBus controllers and flashing firmware.
-
由 Guy Shapiro 提交于
Make the avarage-samples property a general touchscreen property rather than imx6ul device specific. Signed-off-by: NGuy Shapiro <guy.shapiro@mobi-wize.com> Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 13 12月, 2016 7 次提交
-
-
由 Jingkui Wang 提交于
Update driver drv260x to use generic device properties so that it can be used on non-DT systems. We also remove platform data as generic device properties work on static board code as well. Signed-off-by: NJingkui Wang <jkwang@google.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Let's introduce a temporary for "client->dev" is probe() as we use it quite a few times and "dev" is shorter. Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jingkui Wang 提交于
We were assigning I2C bus controller instead of client as parent device. Besides being logically wrong, it messed up with devm handling of input device. As a result we were leaving input device and event node behind after rmmod-ing the driver, which lead to a kernel oops if one were to access the event node later. Let's remove the assignment and rely on devm_input_allocate_device() to set it up properly for us. Signed-off-by: NJingkui Wang <jkwang@google.com> Fixes: 7132fe4f ("Input: drv260x - add TI drv260x haptics driver") Cc: stable@vger.kernel.org Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Nick Dyer 提交于
Port firmware update code from Samsung Galaxy S7 driver into mainline framework. This patch has been tested on Synaptics S7813. Signed-off-by: NNick Dyer <nick@shmanahar.org> Tested-by: NChris Healy <cphealy@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
We were accidentally initializing haptics->rated_voltage twice, and did not initialize overdrive voltage. Acked-by: NDan Murphy <dmurphy@ti.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Marcos Paulo de Souza 提交于
Signed-off-by: NMarcos Paulo de Souza <marcos.souza.org@gmail.com> Reviewed-by: NPali Rohár <pali.rohar@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Marcos Paulo de Souza 提交于
As this define check if huge, this makes easier to read the code. Signed-off-by: NMarcos Paulo de Souza <marcos.souza.org@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 08 12月, 2016 2 次提交
-
-
由 Vladimir Zapolskiy 提交于
Semantics of NR_IRQS is different on machines with SPARSE_IRQ option disabled or enabled, in the latter case IRQs are allocated starting at least from the value specified by NR_IRQS and going upwards, so the check of (irq >= NR_IRQ) to decide about an error code returned by platform_get_irq() is completely invalid, don't attempt to overrule irq subsystem in the driver. The change fixes lpc32xx_keys driver initialization on boot: lpc32xx_keys 40050000.key: failed to get platform irq lpc32xx_keys: probe of 40050000.key failed with error -22 Signed-off-by: NVladimir Zapolskiy <vz@mleia.com> Acked-by: NSylvain Lemieux <slemieux.tyco@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Nick Dyer 提交于
The debug would only ever output zero for the clip information. Signed-off-by: NNick Dyer <nick@shmanahar.org> Reviewed-by: NAndrew Duggan <aduggan@synaptics.com> Tested-by: NChris Healy <cphealy@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 03 12月, 2016 4 次提交
-
-
由 Benjamin Tissoires 提交于
Now that we have a proper API to set the attention data, there is no point in keeping it in the transport driver. Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: NAndrew Duggan <aduggan@synaptics.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Benjamin Tissoires 提交于
The HID implementation of RMI4 provides the data during the interrupt (in the input report). We need to provide a way for this transport driver to provide the attention data while calling an IRQ. We use a fifo in rmi_core to not lose any incoming event. Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: NAndrew Duggan <aduggan@synaptics.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dennis Wassenberg 提交于
First check if there are data available passed by the transport device. If data available use these data. If there are no data available try to read the rmi block if dsata are passed this way. This is the way the other rmi function handlers will do this. This patch is needed on HID devices because the firmware reads F03 data registers and adds them to the HID attention report. Reading those registers from the driver after the firmware read them will result in invalid data. Reviewed-by: NAndrew Duggan <aduggan@synaptics.com> Signed-off-by: NDennis Wassenberg <dennis.wassenberg@secunet.com> Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Lyude Paul 提交于
This adds basic functionality for PS/2 passthrough on Synaptics Touchpads using RMI4 through smbus. Reviewed-by: NAndrew Duggan <aduggan@synaptics.com> Signed-off-by: NLyude Paul <thatslyude@gmail.com> Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 01 12月, 2016 10 次提交
-
-
由 Guy Shapiro 提交于
The code uses of_property_read_u32 and expects positive values. However, the values are stored in signed int variables. Additionally, the registers values are also stored in signed variables without a good reason (readl/writel expect u32). The only time this caused a real bug was in the new average-samples property, in which the property is numerically compared and implicitly expected to be positive. I believe it's better to change all the properties and registers to u32, for consistency and warnings reduction. Signed-off-by: NGuy Shapiro <guy.shapiro@mobi-wize.com> Reported-by: NBjørn Forsman <bjorn.forsman@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Haibo Chen 提交于
Add mask of each function bits of REG_ADC_CFG, and clear these function bits first, otherwise use '|=' operation may get the wrong setting which depends on the original value of REG_ADC_CFG. Signed-off-by: NHaibo Chen <haibo.chen@nxp.com> Reviewed-by: NGuy Shapiro <guy.shapiro@mobi-wize.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Benjamin Tissoires 提交于
If struct rmi_device_platform_data contains pointers to other struct, it gets difficult to allocate a fixed size struct and copy it over between drivers. Change the pointers into a struct and change the code in rmi4 accordingly. Reviewed-by: NAndrew Duggan <aduggan@synaptics.com> Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Benjamin Tissoires 提交于
those functions should not be used outside of rmi_core.ko. There is no point in exporting them to the world. It looks like rmi_read_pdt_entry() should be static too. Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Benjamin Tissoires 提交于
This partially reverts commit 29fd0ec2 ("Input: synaptics-rmi4 - add support for F34 device reflash") irq_mutex should be used only to protect data->current_irq_mask, not preventing incoming input to be processed while the upgrade of the firmware is happening. We can simply disable the irqs when we don't want them to interfere with the upgrade process. Tested on S7300 and S7800 (with F34 v7 patch added) Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NNick Dyer <nick@shmanahar.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Florian Vaussard 提交于
Using regmap_update_bits(..., mask, 1) with 'mask' following (1 << k) and k greater than 0 is wrong. Indeed, _regmap_update_bits will perform (mask & 1), which results in 0 if LSB of mask is 0. Thus the call regmap_update_bits(..., mask, 1) is in reality equivalent to regmap_update_bits(..., mask, 0). In such a case, the correct use is regmap_update_bits(..., mask, mask). This driver is performing such a mistake with the DRV2667_STANDBY mask, which equals (1 << 6). Fix the driver to make it consistent with the API, and fix the alignment problem at the same time. Please note that this change is untested, as I do not have this piece of hardware. Testers are welcome! Signed-off-by: NFlorian Vaussard <florian.vaussard@heig-vd.ch> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Florian Vaussard 提交于
Using regmap_update_bits(..., mask, 1) with 'mask' following (1 << k) and k greater than 0 is wrong. Indeed, _regmap_update_bits will perform (mask & 1), which results in 0 if LSB of mask is 0. Thus the call regmap_update_bits(..., mask, 1) is in reality equivalent to regmap_update_bits(..., mask, 0). In such a case, the correct use is regmap_update_bits(..., mask, mask). This driver is performing such a mistake with the DRV2665_STANDBY mask, which equals BIT(6). Fix the driver to make it consistent with the API, and fix the alignment problem at the same time. Please note that this change is untested, as I do not have this piece of hardware. Testers are welcome! Signed-off-by: NFlorian Vaussard <florian.vaussard@heig-vd.ch> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Benjamin Tissoires 提交于
Set the .enabled boolean and trigger an event processing when enabling for edge-triggered systems. Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Benjamin Tissoires 提交于
These fields are not used anywhere, there is no point in carrying them. Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Benjamin Tissoires 提交于
Typos... Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 29 11月, 2016 3 次提交
-
-
由 Paul Donohue 提交于
The return value of alps_get_pkt_id_ss4_v2() should really be "enum SS4_PACKET_ID", not "unsigned char". Correct this. Also, most of the Alps SS5 (SS4 v2) packet byte parsing code is implemented using macros, but there are a few places where bytes are directly manipulated in alps.c. For consistency, migrate the rest of these to macros. Reviewed-by: NPali Rohár <pali.rohar@gmail.com> Signed-off-by: NPaul Donohue <linux-kernel@PaulSD.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Paul Donohue 提交于
For consistency and clarity, the input_report_*() functions should be called by alps_process_packet_ss4_v2() instead of by alps_decode_ss4_v2(). Reviewed-by: NPali Rohár <pali.rohar@gmail.com> Signed-off-by: NPaul Donohue <linux-kernel@PaulSD.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Paul Donohue 提交于
The current Alps SS5 (SS4 v2) code generates bogus TouchPad events when TrackStick packets are processed. This causes the xorg synaptics driver to print "unable to find touch point 0" and "BUG: triggered 'if (priv->num_active_touches > priv->num_slots)'" messages. It also causes unexpected TouchPad button release and re-click event sequences if the TrackStick is moved while holding a TouchPad button. This commit corrects the problem by adjusting alps_process_packet_ss4_v2() so that it only sends TrackStick reports when processing TrackStick packets. Reviewed-by: NPali Rohár <pali.rohar@gmail.com> Signed-off-by: NPaul Donohue <linux-kernel@PaulSD.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 28 11月, 2016 3 次提交
-
-
由 Guy Shapiro 提交于
The i.MX6UL internal touchscreen controller contains an option to average upon samples. This feature reduces noise from the produced touch locations. This patch adds sample averaging support to the imx6ul_tsc device driver. Signed-off-by: NGuy Shapiro <guy.shapiro@mobi-wize.com> Reviewed-by: NFabio Estevam <fabio.estevam@nxp.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Cameron Gutman 提交于
Unlike previous Xbox pads, the Xbox One pad doesn't have "sticky" rumble packets. The duration is encoded into the command and expiration is handled by the pad firmware. ff-memless needs pseudo-sticky behavior for rumble effects to behave properly for long duration effects. We already specify the maximum rumble on duration in the command packets, but it's still only good for about 2.5 seconds of rumble. This is easily reproducible running fftest's sine vibration test. It turns out there's a repeat count encoded in the rumble command. We can abuse that to get the pseudo-sticky behavior needed for rumble to behave as expected for effects with long duration. By my math, this change should allow a single ff_effect to rumble for 10 minutes straight, which should be more than enough for most needs. Signed-off-by: NCameron Gutman <aicommander@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Cameron Gutman 提交于
This is the new gamepad that ships with the Xbox One S which includes Bluetooth functionality. Signed-off-by: NCameron Gutman <aicommander@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 26 11月, 2016 2 次提交
-
-
由 Benjamin Tissoires 提交于
The PNP0C40 device of the Surface 3 doesn't have any GPIO attached to it. Instead of trying to access the GPIO, request the count beforehand and bail out if it is null or if an error is returned. Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Benjamin Tissoires 提交于
gpio_keys will later use gpio_is_valid(). To match the actual behavior, we should use it here too. Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 23 11月, 2016 3 次提交
-
-
由 Marcos Paulo de Souza 提交于
Signed-off-by: NMarcos Paulo de Souza <marcos.souza.org@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Guenter Roeck 提交于
F54 diagnostics report functions provide data based on the number of enabled rx and tx electrodes, which is not identical to the number of electrodes reported with F54:Query0 and F54:Query1. Those values report the number of supported electrodes, not the number of enabled electrodes. The number of enabled electrodes can be determined by analyzing F55:Ctrl1 (sensor receiver assignment) and F55:Ctrl2 (sensor transmitter assignment). Propagate the number of enabled electrodes from F55 to F54 to avoid corrupted output if not all electrodes are enabled. Fixes: 3a762dbd ("[media] Input: synaptics-rmi4 - add support for F54 ...") Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Tested-by: NNick Dyer <nick@shmanahar.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Guenter Roeck 提交于
Sensor tuning support is needed to determine the number of enabled tx and rx electrodes for use in F54 functions. The number of enabled electrodes is not identical to the total number of electrodes as reported with F55:Query0 and F55:Query1. It has to be calculated by analyzing F55:Ctrl1 (sensor receiver assignment) and F55:Ctrl2 (sensor transmitter assignment). Support for additional sensor tuning functions may be added later. Fixes: 3a762dbd ("[media] Input: synaptics-rmi4 - add support for F54 ...") Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Tested-by: NNick Dyer <nick@shmanahar.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-