greybus: interface: add gb_interface_find()

Add support for getting a struct gb_interface from an
Interface ID.

Signed-off-by: Matt Porter <mporter@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
This commit is contained in:
Matt Porter 2014-10-21 22:43:30 -04:00 committed by Greg Kroah-Hartman
parent 6271b5bac9
commit 1a4c013a44
2 changed files with 15 additions and 0 deletions

View File

@ -60,6 +60,18 @@ void gb_interface_destroy(struct gb_interface *interface)
kfree(interface);
}
struct gb_interface *gb_interface_find(struct gb_module *module,
u8 interface_id)
{
struct gb_interface *interface;
list_for_each_entry(interface, &module->interfaces, links)
if (interface->id == interface_id)
return interface;
return NULL;
}
int gb_interface_connections_init(struct gb_interface *interface)
{
struct gb_connection *connection;

View File

@ -14,6 +14,7 @@
struct gb_interface {
struct gb_module *gmod;
u8 id;
u8 device_id;
struct list_head connections;
struct list_head links; /* module->interfaces */
@ -22,6 +23,8 @@ struct gb_interface {
struct gb_interface *gb_interface_create(struct gb_module *gmod, u8 module_id);
void gb_interface_destroy(struct gb_interface *interface);
struct gb_interface *gb_interface_find(struct gb_module *gmod, u8 interface_id);
int gb_interface_connections_init(struct gb_interface *interface);
void gb_interface_connections_exit(struct gb_interface *interface);