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>
{
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);
+}
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 */