- 09 3月, 2013 1 次提交
-
-
由 Daniel Kurtz 提交于
This same driver can be used by atmel based touchscreens and touchpads (buttonpads). Platform data may specify a device is a touchpad using the is_tp flag. This will cause the driver to perform some touchpad specific initializations, such as: * register input device name "Atmel maXTouch Touchpad" instead of Touchscreen. * register BTN_LEFT & BTN_TOOL_* event types. * register axis resolution (as a fixed constant, for now) * register BUTTONPAD property * process GPIO buttons using reportid T19 Input event GPIO mapping is done by the platform data key_map array. key_map[x] should contain the KEY or BTN code to send when processing GPIOx from T19. To specify a GPIO as not an input source, populate with KEY_RESERVED, or 0. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NBenson Leung <bleung@chromium.org> Signed-off-by: NNick Dyer <nick.dyer@itdev.co.uk> Tested-by: NOlof Johansson <olof@lixom.net> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 24 11月, 2012 3 次提交
-
-
由 Bill Pemberton 提交于
CONFIG_HOTPLUG is going away as an option so __devexit is no longer needed. Signed-off-by: NBill Pemberton <wfp5p@virginia.edu> Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Bill Pemberton 提交于
CONFIG_HOTPLUG is going away as an option so __devinit is no longer needed. Signed-off-by: NBill Pemberton <wfp5p@virginia.edu> Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NJavier Martinez Canillas <javier@dowhile0.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Bill Pemberton 提交于
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer needed. Signed-off-by: NBill Pemberton <wfp5p@virginia.edu> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 05 10月, 2012 1 次提交
-
-
由 Andy Shevchenko 提交于
Use %*ph format specifier to print small buffer. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 20 9月, 2012 1 次提交
-
-
由 Henrik Rydberg 提交于
Preparing to move more repeated code into the mt core, add a flags argument to the input_mt_slots_init() function. Reviewed-and-tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Tested-by: NPing Cheng <pingc@wacom.com> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
- 06 7月, 2012 1 次提交
-
-
由 Henrik Rydberg 提交于
Dmitry: I understand that I am a bit late to the party :) but I do not agree with this change. Failure to create attributes is not sometihng that user could cause (at least not easily) and thus would not be a setup issue but something more severe. I believe we should fail loading the driver so sysfs attribute breakage will be noticed as soon as possible, instead of discovering it much much later in the process. This reverts commit 63990038. Requested-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
- 05 7月, 2012 1 次提交
-
-
由 Lars-Peter Clausen 提交于
Since commit 1c6c6952 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. This patch adds the IRQF_ONESHOT to input drivers where it is missing. Not modified by this patch are those drivers where the requested IRQ will always be a nested IRQ (e.g. because it's part of an MFD), since for this special case IRQF_ONESHOT is not required to be specified when requesting the IRQ. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 29 6月, 2012 23 次提交
-
-
由 Daniel Kurtz 提交于
The normal messages sent after boot or NVRAM update are T6 reports, containing a status, and the config memory checksum. Parse them and dump a useful info message. This patch tested on an MXT224E. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Each interrupt contains information for all contacts with changing properties. Process all of this information at once, and send it all in a a single input report (ie input events ending in EV_SYN/SYN_REPORT). This patch was tested using an MXT224E. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Atmel mxt devices can report one finger for each T9 reportid. Therefore, this range can be used to report the max number of MT-B slots to userspace instead of assuming a fixed 10. Note that mxt_initialized() must complete early, since the input_dev properties now depend on values in the object table. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
This small refactor is in preparation for checking more report types in the mxt_interrupt message processing loop. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Streamline interrupt processing by caching the T9 reportid range when first reading the object table. In the process, refactor reading the object descriptor table. First, since the object_table entries are now exactly the same layout in device memory and in the driver, allocate an appropriately sized array and fetch the entire table directly into it in a single i2c transaction. Since a 6 byte table object requires 10 bytes to read, doing this dramatically reduces overhead. Note: The cached T9 reportid's are initialized to 0, which is an invalid reportid. Thus, the checks in the interrupt handler will always fail for devices that do not support the T9 object. Therefore, after doing a firmware update, the old object table is destroyed and all cached object values are reset to 0, before reading the new object table, in case the new firmware does not have the old objects. This patch tested on an MXT224E. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
The Object Table is freed in three cases: 1) When the driver is being removed. 2) In the error path of mxt_initialize(). 3) Just after a firmware update, when a new object table is about to be read. For cases 2 & 3, the driver is not immediately unloaded, so this patch refactors these cases to use a common cleanup function. It also refactors the mxt_initialize error paths to ensure that this cleanup happens. Note: mxt_update_fw_store() does not handle errors during mxt_initialize(). A proposed fix for this is in a subsequent patchset. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Update the debug message: * print inidividual status bits * print the pressure value * use '%u' for unsigned quantities Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Instead of carrying around per-finger state in the driver instance, just report each finger as it arrives to the input layer, and let the input layer (evdev) hold the event state (which it does anyway). Note: this driver does not really do MT-B properly. Each input report (a group of input events followed by a SYN_REPORT) only contains data for a single contact. When multiple fingers are present on a device, each is properly reported in its own MT_SLOT. However, there is only ever one MT_SLOT per SYN_REPORT. This is fixed in a subsequent patch. This patch was tested with an mXT224E. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Make firmware and hardware version strings available to userspace. This is useful, for example, to allow a userspace program to implement a firwmare update policy. Change-Id: I1eddb4bbf5f3f9ae6947a8528598973ddead18cf Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Print unsigned values as '%u'. Also, parse and print the firmware version in its canonical format, as suggested by Nick Dyer. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Reading the whole info block in one i2c transaction speeds up driver probe significantly, especially on slower i2c busses. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Write each object using a single bulk i2c write transfer. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Reviewed-by: NJoonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
The i2c bus requires 4 bytes to do a 1-byte write (1 byte i2c address + 2 byte offset + 1 byte data). By taking a length with writes, the driver can amortize transaction overhead by performing larger transactions where appropriate. This patch just sets up the new API. Later patches refactor writes to take advantage of the larger transactions. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
The i2c layer can report a variety of errors, including -ENXIO for an i2c NAK. Instead of treating them all as -EIO, pass the actual i2c layer error up to the caller. However, still report as -EIO the unlikely case that a transaction was partially completed, and no error message was returned from i2c_*(). Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
For objects with multiple instances, dump them all, prepending each with its "Instance #". [rydberg@euromail.se: break out mxt_show_instance()] Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Conserve limited (PAGE_SIZE) sysfs output buffer space by only showing readable objects and not printing the object's index, which is not useful to userspace. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Read each object in a single i2c transaction instead of byte-by-byte Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Using scnprintf() is a cleaner way to ensure that we don't overwrite the PAGE_SIZE sysfs output buffer. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
T5 is the message processor object. Reading it will only have two outcomes, neither of which is particularly useful: 1) the message count decrements, and a valid message will be lost 2) an invalid message will be read (reportid == 0xff) Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
If sysfs entry creation fails, the driver is still usable, so don't just abort probe. Just warn and continue. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
Hopefully this new code path will never be used, but better safe than sorry... Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
The atmel_mxt_ts driver can support multiple devices simultaneously. Use the i2c_client name instead of the driver name when requesting an interrupt to make the different interrupts distinguishable in /proc/interrupts and top. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Daniel Kurtz 提交于
This allows userspace to more easily distinguish which bus a particular atmel_mxt_ts device is attached to. The resulting phys will be something like: i2c-1-0067/input0 Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
- 11 5月, 2012 5 次提交
-
-
由 Daniel Kurtz 提交于
Helps ensure all bytes for a single message together in the system log. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Reviewed-by: NJoonyoung Shim <jy0922.shim@samsung.com> Acked-by: NNick Dyer <nick.dyer@itdev.co.uk> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
atmel_mxt devices will send a checksum byte at the end of a message if the MSB of the object address is set. However, since this driver does not set this bit, the checksum byte isn't actually sent, so don't even try to read it. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Don't allow writing past the length of an object. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Restrict permissions on the update_fw sysfs entry to read only for root only. Also, update object permission to use a macro S_IRUGO macro instead of hard coded 0444. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Reviewed-by: NJoonyoung Shim <jy0922.shim@samsung.com> Acked-by: NNick Dyer <nick.dyer@itdev.co.uk> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Simple cleanup to use newer PM APIs. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Reviewed-by: NJoonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 17 3月, 2012 1 次提交
-
-
由 Axel Lin 提交于
This patch converts the drivers in drivers/input/* to use the module_i2c_driver() macro which makes the code smaller and a bit simpler. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 07 10月, 2011 1 次提交
-
-
由 Daniel Kurtz 提交于
Sysfs attribute show methods are always passed a buffer of length PAGE_SIZE. To keep from overwriting this buffer and causing havoc, use snprintf() to guarantee we never write more than the buffer can hold. In addition, at least for my touchscreen, the number and size of objects was far too big to fit in a single 4K page. Therefore, this patch also trims some redundant framing text to leave more room for actual data. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NNick Dyer <nick.dyer@itdev.co.uk> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 17 8月, 2011 1 次提交
-
-
由 Yufeng Shen 提交于
Atmel mxt1386 touch controller has the touch pressure information so let's report it to the user space. [dtor@mail.ru: added ABS_RESSURE reporting for ST emulation.] Signed-off-by: NYufeng Shen <miletus@chromium.org> Acked-by: NWanlong Gao <gaowanlong@cn.fujitsu.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 04 7月, 2011 1 次提交
-
-
由 Iiro Valkonen 提交于
Handle the objects with multiple instances correctly when the configuration data is loaded. Signed-off-by: NIiro Valkonen <iiro.valkonen@atmel.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-