lkml.org 
[lkml]   [2011]   [Jun]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
FromH Hartley Sweeten <>
Subject[PATCH] seq_file.h: introduce DECLARE_SEQ_FOPS_{RO,RW}
DateMon, 6 Jun 2011 13:19:45 -0700
Many of the procfs and debugfs attribute file_operations in the kernel are
missing the .owner information. Introduce some macro's to fill in the .owner
field as well as the common methods for virtual file file_operations. This
simplifies creating the attributes and makes sure all the fields are properly
initialized.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>

---
diff --git a/include/linux/seq_file.h b/include/linux/seq_file.h
index 03c0232..6a1f991 100644
--- a/include/linux/seq_file.h
+++ b/include/linux/seq_file.h
@@ -153,4 +153,28 @@ extern struct hlist_node *seq_hlist_start_head_rcu(struct hlist_head *head,
extern struct hlist_node *seq_hlist_next_rcu(void *v,
struct hlist_head *head,
loff_t *ppos);
+
+/*
+ * virtual filesystem attribute files
+ */
+
+#define DECLARE_SEQ_FOPS_RO(name) \
+static const struct file_operations name##_fops = { \
+ .owner = THIS_MODULE, \
+ .llseek = seq_lseek, \
+ .read = seq_read, \
+ .open = name##_open, \
+ .release = single_release, \
+}
+
+#define DECLARE_SEQ_FOPS_RW(name) \
+static const struct file_operations name##_fops = { \
+ .owner = THIS_MODULE, \
+ .llseek = seq_lseek, \
+ .read = seq_read, \
+ .write = name##_write, \
+ .open = name##_open, \
+ .release = single_release, \
+}
+
#endif

\
 
 \ /
  Last update: 2011-06-06 22:23    [from the cache]
©2003-2010