greybus: define gb_connection_err()
authorAlex Elder <elder@linaro.org>
Fri, 3 Oct 2014 20:05:22 +0000 (15:05 -0500)
committerGreg Kroah-Hartman <greg@kroah.com>
Sat, 4 Oct 2014 02:02:22 +0000 (19:02 -0700)
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>
drivers/staging/greybus/connection.c
drivers/staging/greybus/connection.h

index c50472d..80ebe1d 100644 (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);
+}
index f2588a7..61e9435 100644 (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 */