summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-02-04 15:48:51 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-02-04 15:48:51 +0100
commit22e254480982a45b44b425a25f3262b72da4ed0d (patch)
tree83256d0ad6ccdfe0f368283b823b855dc5ad0b2e /include
parentdb63bd8e10abf033e0a49932e2319a76b0fa9c1b (diff)
parenta81c6a9f16db267aad65f13ced0e25b91cbca179 (diff)
downloadbarebox-22e254480982a45b44b425a25f3262b72da4ed0d.tar.gz
barebox-22e254480982a45b44b425a25f3262b72da4ed0d.tar.xz
Merge branch 'for-next/compile-log-level'
Conflicts: drivers/usb/host/ehci-hcd.c
Diffstat (limited to 'include')
-rw-r--r--include/common.h17
-rw-r--r--include/driver.h29
-rw-r--r--include/linux/mtd/mtd.h2
-rw-r--r--include/printk.h72
4 files changed, 74 insertions, 46 deletions
diff --git a/include/common.h b/include/common.h
index 2c707f730e..56347df2c4 100644
--- a/include/common.h
+++ b/include/common.h
@@ -29,6 +29,7 @@
#include <linux/kernel.h>
#include <linux/stddef.h>
#include <asm/common.h>
+#include <printk.h>
/*
* sanity check. The Linux Kernel defines only one of __LITTLE_ENDIAN and
@@ -48,22 +49,6 @@
#error "None of __LITTLE_ENDIAN and __BIG_ENDIAN are defined"
#endif
-#define pr_info(fmt, arg...) printf(fmt, ##arg)
-#define pr_notice(fmt, arg...) printf(fmt, ##arg)
-#define pr_err(fmt, arg...) printf(fmt, ##arg)
-#define pr_warning(fmt, arg...) printf(fmt, ##arg)
-#define pr_crit(fmt, arg...) printf(fmt, ##arg)
-#define pr_alert(fmt, arg...) printf(fmt, ##arg)
-#define pr_emerg(fmt, arg...) printf(fmt, ##arg)
-
-#ifdef DEBUG
-#define pr_debug(fmt, arg...) printf(fmt, ##arg)
-#else
-#define pr_debug(fmt, arg...) do {} while(0)
-#endif
-
-#define debug(fmt, arg...) pr_debug(fmt, ##arg)
-
#define BUG() do { \
printf("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__); \
panic("BUG!"); \
diff --git a/include/driver.h b/include/driver.h
index 7ad0374f81..31f5d69848 100644
--- a/include/driver.h
+++ b/include/driver.h
@@ -358,35 +358,6 @@ static inline int dev_close_default(struct device_d *dev, struct filep *f)
return 0;
}
-/* debugging and troubleshooting/diagnostic helpers. */
-
-int dev_printf(const struct device_d *dev, const char *format, ...)
- __attribute__ ((format(__printf__, 2, 3)));
-
-
-#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
-
struct bus_type {
char *name;
int (*match)(struct device_d *dev, struct driver_d *drv);
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
index be8ad71df4..cb8b3bcaef 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -265,7 +265,7 @@ int mtd_block_isbad(struct mtd_info *mtd, loff_t ofs);
#define MTD_DEBUG(n, args...) \
do { \
if (n <= CONFIG_MTD_DEBUG_VERBOSE) \
- printk(KERN_INFO args); \
+ pr_info( args); \
} while(0)
#else /* CONFIG_MTD_DEBUG */
#define MTD_DEBUG(n, args...) do { } while(0)
diff --git a/include/printk.h b/include/printk.h
new file mode 100644
index 0000000000..1d45616f54
--- /dev/null
+++ b/include/printk.h
@@ -0,0 +1,72 @@
+#ifndef __PRINTK_H
+#define __PRINTK_H
+
+#define MSG_EMERG 0 /* system is unusable */
+#define MSG_ALERT 1 /* action must be taken immediately */
+#define MSG_CRIT 2 /* critical conditions */
+#define MSG_ERR 3 /* error conditions */
+#define MSG_WARNING 4 /* warning conditions */
+#define MSG_NOTICE 5 /* normal but significant condition */
+#define MSG_INFO 6 /* informational */
+#define MSG_DEBUG 7 /* debug-level messages */
+
+#ifdef DEBUG
+#define LOGLEVEL MSG_DEBUG
+#else
+#define LOGLEVEL CONFIG_COMPILE_LOGLEVEL
+#endif
+
+/* debugging and troubleshooting/diagnostic helpers. */
+
+int dev_printf(const struct device_d *dev, const char *format, ...)
+ __attribute__ ((format(__printf__, 2, 3)));
+
+#define __dev_printf(level, dev, format, args...) \
+ ({ \
+ int ret = 0; \
+ if (level <= LOGLEVEL) \
+ ret = dev_printf(dev, format, ##args); \
+ ret; \
+ })
+
+
+#define dev_emerg(dev, format, arg...) \
+ __dev_printf(0, (dev) , format , ## arg)
+#define dev_alert(dev, format, arg...) \
+ __dev_printf(1, (dev) , format , ## arg)
+#define dev_crit(dev, format, arg...) \
+ __dev_printf(2, (dev) , format , ## arg)
+#define dev_err(dev, format, arg...) \
+ __dev_printf(3, (dev) , format , ## arg)
+#define dev_warn(dev, format, arg...) \
+ __dev_printf(4, (dev) , format , ## arg)
+#define dev_notice(dev, format, arg...) \
+ __dev_printf(5, (dev) , format , ## arg)
+#define dev_info(dev, format, arg...) \
+ __dev_printf(6, (dev) , format , ## arg)
+#define dev_dbg(dev, format, arg...) \
+ __dev_printf(7, (dev) , format , ## arg)
+
+#define __pr_printk(level, format, args...) \
+ ({ \
+ int ret = 0; \
+ if (level <= LOGLEVEL) \
+ ret = printk(format, ##args); \
+ ret; \
+ })
+
+#ifndef pr_fmt
+#define pr_fmt(fmt) fmt
+#endif
+
+#define pr_emerg(fmt, arg...) __pr_printk(0, pr_fmt(fmt), ##arg)
+#define pr_alert(fmt, arg...) __pr_printk(1, pr_fmt(fmt), ##arg)
+#define pr_crit(fmt, arg...) __pr_printk(2, pr_fmt(fmt), ##arg)
+#define pr_warning(fmt, arg...) __pr_printk(3, pr_fmt(fmt), ##arg)
+#define pr_err(fmt, arg...) __pr_printk(4, pr_fmt(fmt), ##arg)
+#define pr_notice(fmt, arg...) __pr_printk(5, pr_fmt(fmt), ##arg)
+#define pr_info(fmt, arg...) __pr_printk(6, pr_fmt(fmt), ##arg)
+#define pr_debug(fmt, arg...) __pr_printk(7, pr_fmt(fmt), ##arg)
+#define debug(fmt, arg...) __pr_printk(7, pr_fmt(fmt), ##arg)
+
+#endif