summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMarcin Niesluchowski <m.niesluchow@samsung.com>2015-07-20 14:52:06 +0200
committerSeung-Woo Kim <sw0312.kim@samsung.com>2016-12-14 13:49:13 +0900
commit62bbd37627b8fa194ae668b352d40c090d9cc6e0 (patch)
treee8103004a09347ce9d2c3fa5da1cda219dac0992 /include
parent8c83cc6f929d470636e6756d5447337e2f67e741 (diff)
kmsg: add additional buffers support to memory class
Memory class does not support additional kmsg buffers. Add additional kmsg buffers support to: * devnode() callback of "mem" class * file operations of major "mem" character device Change-Id: I15b6c79435b4dc18422a9bd6836bd9c7a87ad60a Signed-off-by: Marcin Niesluchowski <m.niesluchow@samsung.com> Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/printk.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/linux/printk.h b/include/linux/printk.h
index 58b1fec40d37..4147304f394b 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -417,8 +417,40 @@ do { \
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
#endif
+struct file;
+struct inode;
+
+#ifdef CONFIG_PRINTK
+
+extern struct class *mem_class;
+
+#define KMSG_MINOR 11
+
extern const struct file_operations kmsg_fops;
+extern struct device *init_kmsg(int minor, umode_t mode);
+extern int kmsg_memory_open(struct inode *inode, struct file *filp);
+extern int kmsg_mode(int minor, umode_t *mode);
+
+#else
+
+static inline struct device *init_kmsg(int minor, umode_t mode)
+{
+ return NULL;
+}
+
+static inline int kmsg_memory_open(struct inode *inode, struct file *filp)
+{
+ return -ENXIO;
+}
+
+static inline int kmsg_mode(int minor, umode_t *mode)
+{
+ return -ENXIO;
+}
+
+#endif
+
enum {
DUMP_PREFIX_NONE,
DUMP_PREFIX_ADDRESS,