summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/greybus/interface.h6
-rw-r--r--drivers/staging/greybus/svc.c13
2 files changed, 11 insertions, 8 deletions
diff --git a/drivers/staging/greybus/interface.h b/drivers/staging/greybus/interface.h
index e60a3705494e..38210ad4e631 100644
--- a/drivers/staging/greybus/interface.h
+++ b/drivers/staging/greybus/interface.h
@@ -28,6 +28,12 @@ struct gb_interface {
char *product_string;
u64 unique_id;
+ /* Information taken from the hotplug event */
+ u32 unipro_mfg_id;
+ u32 unipro_prod_id;
+ u32 ara_vend_id;
+ u32 ara_prod_id;
+
struct gb_module *module;
struct greybus_host_device *hd;
};
diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c
index 025b2bad9428..73e7947fadba 100644
--- a/drivers/staging/greybus/svc.c
+++ b/drivers/staging/greybus/svc.c
@@ -232,10 +232,6 @@ static int gb_svc_intf_hotplug_recv(struct gb_operation *op)
struct device *dev = &op->connection->dev;
struct gb_interface *intf;
u8 intf_id, device_id;
- u32 unipro_mfg_id;
- u32 unipro_prod_id;
- u32 ara_vend_id;
- u32 ara_prod_id;
int ret;
if (request->payload_size < sizeof(*hotplug)) {
@@ -252,10 +248,6 @@ static int gb_svc_intf_hotplug_recv(struct gb_operation *op)
* XXX have the SVC get acknowledgement before we proceed.
*/
intf_id = hotplug->intf_id;
- unipro_mfg_id = le32_to_cpu(hotplug->data.unipro_mfg_id);
- unipro_prod_id = le32_to_cpu(hotplug->data.unipro_prod_id);
- ara_vend_id = le32_to_cpu(hotplug->data.ara_vend_id);
- ara_prod_id = le32_to_cpu(hotplug->data.ara_prod_id);
intf = gb_interface_create(hd, intf_id);
if (!intf) {
@@ -264,6 +256,11 @@ static int gb_svc_intf_hotplug_recv(struct gb_operation *op)
return -EINVAL;
}
+ intf->unipro_mfg_id = le32_to_cpu(hotplug->data.unipro_mfg_id);
+ intf->unipro_prod_id = le32_to_cpu(hotplug->data.unipro_prod_id);
+ intf->ara_vend_id = le32_to_cpu(hotplug->data.ara_vend_id);
+ intf->ara_prod_id = le32_to_cpu(hotplug->data.ara_prod_id);
+
/*
* Create a device id for the interface:
* - device id 0 (GB_DEVICE_ID_SVC) belongs to the SVC