- 17 10月, 2015 3 次提交
-
-
由 Ezequiel Garcia 提交于
Some encoders have both outputs low in stable states, others also have a stable state with both outputs high (half-period mode) and some have a stable state in all steps (quarter-period mode). The driver used to support the former states and with this change it can also support the later. This commit also deprecates the 'half-period' property and introduces a new property 'steps-per-period'. This property specifies the number of steps (stable states) produced by the rotary encoder for each GPIO period. Signed-off-by: NGuido Martínez <guido@vanguardiasur.com.ar> Signed-off-by: NEzequiel Garcia <ezequiel@vanguardiasur.com.ar> Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Ben Gamari 提交于
This commit makes uses of_property_read_bool() to read boolean properties. This is just cosmetic cleanup. Signed-off-by: NBen Gamari <bgamari.foss@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Elias Vanderstuyft 提交于
There is an undocumented upper bound for the total number of ff effects: FF_GAIN (= 96). This can be found as follows: - user: write(EV_FF, effect_id, iterations) calls kernel: ff->playback(effect_id, ...): starts effect "effect_id" - user: write(EV_FF, FF_GAIN, gain) calls kernel: ff->set_gain(gain, ...): sets gain A collision occurs when effect_id equals FF_GAIN. According to input_ff_event(), FF_GAIN is the smallest value where a collision occurs. Therefore the greatest safe value for effect_id is FF_GAIN - 1, and thus the total number of effects should never exceed FF_GAIN. Define FF_MAX_EFFECTS as FF_GAIN and check on this limit in ff-core. Signed-off-by: NElias Vanderstuyft <elias.vds@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 15 10月, 2015 1 次提交
-
-
由 Hans de Goede 提交于
This changAdd support for EV_ABS / EV_REL events to the gpio-keys-polled driver. The driver already allows specifying what type of events (key / rel / abs) a button generates when pressed, but for rel / abs axis we also need to specify which value this specific gpio represents. One use case is digital joysticks / direction-pads which are hooked up to gpio, in this case we've left and right buttons which we want to map to EV_ABS, ABS_X and we want generate events for left with a value of -1 and for right with a value of +1 (and similar for up / down and ABS_Y). Signed-off-by: NHans de Goede <hdegoede@redhat.com> Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 14 10月, 2015 3 次提交
-
-
由 Vignesh R 提交于
With commit 3fffd128 ("i2c: allow specifying separate wakeup interrupt in device tree") wakeirq is managed by i2c-core, so remove wakeirq related code from pixcir_i2c_ts driver. Signed-off-by: NVignesh R <vigneshr@ti.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sylvain Rochet 提交于
This patch adds wake up support to GPIO rotary encoders. Signed-off-by: NSylvain Rochet <sylvain.rochet@finsecur.com> Reviewed-by: NJohan Hovold <johan@kernel.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Petri Gynther 提交于
Add new function input_enable_softrepeat() that allows drivers to initialize their own values for input_dev->rep[REP_DELAY] and input_dev->rep[REP_PERIOD], but also use the software autorepeat functionality from input.c. For example, a HID driver could do: static void xyz_input_configured(struct hid_device *hid, struct hid_input *hidinput) { input_enable_softrepeat(hidinput->input, 400, 100); } static struct hid_driver xyz_driver = { .input_configured = xyz_input_configured, } Signed-off-by: NPetri Gynther <pgynther@google.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 11 10月, 2015 10 次提交
-
-
由 Pavel Rojtberg 提交于
When we initialize the driver/device, we really don't know how many controllers are connected. So send a "query presence" command to the base-station. (Command discovered by Zachary Lund) Presence packet taken from: https://github.com/computerquip/xpad5Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pierre-Loup A. Griffais 提交于
To allow us to later create / destroy the input device from the urb callback, we need to initialize/ deinitialize the input device from a separate function. So pull that logic out now to make later patches more "obvious" as to what they do. Signed-off-by: N"Pierre-Loup A. Griffais" <pgriffais@valvesoftware.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
as discussed here[0], x360w is the only pad that maps dpad_to_button. This is bad for downstream developers as they have to differ between x360 and x360w which is not intuitive. This patch implements the suggested solution of exposing the dpad both as axes and as buttons. This retains backward compatibility with software already dealing with the difference while makes new software work as expected across x360/ x360w pads. [0] http://www.spinics.net/lists/linux-input/msg34421.htmlSigned-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
Move submission logic to a single point at the end of the function. This makes it easy to add locking/ queuing code later on. Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
This code was probably wrong ever since and is redundant with xpad_send_led_command. Both try to send a similar command to the xbox360 controller. However xpad_send_led_command correctly uses the pad_nr instead of bInterfaceNumber to select the led and re-uses the irq_out URB instead of creating a new one. Note that this change only affects the two supported wireless controllers. Tested using the xbox360 wireless controller (PC). Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
The pad_nr corresponds to the lit up LED on the controller. Therefore there should be no gaps when enumerating. Currently a LED is only re-assigned after a controller is re-connected 4 times. This patch uses ida to track connected pads - this way we can re-assign freed up pad number immediately. Consider the following case: 1. pad A is connected and gets pad_nr = 0 2. pad B is connected and gets pad_nr = 1 3. pad A is disconnected 4. pad A is connected again using ida_simple_get() controller A now correctly gets pad_nr = 0 again. Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
Rename led_no -> pad_nr: the number stored there is not the LED number - it gets translated later on to a LED number in xpad_identify_controller; Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dario Scarpa 提交于
The "Razer Atrox Arcade Stick" features 10 buttons, and two of them (LT/RT) don't work properly. Change its definition in xpad_device[] (mapping field) to fix. Signed-off-by: NDario Scarpa <dario.scarpa@duskzone.it> Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Erik Lundgren 提交于
It is identical to the Xbox One controller but has a different product ID. Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
The copyright/license notice says that the code is licensed under GPL v2 only (not GPL v2+), so let's use proper string in MODULE_LICENSE(). Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 07 10月, 2015 3 次提交
-
-
由 Fengguang Wu 提交于
There is no need to explicitly set .owner for the driver, the core will do it for us. Signed-off-by: NFengguang Wu <fengguang.wu@intel.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Franklin S Cooper Jr 提交于
Since reset and wake pin are optional the gpio structure for those pins may be null. Therefore, they can't be blindly passed to desc_to_gpio. Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NFranklin S Cooper Jr <fcooper@ti.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Javier Martinez Canillas 提交于
Commit 5702222c ("Input: joydev - use memdup_user() to duplicate memory from user-space") changed the kmalloc() and copy_from_user() with a single call to memdup_user() but wrongly used the same error path than the old code in which the buffer allocated by kmalloc() was freed if copy_from_user() failed. This is of course wrong since if memdup_user() fails, no memory was allocated and the error in the error-valued pointer should be returned. Fixes: 5702222c ("Input: joydev - use memdup_user() to duplicate memory from user-space") Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 06 10月, 2015 5 次提交
-
-
由 Yoichi Yuasa 提交于
This adds support for ROHM BU21023/24 Dual touch resistive touchscreens. Signed-off-by: NYoichi Yuasa <yuasa@linux-mips.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sudip Mukherjee 提交于
Modify parkbd driver to use the new Parallel Port device model. Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sudip Mukherjee 提交于
The variable i is used to check the port to attach to and we are supposed to save the reference of struct tgfx in the location given by tgfx_base[i]. But after finding out the index, i is getting modified again so we saved in a wrong index. Fixes: 4de27a63 ("Input: turbografx - use parallel port device model") Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sudip Mukherjee 提交于
The variable i is used to check the port to attach to and we are supposed to save the reference of struct gc in the location given by gc_base[i]. But after finding out the index, i is getting modified again so we saved in a wrong index. Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Fixes: a517e87c ("Input: gamecon - use parallel port device model") Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sudip Mukherjee 提交于
The variable i is used to check the port to attach to and we are supposed to save the reference of struct db9 in the location given by db9_base[i]. But after finding out the index, i is getting modified again so we saved in a wrong index. While at it mark db9_base[i] as NULL after it is freed. Fixes: 2260c419 ("Input: db9 - use parallel port device model") Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 03 10月, 2015 13 次提交
-
-
由 Marc Zyngier 提交于
When configuring the interrupt mapping for a new device, we iterate over all the possible aliases to account for their maximum MSI allocation. This was introduced by e8137f4f ("irqchip: gicv3-its: Iterate over PCI aliases to generate ITS configuration"). Turns out that the code doing that is a bit braindead, and repeatedly accounts for the same device over and over. Fix this by counting the actual alias that is passed to us by the core code. Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: Alex Shi <alex.shi@linaro.org> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: David Daney <ddaney.cavm@gmail.com> Cc: Jason Cooper <jason@lakedaemon.net> Link: http://lkml.kernel.org/r/1443800646-8074-3-git-send-email-marc.zyngier@arm.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
-
由 Marc Zyngier 提交于
More agressive inlining in recent versions of GCC have uncovered a new set of warnings: drivers/irqchip/irq-gic-v3-its.c: In function its_msi_prepare: drivers/irqchip/irq-gic-v3-its.c:1148:26: warning: lpi_base may be used uninitialized in this function [-Wmaybe-uninitialized] dev->event_map.lpi_base = lpi_base; ^ drivers/irqchip/irq-gic-v3-its.c:1116:6: note: lpi_base was declared here int lpi_base; ^ drivers/irqchip/irq-gic-v3-its.c:1149:25: warning: nr_lpis may be used uninitialized in this function [-Wmaybe-uninitialized] dev->event_map.nr_lpis = nr_lpis; ^ drivers/irqchip/irq-gic-v3-its.c:1117:6: note: nr_lpis was declared here int nr_lpis; ^ The warning is fairly benign (there is no code path that could actually use uninitialized variables), but let's silence it anyway by zeroing the variables on the error path. Reported-by: NAlex Shi <alex.shi@linaro.org> Tested-by: NArd Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: David Daney <ddaney.cavm@gmail.com> Cc: Jason Cooper <jason@lakedaemon.net> Link: http://lkml.kernel.org/r/1443800646-8074-2-git-send-email-marc.zyngier@arm.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
-
由 Noralf Trønnes 提交于
This adds support for the FT6x06 and the FT6x36 family of capacitive touch panel controllers, in particular the FT6236. Signed-off-by: NNoralf Trønnes <noralf@tronnes.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Javier Martinez Canillas 提交于
The PTR_ERR_OR_ZERO() helper function checks if a pointer contains an errno code and returns it or return 0 if that's not the case. Use the helper instead of open coding the same logic in the driver. This was found with make coccicheck that complains with the following warning: drivers/input/touchscreen/cyttsp4_i2c.c:53:1-3: WARNING: PTR_ERR_OR_ZERO can be used Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Javier Martinez Canillas 提交于
The PTR_ERR_OR_ZERO() helper function checks if a pointer contains an errno code and returns it or return 0 if that's not the case. Use the helper instead of open coding the same logic in the driver. This was found with make coccicheck that complains with the following warning: drivers/input/touchscreen/ads7846.c:532:1-3: WARNING: PTR_ERR_OR_ZERO can be used Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Javier Martinez Canillas 提交于
The invoked function already returns zero on success or a negative errno code so there is no need to open code the logic in the caller. This also fixes the following make coccicheck warning: drivers/input/touchscreen/tps6507x-ts.c:57:5-8: WARNING: end returns can be simplified Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Javier Martinez Canillas 提交于
The invoked function already returns zero on success or a negative errno code so there is no need to open code the logic in the caller. This also fixes the following make coccicheck warnings: end returns can be simplified and declaration on line 402 can be dropped Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Javier Martinez Canillas 提交于
The invoked function already returns zero on success or a negative errno code so there is no need to open code the logic in the caller. This also fixes the following make coccicheck warning: end returns can be simplified and declaration on line 602 can be dropped Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Reviewed-by: NHeiko Stuebner <heiko.stuebner@bq.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Javier Martinez Canillas 提交于
The retval variable isn't needed since isn't used in the function. Remove the variable and just return 0 instead. This also fixes the following make coccicheck warning: drivers/input/misc/kxtj9.c:638:5-11: Unneeded variable: "retval". Return "0" on line 646 Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Javier Martinez Canillas 提交于
The memdup_user() helper function can be used to duplicate a memory region from user-space to kernel-space. There is no need to open code the same logic using kmalloc() and copy_from_user() instead. This was found with make coccicheck that reported the following warning: drivers/input/joydev.c:447:10-17: WARNING opportunity for memdup_user drivers/input/joydev.c:483:10-17: WARNING opportunity for memdup_user Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Javier Martinez Canillas 提交于
The driver depends on GOLDFISH but there isn't a build dependency so it's a good idea to allow the driver to be built even if that option is disabled, if the COMPILE_TEST option is enabled. That way, the driver can be built with a config generated by make allyesconfig and can be checked if a patch would break the build. Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Bjorn Andersson 提交于
In the cases where the gpio chip fails to acquire the current state an error is reported back to gpio_keys. This is currently interpreted as if the line went high, which just confuses the developer. This patch introduces an error print in this case and skipps the reporting of a input event; to aid in debugging this issue. Reported-by: NJohn Stultz <john.stultz@linaro.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@sonymobile.com> Reviewed-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
This reverts commit e51e3849: we actually do want the device to work in extended W mode, as this is the mode that allows us receiving multiple contact information. Cc: stable@vger.kernel.org
-
- 02 10月, 2015 2 次提交
-
-
由 NeilBrown 提交于
Passing -1 to bitmap_storage_alloc() causes page->index to be set to -1, which is quite problematic. So only pass ->cluster_slot if mddev_is_clustered(). Fixes: b97e9257 ("Use separate bitmaps for each nodes in the cluster") Cc: stable@vger.kernel.org (v4.1+) Signed-off-by: NNeilBrown <neilb@suse.com>
-
由 Jes Sorensen 提交于
close_sync() needs to set conf->next_resync to a large, but safe value below MaxSector and use it to determine whether or not to set start_next_window in wait_barrier() Solution suggested by Neil Brown. Reported-by: NNate Dailey <nate.dailey@stratus.com> Tested-by: NXiao Ni <xni@redhat.com> Signed-off-by: NJes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: NNeilBrown <neilb@suse.com>
-