- 22 Sep, 2014 5 commits
-
-
Greg Kroah-Hartman authored
We check the type of the message now. Start to check the size of the payload to match the size of the message type. Still more work to do needed here. Also "hooked up" the hotplug message, but doesn't call anything as the core doesn't implement that yet...
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
Started documenting the gbuf and how a greybus driver and a host controller driver needs to interact with it, and the rest of the greybus system. It's crude documentation, but better than nothing for now...
-
- 20 Sep, 2014 2 commits
-
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
The gbuf sizes are 4k (i.e. PAGE_SIZE) and svc interrupt urb is 2k
-
- 19 Sep, 2014 3 commits
-
-
Matt Porter authored
The Greybus spec was updated to have major=0 and minor=1 so update this in the code. Signed-off-by: Matt Porter <mporter@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Matt Porter authored
The Greybus spec has been updated to improve the efficiency of the version major/minor information that had been previously carried in every SVC message header. The version major/minor is now provided as part of the handshake function. Update the SVC msg header and handshake function payload definitions and move the version major/minor validation into the SVC handshake handling routine. Signed-off-by: Matt Porter <mporter@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Matt Porter authored
The Greybus spec has been updated to clarify some of the original intent of the SVC message definition. The svc_msg_header was: struct svc_msg_header { __u8 function; __u8 message_type; ... } and is now struct svc_msg_header { __u8 function_id; __u8 message_type; ... } to match the spec. The function_id carries enum svc_function_id values and message_type is now clarified to be a session layer level field that is simply "data" or "error". Change all references of function type to function id. For now, don't parse the message_type field but add the two allowable svc_msg_type enums. Signed-off-by: Matt Porter <mporter@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
- 14 Sep, 2014 8 commits
-
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
Have only tested USB device add/remove, the urbs seem to all be queued up, no data has been tested to flow through yet. Odds are the hc interface will have to change, but this is a good first start to build on.
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
Don't register the tty_gb_driver, the gb core is not ready for the for ES1 devices.
-
- 13 Sep, 2014 9 commits
-
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
Add a send_svc_msg() callback to the host driver. hook up ES1 driver to send control USB messages as it's SVC transport.
-
- 11 Sep, 2014 3 commits
-
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
Thanks to Marti for pointing out the code didn't build properly on 3.10. Added kernel_ver.h to handle any api mis-matches between the code and older kernel versions.
-
Greg Kroah-Hartman authored
-
- 10 Sep, 2014 1 commit
-
-
Greg Kroah-Hartman authored
Based on a patch from Alex Elder <elder@linaro.org>. Alex's original description: Every descriptor in a manifest is interpreted by greybus_new_module(). We call a function to do initialization based on descriptor's type. Since we know the type of the descriptor at that point, we can pass to the called function the actual sub-type it needs (i.e., the union member associated with the type). This allows those functions to be slightly simplified, and more focused. Also change some size variables to have size_t type, and simplify a few spots further by using sizeof(object) in place of sizeof(type).
-
- 09 Sep, 2014 9 commits
-
-
Alex Elder authored
The type-specific "create" routines that get called while parsing the descriptor entries in the module manifest assume the size they are provided is the size of their data portion only--not including the descriptor header. Compute this value in greybus_new_module(), and pass it to those functions rather than the full descriptor size. Move a few declarations to the innermost block that uses them. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alex Elder authored
When interpreting a manifest descriptor header, don't assume there is enough space in the buffer to hold a descriptor header. Also, verify the remaining buffer is at least as big as the reported descriptor size. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alex Elder authored
The type field in a manifest descriptor header is in little endian format. Make sure we interpret it that way. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alex Elder authored
As soon as we've called device_initialize() we're required to call put_device() in order to drop our reference to the device structure. This was missed in the error path in greybus_new_module(). Fix that. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alex Elder authored
Define a structure that describes the entire greybus manifest. Adjust greybus_new_module() to use that, making it explicit that it's not just a header that's being provided to that function. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alex Elder authored
We agreed to rename a few things to improve clarity. This patch implements one of those changes. The blob of data that describes what's relevant to Greybus within an Ara module will now be called the "module manifest." In addition, in the context of Greybus we'll also be calling what's in an Ara module a "module" or "Greybus module." So this patch renames some structures and updates some comments. It also renames "greybus_desc.h" to be "greybus_manifest.h", and renames greybus_new_device() to be greybus_new_module(). Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
Set up device properly and start up the SVC interrupt in endpoint for processing data
-
Greg Kroah-Hartman authored
Interrupt IN endpoint added.
-