Commit 729b260a authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman

greybus: connection: add name field

Add a name field to connections that can be used in log messages.

A connection always belongs to a host-device (bus) and can be uniquely
identified by its host-device cport id, but include remote interface and
cport id nonetheless on the following format:

	<hd_cport_id>/<intf_id>:<cport_id>

The remote interface and cport id will be zero for static connections.
Signed-off-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 4ec1574a
...@@ -95,6 +95,21 @@ int svc_update_connection(struct gb_interface *intf, ...@@ -95,6 +95,21 @@ int svc_update_connection(struct gb_interface *intf,
return 0; return 0;
} }
static void gb_connection_init_name(struct gb_connection *connection)
{
u16 hd_cport_id = connection->hd_cport_id;
u16 cport_id = 0;
u8 intf_id = 0;
if (connection->intf) {
intf_id = connection->intf->interface_id;
cport_id = connection->intf_cport_id;
}
snprintf(connection->name, sizeof(connection->name),
"%hu/%hhu:%hu", hd_cport_id, intf_id, cport_id);
}
/* /*
* gb_connection_create() - create a Greybus connection * gb_connection_create() - create a Greybus connection
* @hd: host device of the connection * @hd: host device of the connection
...@@ -179,6 +194,8 @@ gb_connection_create(struct gb_host_device *hd, int hd_cport_id, ...@@ -179,6 +194,8 @@ gb_connection_create(struct gb_host_device *hd, int hd_cport_id,
kref_init(&connection->kref); kref_init(&connection->kref);
gb_connection_init_name(connection);
spin_lock_irq(&gb_connections_lock); spin_lock_irq(&gb_connections_lock);
list_add(&connection->hd_links, &hd->connections); list_add(&connection->hd_links, &hd->connections);
......
...@@ -43,6 +43,7 @@ struct gb_connection { ...@@ -43,6 +43,7 @@ struct gb_connection {
enum gb_connection_state state; enum gb_connection_state state;
struct list_head operations; struct list_head operations;
char name[16];
struct workqueue_struct *wq; struct workqueue_struct *wq;
atomic_t op_cycle; atomic_t op_cycle;
......
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