greybus: start improving manifest parsing
authorAlex Elder <elder@linaro.org>
Thu, 2 Oct 2014 02:54:16 +0000 (21:54 -0500)
committerGreg Kroah-Hartman <greg@kroah.com>
Fri, 3 Oct 2014 04:18:41 +0000 (21:18 -0700)
commitb09c94a1b71c82385ffa5f3c913d7d6e14eaea3d
tree3ce7862425665b787d6c57864aa97447ea73b104
parente88afa5811c741facff3fa695d340133ac8a1be1
greybus: start improving manifest parsing

Currently the module manifest parsing code is sort of representative
only and is not really very useful.

This patch begins doing "real" parsing of the module manifest.
It scans the module manifest to identify the descriptors it holds.
It then verifies there's only one module descriptor found, and
initializes new some fields in the gb_module structure based on what
it contains (converting what's found to native byte order).
Note that if anything unexpected is found or other errors occur when
parsing the manifest, the parse fails.

Because we now save this converted information when it's parsed we
no longer have a greybus_descriptor_module struct within a struct
gb_module.  And because we've already converted these values, we can
do a little less work displaying values in sysfs.  (We also now show
vendor, product, and version values in the right byte order.)  This
eliminates the need for greybus_string(), so get rid of it.

It also slightly simplifies the greybus module matching code.

Move some existing parsing code into a new file, "manifest.c".

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
drivers/staging/greybus/Makefile
drivers/staging/greybus/core.c
drivers/staging/greybus/greybus.h
drivers/staging/greybus/manifest.c [new file with mode: 0644]
drivers/staging/greybus/manifest.h [new file with mode: 0644]
drivers/staging/greybus/module.c
drivers/staging/greybus/module.h
drivers/staging/greybus/sysfs.c