Commit ee3ecf80 authored by Alex Elder's avatar Alex Elder Committed by Greg Kroah-Hartman

greybus: endo: pass endo_id to gb_endo_create()

We are going to want to defer creating the endo until we receive a
probe operation from the SVC, which will supply the endo id.  Change
gb_endo_create() so it passes the endo_id value as an argument.
Signed-off-by: default avatarAlex Elder <elder@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent a702a09f
...@@ -177,6 +177,7 @@ struct greybus_host_device *greybus_create_hd(struct greybus_host_driver *driver ...@@ -177,6 +177,7 @@ struct greybus_host_device *greybus_create_hd(struct greybus_host_driver *driver
size_t buffer_size_max) size_t buffer_size_max)
{ {
struct greybus_host_device *hd; struct greybus_host_device *hd;
u16 endo_id = 0x4755; // FIXME - get endo "ID" from the SVC
/* /*
* Validate that the driver implements all of the callbacks * Validate that the driver implements all of the callbacks
...@@ -210,7 +211,7 @@ struct greybus_host_device *greybus_create_hd(struct greybus_host_driver *driver ...@@ -210,7 +211,7 @@ struct greybus_host_device *greybus_create_hd(struct greybus_host_driver *driver
ida_init(&hd->cport_id_map); ida_init(&hd->cport_id_map);
hd->buffer_size_max = buffer_size_max; hd->buffer_size_max = buffer_size_max;
hd->endo = gb_endo_create(hd); hd->endo = gb_endo_create(hd, endo_id);
if (!hd->endo) { if (!hd->endo) {
greybus_remove_hd(hd); greybus_remove_hd(hd);
return NULL; return NULL;
......
...@@ -423,11 +423,10 @@ static int gb_endo_register(struct greybus_host_device *hd, ...@@ -423,11 +423,10 @@ static int gb_endo_register(struct greybus_host_device *hd,
return retval; return retval;
} }
struct gb_endo *gb_endo_create(struct greybus_host_device *hd) struct gb_endo *gb_endo_create(struct greybus_host_device *hd, u16 endo_id)
{ {
struct gb_endo *endo; struct gb_endo *endo;
int retval; int retval;
u16 endo_id = 0x4755; // FIXME - get endo "ID" from the SVC
endo = kzalloc(sizeof(*endo), GFP_KERNEL); endo = kzalloc(sizeof(*endo), GFP_KERNEL);
if (!endo) if (!endo)
......
...@@ -47,7 +47,7 @@ struct gb_endo { ...@@ -47,7 +47,7 @@ struct gb_endo {
/* Greybus "private" definitions */ /* Greybus "private" definitions */
struct greybus_host_device; struct greybus_host_device;
struct gb_endo *gb_endo_create(struct greybus_host_device *hd); struct gb_endo *gb_endo_create(struct greybus_host_device *hd, u16 endo_id);
void gb_endo_remove(struct gb_endo *endo); void gb_endo_remove(struct gb_endo *endo);
u8 endo_get_module_id(struct gb_endo *endo, u8 interface_id); u8 endo_get_module_id(struct gb_endo *endo, u8 interface_id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment