aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/nvec
AgeCommit message (Collapse)Author
2011-11-26staging: nvec: add device tree supportMarc Dietrich
This adds device tree support to the nvec driver. By using this method it is no longer necessary to specify platform data through a board file. Signed-off-by: Marc Dietrich <marvin24@gmx.de> Acked-by: Stephen Warren <swarren@nvidia.com> Cc: Julian Andres Klode <jak@jak-linux.org> Cc: Grant Likely <grant.likely@secretlab.ca> Acked-by: Olof Johansson <olof@lixom.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-17staging/nvec: fix compilation error in nvec.cMarc Dietrich
This fixes a compilation error in nvec.c due to the missing module.h include. Signed-off-by: Marc Dietrich <marvin24@gmx.de> Cc: Julian Andres Klode <jak@jak-linux.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: send suspend messages synchronouslyMarc Dietrich
The suspend commands need to be sent using the synchronous method, otherwise the power gets disabled before the messages are transferred. Signed-off-by: Marc Dietrich <marvin24@gmx.de> [jak@jak-linux.org: Rewrote commit message] Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Add a udelay(100) to nvec_interruptJulian Andres Klode
As the comment indicates, adding that udelay seems to improve the stability of the communication, although it is not known why this is the case. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Add missing includes and reorder themJulian Andres Klode
Add the includes that are currently missing in nvec.h and nvec.c and reorder them alphabetically. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Add battery quirk to ignore incomplete responsesJulian Andres Klode
The nvec_power system polls nvec for battery information. In some cases, that part seems to be overloaded and unable to respond fast in which case it sends an incomplete response. We need to mark the transfer as completed, though, in order to prevent endless retries which can kill nvec. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: ps2: Always sample 4 bytes instead of just 1Julian Andres Klode
Get 4 bytes of data from nvec at once instead of just a single byte. This makes the driver more similar to nvidias and might improve reliability. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Return error in PS2 driver if write failsJulian Andres Klode
Return the return value of nvec_write_async() in the methods returning an int. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Reject incomplete messagesJulian Andres Klode
Reject incomplete messages, causing the request to be transmitted again. This should fix various problems out there. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Handle filled up RX buffersJulian Andres Klode
If no RX buffer is available in state 1, jump to state 0 again. This will produce an incredible amount of warnings, but it is not supposed to happen anyway. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Allow TX buffers only in the upper 75% of the poolJulian Andres Klode
Allow TX buffers to be allocated only in the upper 75% of the pool to avoid a completely filled buffer preventing the driver from processing responses. This also improves performance, as RX allocations do not require checking buffers allocated for TX unless there are more than 16 incoming messages -- which is highly unlikely. An earlier version used the lower 75% for TX messages, but that was considered to be not that effective due to the overlaps of RX and TX buffers mentioned above. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Export nvec_msg_free() to clientsJulian Andres Klode
Client code wishing to make use of nvec_write_sync() must have a way to free the returned pointer, otherwise we run out of poool memory fairly soon. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Move implementation-only macros out of the headerJulian Andres Klode
Those macros are needed only for implementation purposes and do not have any use for other code wishing to use nvec. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Document public and private APIJulian Andres Klode
Add kernel-doc comments describing the functions and structs we currently have. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Have nvec_write_async() return -ENOMEM on OOMJulian Andres Klode
Change nvec_write_async() to return an integer, 0 by default, a negative error on failure. Change nvec_write_sync() to check the return value and abort if it is negative. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Enable the capslock LED in the keyboard driverJulian Andres Klode
When the caps lock key is pressed, toggle the associated LED. According to Nvidia code, we should send 0x01 where we sent 0x07, but this does not appear to work correctly on the AC100. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Add myself to copyright and authors listJulian Andres Klode
Forgotten in the last commit(s) which contained the copyrightable material, so let's add it now. I believe that only my nvec.c contributions are copyrightable, nvec.h is just interface naming, so does not deserve that yet. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Do not print free message for tx_scratchJulian Andres Klode
The scratch area is not part of the pool and thus gets no allocation message. Printing a free message would be confusing, and the pointer subtraction would be undefined behavior. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Rewrite the interrupt handlerJulian Andres Klode
Rewrite the interrupt handler to use a state machine similar to that found in the various kernels for the Advent Vega. This also changes the code to use the new functions introduced in the previous commits. This also merges the rewrite sent in August 2011 by Marc Dietrich, and thus also includes code by him. His original patch can be found on the mailing list. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Add is_event() and size() functions for nvec_msgJulian Andres Klode
Add functions nvec_msg_is_event() and nvec_msg_size() which do just what the say: tell whether the message is an event, and getting the size of the message. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Introduce nvec_gpio_set_value()Julian Andres Klode
Introduce nvec_gpio_set_value(), which works like gpio_set_value(), but also creates a debugging message, if that's enabled. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Introduce new internal API for msg alloc/freeJulian Andres Klode
Introduce two new functions nvec_msg_alloc() and nvec_msg_free() that allocate and free message buffers from the internal pool of messages. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: fix Kconfig dependenciesMarc Dietrich
This patch adds config dependencies for the NVEC keyboard, mouse, and power drivers. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: update ToDo listMarc Dietrich
Mostly small stuff only. Hopefully completed during the next release cycle. Signed-off-by: Marc Dietrich <marvin24@gmx.de> [jak@jak-linux.org: Removed some items no longer valid] Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: add LED supportIlya Petrov
This patch adds support for LEDs connect to a nvec. A single brightness property is exported to sysfs. LEDs are selected via bitfields in the brightness value. Also the blinking behavior is selected through this method. Vendors may use different values for different HW designs. Signed-off-by: Ilya Petrov <ilya.muromec@gmail.com> Signed-off-by: Marc Dietrich <marvin24@gmx.de> [jak@jak-linux.org: Fixed checkpatch warnings] Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: fix unmute of speakersMarc Dietrich
The ec command used was for muting, not unmuting. Signed-off-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: rework the nvec slave initMarc Dietrich
Rework the tegra slave controller init to look more like in tegra-i2c.c. This makes the nvec init reliable. Also add de-init of the slave to be used during suspend. Signed-off-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Use print_hex_dump() where appropriateMarc Dietrich
Split of the previous patch and the next by Marc, as that patch is not strictly a coding style fix only. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: coding style fixes / add copyright noticeMarc Dietrich
This patch fixes coding style and adds copyright notices. Signed-off-by: Marc Dietrich <marvin24@gmx.de> [jak@jak-linux.org: Merge later cleanup into that patch] Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29staging: nvec: Include missing headersJulian Andres Klode
Those headers were apparently included by other headers previously, but are not anymore. Signed-off-by: Julian Andres Klode <jak@jak-linux.org> Acked-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-08-24staging: nvec: convert to use platform register and mfdcellsMarc Dietrich
This patch converts the nvec to use mfd cells and improves the registration of the platform driver. The child drivers are also converted to use mfd cells and platform registration. Signed-off-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-08-23Staging: nvec: fixes coding style issues in nvec_kbd.cColin Brophy
This patches nvec_kbd.c to the file that fixes up errors found by the checkpath.pl tool. Signed-off-by: Colin Brophy <colin@brophys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-08-02Staging: Add clk API note to nvec/TODORussell King
Add a note about the abuse of the clk API to the nvec/TODO list. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-06-20treewide: remove duplicate includesVitaliy Ivanov
Many stupid corrections of duplicated includes based on the output of scripts/checkincludes.pl. Signed-off-by: Vitaliy Ivanov <vitalivanov@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-05-19Staging: initial version of the nvec driverMarc Dietrich
This is an implementation of a NVidia compliant embedded controller protocol driver. It is used on some ARM-Tegra boards for device communication. Signed-off-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>