summaryrefslogtreecommitdiffstats
path: root/include/driver.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/driver.h')
-rw-r--r--include/driver.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/driver.h b/include/driver.h
index d4e7c132c9..45097a3c05 100644
--- a/include/driver.h
+++ b/include/driver.h
@@ -263,5 +263,35 @@ static inline int dev_close_default(struct device_d *dev, struct filep *f)
return 0;
}
+/* debugging and troubleshooting/diagnostic helpers. */
+extern const char *dev_id(const struct device_d *dev);
+
+#define dev_printf(dev, format, arg...) \
+ printf("%s@%s: " format , dev->name , \
+ dev_id(dev) , ## arg)
+
+#define dev_emerg(dev, format, arg...) \
+ dev_printf(dev , format , ## arg)
+#define dev_alert(dev, format, arg...) \
+ dev_printf(dev , format , ## arg)
+#define dev_crit(dev, format, arg...) \
+ dev_printf(dev , format , ## arg)
+#define dev_err(dev, format, arg...) \
+ dev_printf(dev , format , ## arg)
+#define dev_warn(dev, format, arg...) \
+ dev_printf(dev , format , ## arg)
+#define dev_notice(dev, format, arg...) \
+ dev_printf(dev , format , ## arg)
+#define dev_info(dev, format, arg...) \
+ dev_printf(dev , format , ## arg)
+
+#if defined(DEBUG)
+#define dev_dbg(dev, format, arg...) \
+ dev_printf(dev , format , ## arg)
+#else
+#define dev_dbg(dev, format, arg...) \
+ ({ if (0) dev_printf(dev, format, ##arg); 0; })
+#endif
+
#endif /* DRIVER_H */