From: Matt Porter <mporter@linaro.org> Date: Wed, 22 Oct 2014 02:43:29 +0000 (-0400) Subject: greybus: module: add gb_module_find() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=6271b5bac99c2d06543adbdbecb9157d77765831;p=linux.git greybus: module: add gb_module_find() Add support for getting a struct gb_module from a Module ID. Signed-off-by: Matt Porter <mporter@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> --- diff --git a/drivers/staging/greybus/module.c b/drivers/staging/greybus/module.c index 2883947fb6308..50139f41fe208 100644 --- a/drivers/staging/greybus/module.c +++ b/drivers/staging/greybus/module.c @@ -107,6 +107,17 @@ void gb_module_destroy(struct gb_module *gmod) kfree(gmod); } +struct gb_module *gb_module_find(struct greybus_host_device *hd, u8 module_id) +{ + struct gb_module *module; + + list_for_each_entry(module, &hd->modules, links) + if (module->module_id == module_id) + return module; + + return NULL; +} + void gb_module_interfaces_init(struct gb_module *gmod) { struct gb_interface *interface; diff --git a/drivers/staging/greybus/module.h b/drivers/staging/greybus/module.h index 2c6707d6d85fa..82def46e5ab14 100644 --- a/drivers/staging/greybus/module.h +++ b/drivers/staging/greybus/module.h @@ -52,6 +52,9 @@ struct gb_module *gb_module_create(struct greybus_host_device *hd, u8 module_id); void gb_module_destroy(struct gb_module *module); +struct gb_module *gb_module_find(struct greybus_host_device *hd, + u8 module_id); + void gb_module_interfaces_init(struct gb_module *gmod); #endif /* __MODULE_H */