- 26 2月, 2013 2 次提交
-
-
由 Dmitry Torokhov 提交于
This simplifies error unwinding and device teardown. Tested-by: NHeiko Stuebner <heiko@sntech.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Sometimes drivers need to execute one-off actions in their error handling or device teardown paths. An example would be toggling a GPIO line to reset the controlled device into predefined state. To allow performing such actions when using managed resources let's allow adding them to stack/group of devres resources. Acked-by: NTejun Heo <tj@kernel.org> Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 25 2月, 2013 4 次提交
-
-
由 Heiko Stübner 提交于
Add the necessary code to create the needed platformdata from devicetree informations. The interrupt mode of the chip is not set via devicetree, as it is not a property of the hardware but instead only a preferred type of operation. This should probably be made settable via configfs in the future. The option set as default is the mode the datasheet mentions as default. Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Heiko Stübner 提交于
When supporting devicetree the platformdata may not necessarily come from the dev but may be generated in the driver instead. Therefore keep the pointer in the driver struct instead of using dev.platform_data. Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Heiko Stübner 提交于
Devicetree based platforms don't handle device callbacks very well and until now no board has come along that needs more extended hwinit than pulling the rst gpio high. Therefore pull the reset handling directly into the driver and remove the callbacks from the driver. If extended device setup is needed at some later point, power-sequences would probably be the solution of choice. Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Heiko Stübner 提交于
Previously the gpio was not configured at all. Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 17 2月, 2013 2 次提交
-
-
由 Dmitry Torokhov 提交于
Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pali Rohár 提交于
This enables autoloading of tsc2005 driver when is compiled as a module. Signed-off-by: NPali Rohár <pali.rohar@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 16 2月, 2013 5 次提交
-
-
由 Stephen Warren 提交于
Tegra only supports, and always enables, device tree. Remove all ifdefs and runtime checks for DT support from the driver. Platform data is therefore no longer required. Delete the header that defines it, and rework the driver to parse the device tree directly into struct tegra_kbc. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Henrik Rydberg 提交于
To properly setup event parameters for emulated events, pass the appropriate flag to the slot initialization function. Also, all MT-related events should be setup before initialization. Incidentally, this solves the issue of doubly filtered pointer events. Reported-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Henrik Rydberg 提交于
The pointer emulation events are derived from contact values that have already been filtered, so send the emulated events as is. Reported-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Michael Trimarchi 提交于
Make the constants referring to range and bandwidth public so they can be used when initializing the platform data fields in the platform code. Fix also some comments regarding the unit of measurement to use for the range and bandwidth fields, the values are not actually expected to be in G or HZ, the code in bma150.c just uses the BMA150_RANGE_xxx and BMA150_BW_xxx constants like they are with no translation from actual values in G or HZ. Signed-off-by: NMichael Trimarchi <michael@amarulasolutions.com> Signed-off-by: NAntonio Ospite <ao2@amarulasolutions.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Michael Trimarchi 提交于
When PM_RUNTIME is not defined, pm_runtime_get_sync() returns 1, see include/linux/pm_runtime.c::__pm_runtime_resume(), and the check of the return value was overlooking this, in this case bma150_open() would return 1 which is not expected by upper layers. Maybe the check for != -ENOSYS (Function not implemented) was meant to cover this, but pm_runtime_get_sync() does not return this value. For now fix the issue locally by checking explicitly for negative return values. Signed-off-by: NMichael Trimarchi <michael@amarulasolutions.com> Signed-off-by: NAntonio Ospite <ao2@amarulasolutions.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 15 2月, 2013 13 次提交
-
-
由 Kevin Cernekee 提交于
Separate out the common trackstick probe/setup sequences, then call them from each of the v3 init functions. Credits: Emmanual Thome furnished the information on the trackstick init and how it affected the report format. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Kevin Cernekee 提交于
Rushmore touchpads are found on Dell E6230/E6430/E6530. They use the V3 protocol with slightly tweaked init sequences and report formats. The E7 report is 73 03 0a, and the EC report is 88 08 1d Credits: Emmanuel Thome reported the MT bitmap changes. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Kevin Cernekee 提交于
A number of different ALPS touchpad protocols can reuse alps_process_touchpad_packet_v3() with small tweaks to the bitfield decoding. Create a new priv->decode_fields() callback that handles the per-model differences. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Kevin Cernekee 提交于
Newer touchpads use different constants, so make them runtime- configurable. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Kevin Cernekee 提交于
Pinnacle class devices should return "88 07 xx" or "88 08 xx" when entering command mode. If either the first byte or the second byte is invalid, return an error. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Kevin Cernekee 提交于
The official ALPS driver uses the EC report, not the E7 report, to detect these devices. Also, they check for a range of values; the original table-based code only checked for two specific ones. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Kevin Cernekee 提交于
This allows alps_identify() to override these settings based on the device characteristics, if it is ever necessary. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Kevin Cernekee 提交于
In anticipation of adding more ALPS protocols and more per-device quirks, use function pointers instead of switch statements to call functions that differ from one device to the next. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Kevin Cernekee 提交于
If the E6 report test passes, get the E7 and EC reports right away and then try to match an entry in the table. Pass in the alps_data struct, so that the detection code will be able to set operating parameters based on information found during detection. Change the version (psmouse->model) to report the protocol version only, in preparation for supporting models that do not show up in the ID table. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Kevin Cernekee 提交于
Several ALPS driver init sequences repeat a command three times, then issue PSMOUSE_CMD_GETINFO to read the result. Move this into a helper function to simplify the code. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Kevin Cernekee 提交于
This will minimize the number of forward declarations needed when alps_get_model() starts assigning function pointers. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Kevin Cernekee 提交于
Not every type of ALPS touchpad is well-suited to table-based detection. Start moving the various alps_model_data attributes into the alps_data struct so that we don't need a unique table entry for every possible permutation of protocol version, flags, byte0/mask0, etc. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Kevin Cernekee 提交于
Add kernel-doc markup. Signed-off-by: NKevin Cernekee <cernekee@gmail.com> Tested-by: NDave Turvene <dturvene@dahetral.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 14 2月, 2013 4 次提交
-
-
由 Ping Cheng 提交于
It is a pen with 10 finger touch device. Signed-off-by: NPing Cheng <pingc@wacom.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Benson Leung 提交于
This patch adds support for the Cypress APA Smbus Trackpad type, which uses a modified register map that fits within the limitations of the smbus protocol. Devices that use this protocol include: CYTRA-116001-00 - Samsung Series 5 550 Chromebook trackpad CYTRA-103002-00 - Acer C7 Chromebook trackpad CYTRA-101003-00 - HP Pavilion 14 Chromebook trackpad Signed-off-by: NDudley Du <dudl@cypress.com> Signed-off-by: NBenson Leung <bleung@chromium.org> Reviewed-by: NDaniel Kurtz <djkurtz@chromium.org> Reviewed-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Daniel Kurtz 提交于
Investigating the following gesture highlighted two slight implementation errors with choosing which slots to report in which slot when multiple contacts are present: Action SGM AGM (MTB slot:Contact) 1. Touch contact 0 (0:0) 2. Touch contact 1 (0:0, 1:1) 3. Lift contact 0 (1:1) 4. Touch contacts 2,3 (0:2, 1:3) In step 4, slot 1 was not being cleared first, which means the same tracking ID was being used for reporting both the old contact 1 and the new contact 3. This could result in "drumroll", where the old contact 1 would appear to suddenly jump to new finger 3 position. Similarly, if contacts 2 & 3 are not detected at the same sample, step 4 is split into two: Action SGM AGM (MTB slot:contact) 1. Touch contact 0 (0:0) 2. Touch contact 1 (0:0, 1:1) 3. Lift contact 0 (1:1) 4. Touch contact 2 (0:2, 1:1) 5. Touch contact 3 (0:2, 1:3) In this case, there was also a bug. In step 4, when contact 1 moves from SGM to AGM and contact 2 is first reported in SGM, slot 0 was actually empty. So slot 0 can be used to report the new SGM (contact 0), immediately. Since it was empty, contact 2 in slot 0 will get a new tracking ID. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Heiko Carstens 提交于
When removing the !S390 dependency from drivers/input/Kconfig a couple of drivers don't compile because they have a dependency on GENERIC_HARDIRQS. So add the missing dependencies. Fixes e.g. this one: drivers/input/keyboard/lm8323.c: In function ‘lm8323_suspend’: drivers/input/keyboard/lm8323.c:801:2: error: implicit declaration of function ‘irq_set_irq_wake’ [-Werror=implicit-function-declaration] Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 25 1月, 2013 3 次提交
-
-
由 Peter Ujfalusi 提交于
It is time to switch to system wq instead creating a queue for the driver. Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Peter Ujfalusi 提交于
Convert the probe to use devm_*. At the same time reorder the calls so we will register the input device as the last step when the driver is loaded. Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Brian Swetland 提交于
This device is a direct pipe from "hardware" to the input event subsystem, allowing us to avoid having to route "keypad" style events through an AT keyboard driver (gross!). As with the other submissions this driver is cross architecture. Signed-off-by: NMike A. Chan <mikechan@google.com> [Tided up to work on x86] Signed-off-by: NSheng Yang <sheng@linux.intel.com> Signed-off-by: NYunhong Jiang <yunhong.jiang@intel.com> Signed-off-by: NXiaohui Xin <xiaohui.xin@intel.com> Signed-off-by: NJun Nakajima <jun.nakajima@intel.com> Signed-off-by: NBruce Beare <bruce.j.beare@intel.com> [Ported to 3.4] Signed-off-by: NTom Keel <thomas.keel@intel.com> [Cleaned up for 3.7 and submission] Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 22 1月, 2013 7 次提交
-
-
由 Dmitry Torokhov 提交于
Postpone claiming the port until the device is opened, instead of doing that when the driver is loaded. Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
We have been using -EBUSY where we should have used -EIO or -ENOMEM, so let's fix that and also add some diagnostic messages. Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
This will place the joystick's input device into propoer place in sysfs hierarchy as long as th port has device assigned to it (i.e. it is not legacy port). Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Shawn Nematbakhsh 提交于
On resume from suspend there is a possibility for multi-byte scancodes to be handled incorrectly. atkbd_reconnect disables the processing of scancodes in software by calling atkbd_disable, but the keyboard may still be active because no disconnect command was sent. Later, software handling is re-enabled. If a multi-byte scancode sent from the keyboard straddles the re-enable, only the latter byte(s) will be handled. In practice, this leads to cases where multi-byte break codes (ex. "e0 4d" - break code for right-arrow) are misread as make codes ("4d" - make code for numeric 6), leading to one or more unwanted, untyped characters being interpreted. The solution implemented here involves sending command f5 (reset disable) to the keyboard prior to disabling software handling of codes. Later, the command to re-enable the keyboard is sent only after we are prepared to handle scancodes. Signed-off-by: NShawn Nematbakhsh <shawnn@chromium.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Peter Ujfalusi 提交于
It is time to switch to system wq instead creating a queue for the driver. Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Peter Ujfalusi 提交于
This simplifies error handling and eliminates the need for implementing remove() method. Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-