Page MenuHomeFreeBSD

D49067.id151220.diff
No OneTemporary

D49067.id151220.diff

Index: sys/compat/lindebugfs/lindebugfs.c
===================================================================
--- sys/compat/lindebugfs/lindebugfs.c
+++ sys/compat/lindebugfs/lindebugfs.c
@@ -624,6 +624,36 @@
}
+static int
+debugfs_str_get(void *data, uint64_t *value)
+{
+ char **str_data = data;
+ *value = (uint64_t)*str_data;
+ return (0);
+}
+
+static int
+debugfs_str_set(void *data, uint64_t value)
+{
+ char **str_data = data;
+ *str_data = (char *)value;
+ return (0);
+}
+
+DEFINE_DEBUGFS_ATTRIBUTE(fops_str, debugfs_str_get, debugfs_str_set, "%s\n");
+DEFINE_DEBUGFS_ATTRIBUTE(fops_str_ro, debugfs_str_get, NULL, "%s\n");
+DEFINE_DEBUGFS_ATTRIBUTE(fops_str_wo, NULL, debugfs_str_set, "%s\n");
+
+void
+debugfs_create_str(const char *name, umode_t mode, struct dentry *parent,
+ char **value)
+{
+
+ debugfs_create_mode_unsafe(name, mode, parent, value, &fops_str,
+ &fops_str_ro, &fops_str_wo);
+}
+
+
static ssize_t
fops_blob_read(struct file *filp, char __user *ubuf, size_t read_size, loff_t *ppos)
{
Index: sys/compat/linuxkpi/common/include/linux/debugfs.h
===================================================================
--- sys/compat/linuxkpi/common/include/linux/debugfs.h
+++ sys/compat/linuxkpi/common/include/linux/debugfs.h
@@ -115,6 +115,8 @@
unsigned long *value);
void debugfs_create_atomic_t(const char *name, umode_t mode, struct dentry *parent,
atomic_t *value);
+void debugfs_create_str(const char *name, umode_t mode, struct dentry *parent,
+ char **value);
struct dentry *debugfs_create_blob(const char *name, umode_t mode,
struct dentry *parent, struct debugfs_blob_wrapper *value);

File Metadata

Mime Type
text/plain
Expires
Tue, Apr 7, 1:38 PM (15 h, 43 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31034874
Default Alt Text
D49067.id151220.diff (1 KB)

Event Timeline