diff options
Diffstat (limited to 'include/linux/proc_fs.h')
| -rw-r--r-- | include/linux/proc_fs.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h index 3469f96bc8b2..28e3664fdf1b 100644 --- a/include/linux/proc_fs.h +++ b/include/linux/proc_fs.h | |||
| @@ -7,6 +7,8 @@ | |||
| 7 | #include <linux/magic.h> | 7 | #include <linux/magic.h> |
| 8 | #include <asm/atomic.h> | 8 | #include <asm/atomic.h> |
| 9 | 9 | ||
| 10 | struct completion; | ||
| 11 | |||
| 10 | /* | 12 | /* |
| 11 | * The proc filesystem constants/structures | 13 | * The proc filesystem constants/structures |
| 12 | */ | 14 | */ |
| @@ -56,6 +58,14 @@ struct proc_dir_entry { | |||
| 56 | gid_t gid; | 58 | gid_t gid; |
| 57 | loff_t size; | 59 | loff_t size; |
| 58 | const struct inode_operations *proc_iops; | 60 | const struct inode_operations *proc_iops; |
| 61 | /* | ||
| 62 | * NULL ->proc_fops means "PDE is going away RSN" or | ||
| 63 | * "PDE is just created". In either case, e.g. ->read_proc won't be | ||
| 64 | * called because it's too late or too early, respectively. | ||
| 65 | * | ||
| 66 | * If you're allocating ->proc_fops dynamically, save a pointer | ||
| 67 | * somewhere. | ||
| 68 | */ | ||
| 59 | const struct file_operations *proc_fops; | 69 | const struct file_operations *proc_fops; |
| 60 | get_info_t *get_info; | 70 | get_info_t *get_info; |
| 61 | struct module *owner; | 71 | struct module *owner; |
| @@ -66,6 +76,9 @@ struct proc_dir_entry { | |||
| 66 | atomic_t count; /* use count */ | 76 | atomic_t count; /* use count */ |
| 67 | int deleted; /* delete flag */ | 77 | int deleted; /* delete flag */ |
| 68 | void *set; | 78 | void *set; |
| 79 | int pde_users; /* number of callers into module in progress */ | ||
| 80 | spinlock_t pde_unload_lock; /* proc_fops checks and pde_users bumps */ | ||
| 81 | struct completion *pde_unload_completion; | ||
| 69 | }; | 82 | }; |
| 70 | 83 | ||
| 71 | struct kcore_list { | 84 | struct kcore_list { |
