greybus: define gb_connection_err()

Define a function that prints error information about a Greybus
connection in a standard format.  This adopts the convention that
[M:I:C] represents the "path" the connection represents--specifying
the module id, the interface number on that module, and the
connection id on that interface.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
This commit is contained in:
Alex Elder 2014-10-03 15:05:22 -05:00 committed by Greg Kroah-Hartman
parent 8a30672a52
commit eeeed42250
2 changed files with 21 additions and 0 deletions

View file

@ -116,3 +116,21 @@ u16 gb_connection_op_id(struct gb_connection *connection)
{
return (u16)(atomic_inc_return(&connection->op_cycle) % U16_MAX);
}
void gb_connection_err(struct gb_connection *connection, const char *fmt, ...)
{
struct va_format vaf;
va_list args;
va_start(args, fmt);
vaf.fmt = fmt;
vaf.va = &args;
pr_err("greybus: [%hhu:%hhu:%hu]: %pV\n",
connection->interface->gmod->module_id,
connection->interface->id,
connection->interface_cport_id, &vaf);
va_end(args);
}

View file

@ -35,4 +35,7 @@ void gb_connection_destroy(struct gb_connection *connection);
u16 gb_connection_op_id(struct gb_connection *connection);
__printf(2, 3)
void gb_connection_err(struct gb_connection *connection, const char *fmt, ...);
#endif /* __CONNECTION_H */