- 22 8月, 2012 19 次提交
-
-
由 Tobias Klauser 提交于
Use of_get_child_count() instead of custom implementation. Signed-off-by: NTobias Klauser <tklauser@distanz.ch> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Tobias Klauser 提交于
Instead of having to define the match table to NULL if CONFIG_OF isn't set, use the of_match_ptr() macro which will do this for us. Signed-off-by: NTobias Klauser <tklauser@distanz.ch> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Reformat the code to keep it within 80 columns. Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
Switch to using __u32/__s32 instead of ordinary 'int' in structures forming userspace API. Also internally make request_id unsigned int. Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
If uinput_request_submit() fails after new request ID was allocated we need to mark that request ID as free, otherwise it will always stay occupied and we may run out of available IDs. Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
Consider two threads calling read() on the same uinput-fd, both non-blocking. Assume there is data-available so both will simultaneously pass: udev->head == udev->tail Then the first thread goes to sleep and the second one pops the message from the queue. Now assume udev->head == udev->tail. If the first thread wakes up it will call wait_event_*() and sleep in the waitq. This effectively turns the non-blocking FD into a blocking one. We fix this by attempting to fetch events from the queue first and only if we fail to retrieve any events we either return -EAGAIN (in case of non-blocing read) or wait until there are more events. This also fixes incorrect return code (we were returning 0 instead of -EAGAIN for non-blocking reads) when an event is "stolen" by another thread. Blocking reads will now continue to wait instead of returning 0 in this scenario. Count of 0 continues to be a special case, as per spec: we will check for device existence and whether there are events in the queue, but no events will be actually retrieved. Reported-by: NDavid Herrmann <dh.herrmann@googlemail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 David Herrmann 提交于
Let's check whether the user-supplied buffer is actually big enough and return -EINVAL if it is not. This differs from current behavior, which caused 0 to be returned and actually does not make any sense, as broken application will simply repeat the read getting into endless loop. Note that we treat 0 as a special case, according to the standard: "Before any action described below is taken, and if nbyte is zero, the read() function may detect and return errors as described below. In the absence of errors, or if error detection is not performed, the read() function shall return zero and have no other results." Signed-off-by: NDavid Herrmann <dh.herrmann@googlemail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
When fetching events form device's buffer in uinput_read() we need to take input device's event_lock to avoid racing with new event delivery. Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
MATCH_BIT() is ugly and stupid, we have much nicer bitmap_subset() which does the same and does not hide control flow. Reported-by: NBaodong Chen <chenbdchenbd@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Daniel Mack 提交于
This adds devicetree bindings to the rotary encoder driver and some documentation about how to use them. Tested on a PXA3xx platform. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Drivers should not be changing platform data attached to the device because they do not own it. Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Daniel Mack 提交于
Use gpio_request_one() instead of separate calls to gpio_request() and gpio_direction_input() to simplify the code. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Daniel Mack 提交于
Don't call gpio_to_irq() on GPIOs before gpio_request() succeeded on them. This avoids Ooopses with incorrect DT bindings. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
Signed-off-by: NAlexandre Pereira da Silva <aletes.xgr@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Baodong Chen 提交于
Fixes for some coding style issues reported by scripts/checkpatch.pl utility. Signed-off-by: NBaodong Chen <chenbdchenbd@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 NeilBrown 提交于
As the power button causes a wake from suspend, we need to register the event with the pm sustem to avoid racing with suspend. As the input event is reported in the interrupt handler, as simple pm_wakeup_event() is sufficient. Signed-off-by: NNeilBrown <neilb@suse.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 NeilBrown 提交于
In order to avoid races with suspend, a wakeup event must register as such by calling pm_wakeup_event() or pm_stay_awake(). This will ensure that the current suspend cycle aborts. When the user-space visible event is created in the interrupt handler (gpio_keys_irq_isr), a simple pm_wakeup_event() with no delay is sufficient as suspend will synchronise with all interrupt delivery. When the user-space visible event is created later (gpio_keys_gpio_isr), we need to bracket the event with pm_stay_awake() and pm_relax(). Signed-off-by: NNeilBrown <neilb@suse.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- fix sizeof in memset; - clean up dt properties extraction; - use for_each_chil_of_node macro; - use of_get_child_count(); - use of_match_ptr macro. Signed-off-by: NAlexandre Pereira da Silva <aletes.xgr@gmail.com> Acked-by: NRob Herring <rob.herring@calxeda.com> [Fabio Estevam <fabio.estevam@freescale.com>: fix fix NULL pointer dereference for dt case - pdata->buttons wasn't initialized] Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 25 7月, 2012 3 次提交
-
-
由 Seth Forshee 提交于
The touchpad on the Acer Aspire One D250 will report out of range values in the extreme lower portion of the touchpad. These appear as abrupt changes in the values reported by the hardware from very low values to very high values, which can cause unexpected vertical jumps in the position of the mouse pointer. What seems to be happening is that the value is wrapping to a two's compliment negative value of higher resolution than the 13-bit value reported by the hardware, with the high-order bits being truncated. This patch adds handling for these values by converting them to the appropriate negative values. The only tricky part about this is deciding when to treat a number as negative. It stands to reason that if out of range values can be reported on the low end then it could also happen on the high end, so not all out of range values should be treated as negative. The approach taken here is to split the difference between the maximum legitimate value for the axis and the maximum possible value that the hardware can report, treating values greater than this number as negative and all other values as positive. This can be tweaked later if hardware is found that operates outside of these parameters. BugLink: http://bugs.launchpad.net/bugs/1001251 Cc: stable@vger.kernel.org Signed-off-by: NSeth Forshee <seth.forshee@canonical.com> Reviewed-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Ping Cheng 提交于
Signed-off-by: NPing Cheng <pingc@wacom.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Simon Budig 提交于
This is a driver for the EDT "Polytouch" family of touch controllers based on the FocalTech FT5x06 line of chips. Signed-off-by: NSimon Budig <simon.budig@kernelconcepts.de> Reviewed-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 18 7月, 2012 3 次提交
-
-
由 Joonyoung Shim 提交于
This is a initial driver for new touchscreen chip mms114 of MELFAS. It uses I2C interface and supports 10 multi touch. Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Roland Stigge 提交于
This is a driver for the key scan interface of the LPC32xx SoC Signed-off-by: NRoland Stigge <stigge@antcom.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sourav Poddar 提交于
Add device tree support for omap4 keypad driver and update the Documentation with omap4 keypad device tree binding information. Tested on omap4430 sdp. Signed-off-by: NSourav Poddar <sourav.poddar@ti.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 13 7月, 2012 3 次提交
-
-
由 weixing 提交于
This change adds support for old Hanwang Art master II tablet Signed-off-by: Nweixing <weixing@hanwang.com.cn> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Shiraz Hashim 提交于
On some platform it may happen that the input clock to keyboard may change during suspend, thus impacting its wakeup capability. There is no means for keyboard driver to know this frequency before hand. Hence introduce a platform data 'suspended_rate' which indicates the frequency during suspend at which keyboard operates. Accordingly reprogram keyboard while going into suspend and restore original configuration at the time of resume. Signed-off-by: NShiraz Hashim <shiraz.hashim@st.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Shiraz Hashim 提交于
SPEAr keyboard should normally disable clock during suspend and enable it during resume. For cases where it is expected to act as a wakeup source the clock can remain in the same state i.e. kept enabled if it is being used. Signed-off-by: NShiraz Hashim <shiraz.hashim@st.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 08 7月, 2012 9 次提交
-
-
由 Dan Carpenter 提交于
envelope->attack_level is a u16 type. We're trying to clamp it here so it's between 0 and 0x7fff. Unfortunately, the cast to __s16 turns all the values larger than 0x7fff into negative numbers and min_t() thinks they are less than 0x7fff. envelope_level is an int so now we've got negative values stored there. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Daniel Kurtz 提交于
Read the Firmware ID and Board Number from a synaptics device at init and display them in the system log. Device behavior is very board and firmware dependent. It may prove useful for users to include this information when providing bug reports or other feedback. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Shiraz Hashim 提交于
Current implementation hard coded keyboard frequency configuration assuming input clock as fixed APB (83 MHz). Generalize the configuration using clock framework APIs. Signed-off-by: NShiraz Hashim <shiraz.hashim@st.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Shiraz Hashim 提交于
Rename bit definition macros to reflect keyboard registers clearly thus being more readable. Signed-off-by: NShiraz Hashim <shiraz.hashim@st.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Shiraz Hashim 提交于
All SPEAr keyboard registers are 32 bit wide and are word aligned. This patch aligns all io access to be word size using relaxed version of readl/writel. Signed-off-by: NShiraz Hashim <shiraz.hashim@st.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Vipul Kumar Samar 提交于
This patch is to disable device wakeup while removing keyboard. Signed-off-by: NVipul Kumar Samar <vipulkumar.samar@st.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Apparently GCC can't figure out that we bail if we fail to query device and will not try to use 'features': drivers/input/touchscreen/wacom_i2c.c: In function ‘wacom_i2c_probe’: drivers/input/touchscreen/wacom_i2c.c:177:20: warning: ‘features.fw_version’ may be used uninitialized in this function [-Wmaybe-uninitialized] Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
atmel_mxt_ts driver by Daniel and MT protocol addition for win8 devices. Conflicts: drivers/input/touchscreen/atmel_mxt_ts.c
-
由 Dmitry Torokhov 提交于
use threaded IRQs use IRQF_ONESHOT.
-
- 07 7月, 2012 3 次提交
-
-
由 Fabio Estevam 提交于
Check error returned by clk_prepare_enable(). Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Fabio Estevam 提交于
With the new i.mx clock framework we should pass NULL as the keypad clock name. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Fabio Estevam 提交于
Adapt clock handling to the new i.mx clock framework and fix the following warning: input: imx-keypad as /devices/platform/imx-keypad/input/input0 ------------[ cut here ]------------ WARNING: at drivers/clk/clk.c:511 __clk_enable+0x98/0xa8() Modules linked in: [<c001a680>] (unwind_backtrace+0x0/0xf4) from [<c002452c>] (warn_slowpath_commo) [<c002452c>] (warn_slowpath_common+0x48/0x60) from [<c0024560>] (warn_slowpath_) [<c0024560>] (warn_slowpath_null+0x1c/0x24) from [<c02c4ec4>] (__clk_enable+0x9) [<c02c4ec4>] (__clk_enable+0x98/0xa8) from [<c02c4ef8>] (clk_enable+0x24/0x5c) [<c02c4ef8>] (clk_enable+0x24/0x5c) from [<c027ac6c>] (imx_keypad_open+0x28/0xc) [<c027ac6c>] (imx_keypad_open+0x28/0xc8) from [<c0274b14>] (input_open_device+0) [<c0274b14>] (input_open_device+0x78/0xa8) from [<c01ec884>] (kbd_connect+0x60/) [<c01ec884>] (kbd_connect+0x60/0x80) from [<c0273b94>] (input_attach_handler+0x) [<c0273b94>] (input_attach_handler+0x220/0x258) from [<c02755d4>] (input_regist) [<c02755d4>] (input_register_device+0x31c/0x390) from [<c038da1c>] (imx_keypad_) [<c038da1c>] (imx_keypad_probe+0x2e4/0x3b8) from [<c020326c>] (platform_drv_pro) [<c020326c>] (platform_drv_probe+0x18/0x1c) from [<c0201f64>] (driver_probe_dev) [<c0201f64>] (driver_probe_device+0x84/0x210) from [<c020217c>] (__driver_attac) [<c020217c>] (__driver_attach+0x8c/0x90) from [<c02008f8>] (bus_for_each_dev+0x) [<c02008f8>] (bus_for_each_dev+0x68/0x90) from [<c0201064>] (bus_add_driver+0xa) [<c0201064>] (bus_add_driver+0xa4/0x23c) from [<c020275c>] (driver_register+0x7) [<c020275c>] (driver_register+0x78/0x12c) from [<c00087c0>] (do_one_initcall+0x) [<c00087c0>] (do_one_initcall+0x34/0x188) from [<c04b9310>] (kernel_init+0xe4/0) [<c04b9310>] (kernel_init+0xe4/0x1a8) from [<c0015bd8>] (kernel_thread_exit+0x0) ---[ end trace 1d550e891d03d7ce ]--- Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-