enum greybus_descriptor_type {
GREYBUS_TYPE_INVALID = 0x0000,
- GREYBUS_TYPE_DEVICE_ID = 0x0001,
- GREYBUS_TYPE_SERIAL_NUMBER = 0x0002,
- GREYBUS_TYPE_DEVICE_STRING = 0x0003,
- GREYBUS_TYPE_CPORT = 0x0004,
- GREYBUS_TYPE_FUNCTION = 0x0005,
+ GREYBUS_TYPE_FUNCTION = 0x0001,
+ GREYBUS_TYPE_MODULE_ID = 0x0002,
+ GREYBUS_TYPE_SERIAL_NUMBER = 0x0003,
+ GREYBUS_TYPE_DEVICE_STRING = 0x0004,
+ GREYBUS_TYPE_CPORT = 0x0005,
};
struct greybus_descriptor_header {
__le16 type; /* enum greybus_descriptor_type */
};
-
-struct greybus_descriptor_deviceid {
- __le16 vendor;
- __le16 product;
- __le16 version;
- __u8 vendor_stringid;
- __u8 product_stringid;
-};
-
-struct greybus_descriptor_serial_number {
- __le64 serial_number;
-};
-
-struct greybus_descriptor_string {
- __u8 id;
- __le16 length;
- __u8 string[0];
-};
-
-struct greybus_descriptor_cport {
- __le16 number;
- __u8 speed; // FIXME
- __u8 reserved;
-};
-
enum greybus_function_class {
GREYBUS_FUNCTION_CONTROL = 0x00,
GREYBUS_FUNCTION_USB = 0x01,
__u8 reserved;
};
+struct greybus_descriptor_module_id {
+ __le16 vendor;
+ __le16 product;
+ __le16 version;
+ __u8 vendor_stringid;
+ __u8 product_stringid;
+};
+
+struct greybus_descriptor_serial_number {
+ __le64 serial_number;
+};
+
+struct greybus_descriptor_string {
+ __le16 length;
+ __u8 id;
+ __u8 string[0];
+};
+
+struct greybus_descriptor_cport {
+ __le16 number;
+ __le16 size;
+ __u8 speed; // FIXME
+ __u8 reserved;
+};
+
struct greybus_msg_descriptor {
struct greybus_descriptor_header header;
union {
- struct greybus_descriptor_deviceid device_id;
+ struct greybus_descriptor_function function;
+ struct greybus_descriptor_module_id module_id;
struct greybus_descriptor_serial_number serial_number;
struct greybus_descriptor_string string;
struct greybus_descriptor_cport cport;
- struct greybus_descriptor_function function;
};
};
};
struct svc_function_unipro_set_route {
- __u8 source_device_id;
+ __u8 source_module_id;
__u8 source_cport_id;
- __u8 destination_device_id;
+ __u8 destination_module_id;
__u8 destination_cport_id;
};
struct svc_function_unipro_link_up {
- __u8 device_id;
+ __u8 module_id;
};
enum svc_function_management_event {
struct svc_function_hotplug {
__u8 hotplug_event; /* enum svc_function_hotplug_event */
- __u8 device_id;
+ __u8 module_id;
};
enum svc_function_ddb_type {
};
struct svc_function_ddb_get {
- __u8 device_id;
+ __u8 module_id;
__u8 message_id;
};
struct svc_function_ddb_response {
- __u8 device_id;
+ __u8 module_id;
__u8 message_id;
__le16 descriptor_length;
__u8 ddb[0];
};
struct svc_function_power_battery_status_request {
- __u8 epm_command_type; /* enum svc_function_epm_command_type */
- __u8 device_id;
};
struct svc_function_power {
__u8 power_type; /* enum svc_function_power_type */
+ __u8 module_id;
union {
struct svc_function_power_battery_status status;
struct svc_function_power_battery_status_request request;
struct svc_function_epm {
__u8 epm_command_type; /* enum svc_function_epm_command_type */
- __u8 device_id;
+ __u8 module_id;
};
enum svc_function_suspend_command_type {
struct svc_function_suspend {
__u8 suspend_command_type; /* enum function_suspend_command_type */
- __u8 device_id;
+ __u8 module_id;
};
struct svc_msg {