GREYBUS_TYPE_BUNDLE = 0x03,
GREYBUS_TYPE_CPORT = 0x04,
GREYBUS_TYPE_CLASS = 0x05,
- GREYBUS_TYPE_MODULE = 0x06,
};
enum greybus_protocol {
GREYBUS_CLASS_VENDOR = 0xff,
};
-/*
- * A module descriptor describes information about a module as a
- * whole, *not* the functions within it.
- */
-struct greybus_descriptor_module {
- __le16 vendor;
- __le16 product;
- __le16 version; // TODO - remove after Dec demo.
- __u8 vendor_stringid;
- __u8 product_stringid;
- __le64 unique_id;
-};
-
/*
* The string in a string descriptor is not NUL-terminated. The
* size of the descriptor will be rounded up to a multiple of 4
struct greybus_descriptor {
struct greybus_descriptor_header header;
union {
- struct greybus_descriptor_module module;
struct greybus_descriptor_string string;
struct greybus_descriptor_interface interface;
struct greybus_descriptor_bundle bundle;
switch(type) {
case GREYBUS_TYPE_INVALID:
return "invalid";
- case GREYBUS_TYPE_MODULE:
- return "module";
case GREYBUS_TYPE_STRING:
return "string";
case GREYBUS_TYPE_INTERFACE:
expected_size = sizeof(*desc_header);
switch (desc_header->type) {
- case GREYBUS_TYPE_MODULE:
- expected_size += sizeof(struct greybus_descriptor_module);
- break;
case GREYBUS_TYPE_STRING:
expected_size += sizeof(struct greybus_descriptor_string);
expected_size += desc->string.length;