diff options
Diffstat (limited to 'include/linux/dynamic_debug.h')
| -rw-r--r-- | include/linux/dynamic_debug.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 843cb9eb422..feaac1ee300 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h | |||
| @@ -47,6 +47,13 @@ extern int __dynamic_dev_dbg(struct _ddebug *descriptor, | |||
| 47 | const char *fmt, ...) | 47 | const char *fmt, ...) |
| 48 | __attribute__ ((format (printf, 3, 4))); | 48 | __attribute__ ((format (printf, 3, 4))); |
| 49 | 49 | ||
| 50 | struct net_device; | ||
| 51 | |||
| 52 | extern int __dynamic_netdev_dbg(struct _ddebug *descriptor, | ||
| 53 | const struct net_device *dev, | ||
| 54 | const char *fmt, ...) | ||
| 55 | __attribute__ ((format (printf, 3, 4))); | ||
| 56 | |||
| 50 | #define dynamic_pr_debug(fmt, ...) do { \ | 57 | #define dynamic_pr_debug(fmt, ...) do { \ |
| 51 | static struct _ddebug descriptor \ | 58 | static struct _ddebug descriptor \ |
| 52 | __used \ | 59 | __used \ |
| @@ -67,6 +74,16 @@ extern int __dynamic_dev_dbg(struct _ddebug *descriptor, | |||
| 67 | __dynamic_dev_dbg(&descriptor, dev, fmt, ##__VA_ARGS__); \ | 74 | __dynamic_dev_dbg(&descriptor, dev, fmt, ##__VA_ARGS__); \ |
| 68 | } while (0) | 75 | } while (0) |
| 69 | 76 | ||
| 77 | #define dynamic_netdev_dbg(dev, fmt, ...) do { \ | ||
| 78 | static struct _ddebug descriptor \ | ||
| 79 | __used \ | ||
| 80 | __attribute__((section("__verbose"), aligned(8))) = \ | ||
| 81 | { KBUILD_MODNAME, __func__, __FILE__, fmt, __LINE__, \ | ||
| 82 | _DPRINTK_FLAGS_DEFAULT }; \ | ||
| 83 | if (unlikely(descriptor.enabled)) \ | ||
| 84 | __dynamic_netdev_dbg(&descriptor, dev, fmt, ##__VA_ARGS__);\ | ||
| 85 | } while (0) | ||
| 86 | |||
| 70 | #else | 87 | #else |
| 71 | 88 | ||
| 72 | static inline int ddebug_remove_module(const char *mod) | 89 | static inline int ddebug_remove_module(const char *mod) |
