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: Alex Elder <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
a702a09f20
commit
ee3ecf8028
@ -177,6 +177,7 @@ struct greybus_host_device *greybus_create_hd(struct greybus_host_driver *driver
|
||||
size_t buffer_size_max)
|
||||
{
|
||||
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
|
||||
@ -210,7 +211,7 @@ struct greybus_host_device *greybus_create_hd(struct greybus_host_driver *driver
|
||||
ida_init(&hd->cport_id_map);
|
||||
hd->buffer_size_max = buffer_size_max;
|
||||
|
||||
hd->endo = gb_endo_create(hd);
|
||||
hd->endo = gb_endo_create(hd, endo_id);
|
||||
if (!hd->endo) {
|
||||
greybus_remove_hd(hd);
|
||||
return NULL;
|
||||
|
@ -423,11 +423,10 @@ static int gb_endo_register(struct greybus_host_device *hd,
|
||||
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;
|
||||
int retval;
|
||||
u16 endo_id = 0x4755; // FIXME - get endo "ID" from the SVC
|
||||
|
||||
endo = kzalloc(sizeof(*endo), GFP_KERNEL);
|
||||
if (!endo)
|
||||
|
@ -47,7 +47,7 @@ struct gb_endo {
|
||||
/* Greybus "private" definitions */
|
||||
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);
|
||||
|
||||
u8 endo_get_module_id(struct gb_endo *endo, u8 interface_id);
|
||||
|
Loading…
x
Reference in New Issue
Block a user