summaryrefslogtreecommitdiff
path: root/backport-include/linux/proc_fs.h
diff options
context:
space:
mode:
Diffstat (limited to 'backport-include/linux/proc_fs.h')
-rw-r--r--backport-include/linux/proc_fs.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/backport-include/linux/proc_fs.h b/backport-include/linux/proc_fs.h
new file mode 100644
index 0000000..be239bf
--- /dev/null
+++ b/backport-include/linux/proc_fs.h
@@ -0,0 +1,29 @@
+#ifndef __BACKPORT_PROC_FS_H
+#define __BACKPORT_PROC_FS_H
+#include_next <linux/proc_fs.h>
+#include <linux/version.h>
+
+#if LINUX_VERSION_IS_LESS(3,10,0)
+
+#ifdef CONFIG_PROC_FS
+/*
+ * backport of:
+ * procfs: new helper - PDE_DATA(inode)
+ */
+#define PDE_DATA LINUX_BACKPORT(PDE_DATA)
+static inline void *PDE_DATA(const struct inode *inode)
+{
+ return PROC_I(inode)->pde->data;
+}
+extern void proc_set_size(struct proc_dir_entry *, loff_t);
+extern void proc_set_user(struct proc_dir_entry *, kuid_t, kgid_t);
+#else
+#define PDE_DATA LINUX_BACKPORT(PDE_DATA)
+static inline void *PDE_DATA(const struct inode *inode) {BUG(); return NULL;}
+static inline void proc_set_size(struct proc_dir_entry *de, loff_t size) {}
+static inline void proc_set_user(struct proc_dir_entry *de, kuid_t uid, kgid_t gid) {}
+#endif /* CONFIG_PROC_FS */
+
+#endif /* LINUX_VERSION_IS_LESS(3,10,0) */
+
+#endif /* __BACKPORT_PROC_FS_H */