diff options
Diffstat (limited to 'arch/s390/hypfs/hypfs.h')
-rw-r--r-- | arch/s390/hypfs/hypfs.h | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/arch/s390/hypfs/hypfs.h b/arch/s390/hypfs/hypfs.h index fa487d4cc08b..80c1526f2af3 100644 --- a/arch/s390/hypfs/hypfs.h +++ b/arch/s390/hypfs/hypfs.h | |||
@@ -12,6 +12,8 @@ | |||
12 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
13 | #include <linux/types.h> | 13 | #include <linux/types.h> |
14 | #include <linux/debugfs.h> | 14 | #include <linux/debugfs.h> |
15 | #include <linux/workqueue.h> | ||
16 | #include <linux/kref.h> | ||
15 | 17 | ||
16 | #define REG_FILE_MODE 0440 | 18 | #define REG_FILE_MODE 0440 |
17 | #define UPDATE_FILE_MODE 0220 | 19 | #define UPDATE_FILE_MODE 0220 |
@@ -38,6 +40,33 @@ extern int hypfs_vm_init(void); | |||
38 | extern void hypfs_vm_exit(void); | 40 | extern void hypfs_vm_exit(void); |
39 | extern int hypfs_vm_create_files(struct super_block *sb, struct dentry *root); | 41 | extern int hypfs_vm_create_files(struct super_block *sb, struct dentry *root); |
40 | 42 | ||
41 | /* Directory for debugfs files */ | 43 | /* debugfs interface */ |
42 | extern struct dentry *hypfs_dbfs_dir; | 44 | struct hypfs_dbfs_file; |
45 | |||
46 | struct hypfs_dbfs_data { | ||
47 | void *buf; | ||
48 | void *buf_free_ptr; | ||
49 | size_t size; | ||
50 | struct hypfs_dbfs_file *dbfs_file;; | ||
51 | struct kref kref; | ||
52 | }; | ||
53 | |||
54 | struct hypfs_dbfs_file { | ||
55 | const char *name; | ||
56 | int (*data_create)(void **data, void **data_free_ptr, | ||
57 | size_t *size); | ||
58 | void (*data_free)(const void *buf_free_ptr); | ||
59 | |||
60 | /* Private data for hypfs_dbfs.c */ | ||
61 | struct hypfs_dbfs_data *data; | ||
62 | struct delayed_work data_free_work; | ||
63 | struct mutex lock; | ||
64 | struct dentry *dentry; | ||
65 | }; | ||
66 | |||
67 | extern int hypfs_dbfs_init(void); | ||
68 | extern void hypfs_dbfs_exit(void); | ||
69 | extern int hypfs_dbfs_create_file(struct hypfs_dbfs_file *df); | ||
70 | extern void hypfs_dbfs_remove_file(struct hypfs_dbfs_file *df); | ||
71 | |||
43 | #endif /* _HYPFS_H_ */ | 72 | #endif /* _HYPFS_H_ */ |