proc: convert everything to "struct proc_ops"

The most notable change is DEFINE_SHOW_ATTRIBUTE macro split in
seq_file.h.

Conversion rule is:

	llseek		=> proc_lseek
	unlocked_ioctl	=> proc_ioctl

	xxx		=> proc_xxx

	delete ".owner = THIS_MODULE" line

[akpm@linux-foundation.org: fix drivers/isdn/capi/kcapi_proc.c]
[sfr@canb.auug.org.au: fix kernel/sched/psi.c]
  Link: http://lkml.kernel.org/r/20200122180545.36222f50@canb.auug.org.au
Link: http://lkml.kernel.org/r/20191225172546.GB13378@avx2
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Alexey Dobriyan 2020-02-03 17:37:17 -08:00 committed by Linus Torvalds
parent d56c0d45f0
commit 97a32539b9
100 changed files with 960 additions and 1005 deletions

View File

@ -119,13 +119,12 @@ static ssize_t srm_env_proc_write(struct file *file, const char __user *buffer,
return res; return res;
} }
static const struct file_operations srm_env_proc_fops = { static const struct proc_ops srm_env_proc_ops = {
.owner = THIS_MODULE, .proc_open = srm_env_proc_open,
.open = srm_env_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = srm_env_proc_write,
.write = srm_env_proc_write,
}; };
static int __init static int __init
@ -182,7 +181,7 @@ srm_env_init(void)
entry = srm_named_entries; entry = srm_named_entries;
while (entry->name && entry->id) { while (entry->name && entry->id) {
if (!proc_create_data(entry->name, 0644, named_dir, if (!proc_create_data(entry->name, 0644, named_dir,
&srm_env_proc_fops, (void *)entry->id)) &srm_env_proc_ops, (void *)entry->id))
goto cleanup; goto cleanup;
entry++; entry++;
} }
@ -194,7 +193,7 @@ srm_env_init(void)
char name[4]; char name[4];
sprintf(name, "%ld", var_num); sprintf(name, "%ld", var_num);
if (!proc_create_data(name, 0644, numbered_dir, if (!proc_create_data(name, 0644, numbered_dir,
&srm_env_proc_fops, (void *)var_num)) &srm_env_proc_ops, (void *)var_num))
goto cleanup; goto cleanup;
} }

View File

@ -17,9 +17,9 @@ static ssize_t atags_read(struct file *file, char __user *buf,
return simple_read_from_buffer(buf, count, ppos, b->data, b->size); return simple_read_from_buffer(buf, count, ppos, b->data, b->size);
} }
static const struct file_operations atags_fops = { static const struct proc_ops atags_proc_ops = {
.read = atags_read, .proc_read = atags_read,
.llseek = default_llseek, .proc_lseek = default_llseek,
}; };
#define BOOT_PARAMS_SIZE 1536 #define BOOT_PARAMS_SIZE 1536
@ -61,7 +61,7 @@ static int __init init_atags_procfs(void)
b->size = size; b->size = size;
memcpy(b->data, atags_copy, size); memcpy(b->data, atags_copy, size);
tags_entry = proc_create_data("atags", 0400, NULL, &atags_fops, b); tags_entry = proc_create_data("atags", 0400, NULL, &atags_proc_ops, b);
if (!tags_entry) if (!tags_entry)
goto nomem; goto nomem;

View File

@ -162,12 +162,12 @@ static ssize_t alignment_proc_write(struct file *file, const char __user *buffer
return count; return count;
} }
static const struct file_operations alignment_proc_fops = { static const struct proc_ops alignment_proc_ops = {
.open = alignment_proc_open, .proc_open = alignment_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = alignment_proc_write, .proc_write = alignment_proc_write,
}; };
#endif /* CONFIG_PROC_FS */ #endif /* CONFIG_PROC_FS */
@ -1016,7 +1016,7 @@ static int __init alignment_init(void)
struct proc_dir_entry *res; struct proc_dir_entry *res;
res = proc_create("cpu/alignment", S_IWUSR | S_IRUGO, NULL, res = proc_create("cpu/alignment", S_IWUSR | S_IRUGO, NULL,
&alignment_proc_fops); &alignment_proc_ops);
if (!res) if (!res)
return -ENOMEM; return -ENOMEM;
#endif #endif

View File

@ -331,10 +331,10 @@ salinfo_event_read(struct file *file, char __user *buffer, size_t count, loff_t
return size; return size;
} }
static const struct file_operations salinfo_event_fops = { static const struct proc_ops salinfo_event_proc_ops = {
.open = salinfo_event_open, .proc_open = salinfo_event_open,
.read = salinfo_event_read, .proc_read = salinfo_event_read,
.llseek = noop_llseek, .proc_lseek = noop_llseek,
}; };
static int static int
@ -534,12 +534,12 @@ salinfo_log_write(struct file *file, const char __user *buffer, size_t count, lo
return count; return count;
} }
static const struct file_operations salinfo_data_fops = { static const struct proc_ops salinfo_data_proc_ops = {
.open = salinfo_log_open, .proc_open = salinfo_log_open,
.release = salinfo_log_release, .proc_release = salinfo_log_release,
.read = salinfo_log_read, .proc_read = salinfo_log_read,
.write = salinfo_log_write, .proc_write = salinfo_log_write,
.llseek = default_llseek, .proc_lseek = default_llseek,
}; };
static int salinfo_cpu_online(unsigned int cpu) static int salinfo_cpu_online(unsigned int cpu)
@ -617,13 +617,13 @@ salinfo_init(void)
continue; continue;
entry = proc_create_data("event", S_IRUSR, dir, entry = proc_create_data("event", S_IRUSR, dir,
&salinfo_event_fops, data); &salinfo_event_proc_ops, data);
if (!entry) if (!entry)
continue; continue;
*sdir++ = entry; *sdir++ = entry;
entry = proc_create_data("data", S_IRUSR | S_IWUSR, dir, entry = proc_create_data("data", S_IRUSR | S_IWUSR, dir,
&salinfo_data_fops, data); &salinfo_data_proc_ops, data);
if (!entry) if (!entry)
continue; continue;
*sdir++ = entry; *sdir++ = entry;

View File

@ -26,9 +26,9 @@ static ssize_t bootinfo_read(struct file *file, char __user *buf,
bootinfo_size); bootinfo_size);
} }
static const struct file_operations bootinfo_fops = { static const struct proc_ops bootinfo_proc_ops = {
.read = bootinfo_read, .proc_read = bootinfo_read,
.llseek = default_llseek, .proc_lseek = default_llseek,
}; };
void __init save_bootinfo(const struct bi_record *bi) void __init save_bootinfo(const struct bi_record *bi)
@ -67,7 +67,7 @@ static int __init init_bootinfo_procfs(void)
if (!bootinfo_copy) if (!bootinfo_copy)
return -ENOMEM; return -ENOMEM;
pde = proc_create_data("bootinfo", 0400, NULL, &bootinfo_fops, NULL); pde = proc_create_data("bootinfo", 0400, NULL, &bootinfo_proc_ops, NULL);
if (!pde) { if (!pde) {
kfree(bootinfo_copy); kfree(bootinfo_copy);
return -ENOMEM; return -ENOMEM;

View File

@ -89,13 +89,12 @@ static ssize_t pvc_line_proc_write(struct file *file, const char __user *buf,
return count; return count;
} }
static const struct file_operations pvc_line_proc_fops = { static const struct proc_ops pvc_line_proc_ops = {
.owner = THIS_MODULE, .proc_open = pvc_line_proc_open,
.open = pvc_line_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = pvc_line_proc_write,
.write = pvc_line_proc_write,
}; };
static ssize_t pvc_scroll_proc_write(struct file *file, const char __user *buf, static ssize_t pvc_scroll_proc_write(struct file *file, const char __user *buf,
@ -148,13 +147,12 @@ static int pvc_scroll_proc_open(struct inode *inode, struct file *file)
return single_open(file, pvc_scroll_proc_show, NULL); return single_open(file, pvc_scroll_proc_show, NULL);
} }
static const struct file_operations pvc_scroll_proc_fops = { static const struct proc_ops pvc_scroll_proc_ops = {
.owner = THIS_MODULE, .proc_open = pvc_scroll_proc_open,
.open = pvc_scroll_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = pvc_scroll_proc_write,
.write = pvc_scroll_proc_write,
}; };
void pvc_proc_timerfunc(struct timer_list *unused) void pvc_proc_timerfunc(struct timer_list *unused)
@ -189,12 +187,11 @@ static int __init pvc_proc_init(void)
} }
for (i = 0; i < PVC_NLINES; i++) { for (i = 0; i < PVC_NLINES; i++) {
proc_entry = proc_create_data(pvc_linename[i], 0644, dir, proc_entry = proc_create_data(pvc_linename[i], 0644, dir,
&pvc_line_proc_fops, &pvc_linedata[i]); &pvc_line_proc_ops, &pvc_linedata[i]);
if (proc_entry == NULL) if (proc_entry == NULL)
goto error; goto error;
} }
proc_entry = proc_create("scroll", 0644, dir, proc_entry = proc_create("scroll", 0644, dir, &pvc_scroll_proc_ops);
&pvc_scroll_proc_fops);
if (proc_entry == NULL) if (proc_entry == NULL)
goto error; goto error;

View File

@ -39,10 +39,10 @@ static int page_map_mmap( struct file *file, struct vm_area_struct *vma )
return 0; return 0;
} }
static const struct file_operations page_map_fops = { static const struct proc_ops page_map_proc_ops = {
.llseek = page_map_seek, .proc_lseek = page_map_seek,
.read = page_map_read, .proc_read = page_map_read,
.mmap = page_map_mmap .proc_mmap = page_map_mmap,
}; };
@ -51,7 +51,7 @@ static int __init proc_ppc64_init(void)
struct proc_dir_entry *pde; struct proc_dir_entry *pde;
pde = proc_create_data("powerpc/systemcfg", S_IFREG | 0444, NULL, pde = proc_create_data("powerpc/systemcfg", S_IFREG | 0444, NULL,
&page_map_fops, vdso_data); &page_map_proc_ops, vdso_data);
if (!pde) if (!pde)
return 1; return 1;
proc_set_size(pde, PAGE_SIZE); proc_set_size(pde, PAGE_SIZE);

View File

@ -159,12 +159,12 @@ static int poweron_open(struct inode *inode, struct file *file)
return single_open(file, ppc_rtas_poweron_show, NULL); return single_open(file, ppc_rtas_poweron_show, NULL);
} }
static const struct file_operations ppc_rtas_poweron_operations = { static const struct proc_ops ppc_rtas_poweron_proc_ops = {
.open = poweron_open, .proc_open = poweron_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = ppc_rtas_poweron_write, .proc_write = ppc_rtas_poweron_write,
.release = single_release, .proc_release = single_release,
}; };
static int progress_open(struct inode *inode, struct file *file) static int progress_open(struct inode *inode, struct file *file)
@ -172,12 +172,12 @@ static int progress_open(struct inode *inode, struct file *file)
return single_open(file, ppc_rtas_progress_show, NULL); return single_open(file, ppc_rtas_progress_show, NULL);
} }
static const struct file_operations ppc_rtas_progress_operations = { static const struct proc_ops ppc_rtas_progress_proc_ops = {
.open = progress_open, .proc_open = progress_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = ppc_rtas_progress_write, .proc_write = ppc_rtas_progress_write,
.release = single_release, .proc_release = single_release,
}; };
static int clock_open(struct inode *inode, struct file *file) static int clock_open(struct inode *inode, struct file *file)
@ -185,12 +185,12 @@ static int clock_open(struct inode *inode, struct file *file)
return single_open(file, ppc_rtas_clock_show, NULL); return single_open(file, ppc_rtas_clock_show, NULL);
} }
static const struct file_operations ppc_rtas_clock_operations = { static const struct proc_ops ppc_rtas_clock_proc_ops = {
.open = clock_open, .proc_open = clock_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = ppc_rtas_clock_write, .proc_write = ppc_rtas_clock_write,
.release = single_release, .proc_release = single_release,
}; };
static int tone_freq_open(struct inode *inode, struct file *file) static int tone_freq_open(struct inode *inode, struct file *file)
@ -198,12 +198,12 @@ static int tone_freq_open(struct inode *inode, struct file *file)
return single_open(file, ppc_rtas_tone_freq_show, NULL); return single_open(file, ppc_rtas_tone_freq_show, NULL);
} }
static const struct file_operations ppc_rtas_tone_freq_operations = { static const struct proc_ops ppc_rtas_tone_freq_proc_ops = {
.open = tone_freq_open, .proc_open = tone_freq_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = ppc_rtas_tone_freq_write, .proc_write = ppc_rtas_tone_freq_write,
.release = single_release, .proc_release = single_release,
}; };
static int tone_volume_open(struct inode *inode, struct file *file) static int tone_volume_open(struct inode *inode, struct file *file)
@ -211,12 +211,12 @@ static int tone_volume_open(struct inode *inode, struct file *file)
return single_open(file, ppc_rtas_tone_volume_show, NULL); return single_open(file, ppc_rtas_tone_volume_show, NULL);
} }
static const struct file_operations ppc_rtas_tone_volume_operations = { static const struct proc_ops ppc_rtas_tone_volume_proc_ops = {
.open = tone_volume_open, .proc_open = tone_volume_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = ppc_rtas_tone_volume_write, .proc_write = ppc_rtas_tone_volume_write,
.release = single_release, .proc_release = single_release,
}; };
static int ppc_rtas_find_all_sensors(void); static int ppc_rtas_find_all_sensors(void);
@ -238,17 +238,17 @@ static int __init proc_rtas_init(void)
return -ENODEV; return -ENODEV;
proc_create("powerpc/rtas/progress", 0644, NULL, proc_create("powerpc/rtas/progress", 0644, NULL,
&ppc_rtas_progress_operations); &ppc_rtas_progress_proc_ops);
proc_create("powerpc/rtas/clock", 0644, NULL, proc_create("powerpc/rtas/clock", 0644, NULL,
&ppc_rtas_clock_operations); &ppc_rtas_clock_proc_ops);
proc_create("powerpc/rtas/poweron", 0644, NULL, proc_create("powerpc/rtas/poweron", 0644, NULL,
&ppc_rtas_poweron_operations); &ppc_rtas_poweron_proc_ops);
proc_create_single("powerpc/rtas/sensors", 0444, NULL, proc_create_single("powerpc/rtas/sensors", 0444, NULL,
ppc_rtas_sensors_show); ppc_rtas_sensors_show);
proc_create("powerpc/rtas/frequency", 0644, NULL, proc_create("powerpc/rtas/frequency", 0644, NULL,
&ppc_rtas_tone_freq_operations); &ppc_rtas_tone_freq_proc_ops);
proc_create("powerpc/rtas/volume", 0644, NULL, proc_create("powerpc/rtas/volume", 0644, NULL,
&ppc_rtas_tone_volume_operations); &ppc_rtas_tone_volume_proc_ops);
proc_create_single("powerpc/rtas/rmo_buffer", 0400, NULL, proc_create_single("powerpc/rtas/rmo_buffer", 0400, NULL,
ppc_rtas_rmo_buf_show); ppc_rtas_rmo_buf_show);
return 0; return 0;

View File

@ -655,7 +655,7 @@ struct rtas_flash_file {
const char *filename; const char *filename;
const char *rtas_call_name; const char *rtas_call_name;
int *status; int *status;
const struct file_operations fops; const struct proc_ops ops;
}; };
static const struct rtas_flash_file rtas_flash_files[] = { static const struct rtas_flash_file rtas_flash_files[] = {
@ -663,36 +663,36 @@ static const struct rtas_flash_file rtas_flash_files[] = {
.filename = "powerpc/rtas/" FIRMWARE_FLASH_NAME, .filename = "powerpc/rtas/" FIRMWARE_FLASH_NAME,
.rtas_call_name = "ibm,update-flash-64-and-reboot", .rtas_call_name = "ibm,update-flash-64-and-reboot",
.status = &rtas_update_flash_data.status, .status = &rtas_update_flash_data.status,
.fops.read = rtas_flash_read_msg, .ops.proc_read = rtas_flash_read_msg,
.fops.write = rtas_flash_write, .ops.proc_write = rtas_flash_write,
.fops.release = rtas_flash_release, .ops.proc_release = rtas_flash_release,
.fops.llseek = default_llseek, .ops.proc_lseek = default_llseek,
}, },
{ {
.filename = "powerpc/rtas/" FIRMWARE_UPDATE_NAME, .filename = "powerpc/rtas/" FIRMWARE_UPDATE_NAME,
.rtas_call_name = "ibm,update-flash-64-and-reboot", .rtas_call_name = "ibm,update-flash-64-and-reboot",
.status = &rtas_update_flash_data.status, .status = &rtas_update_flash_data.status,
.fops.read = rtas_flash_read_num, .ops.proc_read = rtas_flash_read_num,
.fops.write = rtas_flash_write, .ops.proc_write = rtas_flash_write,
.fops.release = rtas_flash_release, .ops.proc_release = rtas_flash_release,
.fops.llseek = default_llseek, .ops.proc_lseek = default_llseek,
}, },
{ {
.filename = "powerpc/rtas/" VALIDATE_FLASH_NAME, .filename = "powerpc/rtas/" VALIDATE_FLASH_NAME,
.rtas_call_name = "ibm,validate-flash-image", .rtas_call_name = "ibm,validate-flash-image",
.status = &rtas_validate_flash_data.status, .status = &rtas_validate_flash_data.status,
.fops.read = validate_flash_read, .ops.proc_read = validate_flash_read,
.fops.write = validate_flash_write, .ops.proc_write = validate_flash_write,
.fops.release = validate_flash_release, .ops.proc_release = validate_flash_release,
.fops.llseek = default_llseek, .ops.proc_lseek = default_llseek,
}, },
{ {
.filename = "powerpc/rtas/" MANAGE_FLASH_NAME, .filename = "powerpc/rtas/" MANAGE_FLASH_NAME,
.rtas_call_name = "ibm,manage-flash-image", .rtas_call_name = "ibm,manage-flash-image",
.status = &rtas_manage_flash_data.status, .status = &rtas_manage_flash_data.status,
.fops.read = manage_flash_read, .ops.proc_read = manage_flash_read,
.fops.write = manage_flash_write, .ops.proc_write = manage_flash_write,
.fops.llseek = default_llseek, .ops.proc_lseek = default_llseek,
} }
}; };
@ -723,7 +723,7 @@ static int __init rtas_flash_init(void)
const struct rtas_flash_file *f = &rtas_flash_files[i]; const struct rtas_flash_file *f = &rtas_flash_files[i];
int token; int token;
if (!proc_create(f->filename, 0600, NULL, &f->fops)) if (!proc_create(f->filename, 0600, NULL, &f->ops))
goto enomem; goto enomem;
/* /*

View File

@ -385,12 +385,12 @@ static __poll_t rtas_log_poll(struct file *file, poll_table * wait)
return 0; return 0;
} }
static const struct file_operations proc_rtas_log_operations = { static const struct proc_ops rtas_log_proc_ops = {
.read = rtas_log_read, .proc_read = rtas_log_read,
.poll = rtas_log_poll, .proc_poll = rtas_log_poll,
.open = rtas_log_open, .proc_open = rtas_log_open,
.release = rtas_log_release, .proc_release = rtas_log_release,
.llseek = noop_llseek, .proc_lseek = noop_llseek,
}; };
static int enable_surveillance(int timeout) static int enable_surveillance(int timeout)
@ -572,7 +572,7 @@ static int __init rtas_init(void)
return -ENODEV; return -ENODEV;
entry = proc_create("powerpc/rtas/error_log", 0400, NULL, entry = proc_create("powerpc/rtas/error_log", 0400, NULL,
&proc_rtas_log_operations); &rtas_log_proc_ops);
if (!entry) if (!entry)
printk(KERN_ERR "Failed to create error_log proc entry\n"); printk(KERN_ERR "Failed to create error_log proc entry\n");

View File

@ -1616,11 +1616,11 @@ static ssize_t topology_write(struct file *file, const char __user *buf,
return count; return count;
} }
static const struct file_operations topology_ops = { static const struct proc_ops topology_proc_ops = {
.read = seq_read, .proc_read = seq_read,
.write = topology_write, .proc_write = topology_write,
.open = topology_open, .proc_open = topology_open,
.release = single_release .proc_release = single_release,
}; };
static int topology_update_init(void) static int topology_update_init(void)
@ -1630,7 +1630,7 @@ static int topology_update_init(void)
if (vphn_enabled) if (vphn_enabled)
topology_schedule_update(); topology_schedule_update();
if (!proc_create("powerpc/topology_updates", 0644, NULL, &topology_ops)) if (!proc_create("powerpc/topology_updates", 0644, NULL, &topology_proc_ops))
return -ENOMEM; return -ENOMEM;
topology_inited = 1; topology_inited = 1;

View File

@ -582,12 +582,12 @@ static int vcpudispatch_stats_open(struct inode *inode, struct file *file)
return single_open(file, vcpudispatch_stats_display, NULL); return single_open(file, vcpudispatch_stats_display, NULL);
} }
static const struct file_operations vcpudispatch_stats_proc_ops = { static const struct proc_ops vcpudispatch_stats_proc_ops = {
.open = vcpudispatch_stats_open, .proc_open = vcpudispatch_stats_open,
.read = seq_read, .proc_read = seq_read,
.write = vcpudispatch_stats_write, .proc_write = vcpudispatch_stats_write,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
}; };
static ssize_t vcpudispatch_stats_freq_write(struct file *file, static ssize_t vcpudispatch_stats_freq_write(struct file *file,
@ -626,12 +626,12 @@ static int vcpudispatch_stats_freq_open(struct inode *inode, struct file *file)
return single_open(file, vcpudispatch_stats_freq_display, NULL); return single_open(file, vcpudispatch_stats_freq_display, NULL);
} }
static const struct file_operations vcpudispatch_stats_freq_proc_ops = { static const struct proc_ops vcpudispatch_stats_freq_proc_ops = {
.open = vcpudispatch_stats_freq_open, .proc_open = vcpudispatch_stats_freq_open,
.read = seq_read, .proc_read = seq_read,
.write = vcpudispatch_stats_freq_write, .proc_write = vcpudispatch_stats_freq_write,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
}; };
static int __init vcpudispatch_stats_procfs_init(void) static int __init vcpudispatch_stats_procfs_init(void)

View File

@ -698,12 +698,12 @@ static int lparcfg_open(struct inode *inode, struct file *file)
return single_open(file, lparcfg_data, NULL); return single_open(file, lparcfg_data, NULL);
} }
static const struct file_operations lparcfg_fops = { static const struct proc_ops lparcfg_proc_ops = {
.read = seq_read, .proc_read = seq_read,
.write = lparcfg_write, .proc_write = lparcfg_write,
.open = lparcfg_open, .proc_open = lparcfg_open,
.release = single_release, .proc_release = single_release,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
}; };
static int __init lparcfg_init(void) static int __init lparcfg_init(void)
@ -714,7 +714,7 @@ static int __init lparcfg_init(void)
if (firmware_has_feature(FW_FEATURE_SPLPAR)) if (firmware_has_feature(FW_FEATURE_SPLPAR))
mode |= 0200; mode |= 0200;
if (!proc_create("powerpc/lparcfg", mode, NULL, &lparcfg_fops)) { if (!proc_create("powerpc/lparcfg", mode, NULL, &lparcfg_proc_ops)) {
printk(KERN_ERR "Failed to create powerpc/lparcfg\n"); printk(KERN_ERR "Failed to create powerpc/lparcfg\n");
return -EIO; return -EIO;
} }

View File

@ -391,9 +391,9 @@ static ssize_t ofdt_write(struct file *file, const char __user *buf, size_t coun
return rv ? rv : count; return rv ? rv : count;
} }
static const struct file_operations ofdt_fops = { static const struct proc_ops ofdt_proc_ops = {
.write = ofdt_write, .proc_write = ofdt_write,
.llseek = noop_llseek, .proc_lseek = noop_llseek,
}; };
/* create /proc/powerpc/ofdt write-only by root */ /* create /proc/powerpc/ofdt write-only by root */
@ -401,7 +401,7 @@ static int proc_ppc64_create_ofdt(void)
{ {
struct proc_dir_entry *ent; struct proc_dir_entry *ent;
ent = proc_create("powerpc/ofdt", 0200, NULL, &ofdt_fops); ent = proc_create("powerpc/ofdt", 0200, NULL, &ofdt_proc_ops);
if (ent) if (ent)
proc_set_size(ent, 0); proc_set_size(ent, 0);

View File

@ -152,13 +152,12 @@ static int scanlog_release(struct inode * inode, struct file * file)
return 0; return 0;
} }
static const struct file_operations scanlog_fops = { static const struct proc_ops scanlog_proc_ops = {
.owner = THIS_MODULE, .proc_read = scanlog_read,
.read = scanlog_read, .proc_write = scanlog_write,
.write = scanlog_write, .proc_open = scanlog_open,
.open = scanlog_open, .proc_release = scanlog_release,
.release = scanlog_release, .proc_lseek = noop_llseek,
.llseek = noop_llseek,
}; };
static int __init scanlog_init(void) static int __init scanlog_init(void)
@ -176,7 +175,7 @@ static int __init scanlog_init(void)
goto err; goto err;
ent = proc_create("powerpc/rtas/scan-log-dump", 0400, NULL, ent = proc_create("powerpc/rtas/scan-log-dump", 0400, NULL,
&scanlog_fops); &scanlog_proc_ops);
if (!ent) if (!ent)
goto err; goto err;
return 0; return 0;

View File

@ -152,13 +152,12 @@ static ssize_t alignment_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations alignment_proc_fops = { static const struct proc_ops alignment_proc_ops = {
.owner = THIS_MODULE, .proc_open = alignment_proc_open,
.open = alignment_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = alignment_proc_write,
.write = alignment_proc_write,
}; };
/* /*
@ -176,12 +175,12 @@ static int __init alignment_init(void)
return -ENOMEM; return -ENOMEM;
res = proc_create_data("alignment", S_IWUSR | S_IRUGO, dir, res = proc_create_data("alignment", S_IWUSR | S_IRUGO, dir,
&alignment_proc_fops, &se_usermode); &alignment_proc_ops, &se_usermode);
if (!res) if (!res)
return -ENOMEM; return -ENOMEM;
res = proc_create_data("kernel_alignment", S_IWUSR | S_IRUGO, dir, res = proc_create_data("kernel_alignment", S_IWUSR | S_IRUGO, dir,
&alignment_proc_fops, &se_kernmode_warn); &alignment_proc_ops, &se_kernmode_warn);
if (!res) if (!res)
return -ENOMEM; return -ENOMEM;

View File

@ -104,13 +104,12 @@ static ssize_t led_proc_write(struct file *file, const char __user *buffer,
return count; return count;
} }
static const struct file_operations led_proc_fops = { static const struct proc_ops led_proc_ops = {
.owner = THIS_MODULE, .proc_open = led_proc_open,
.open = led_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = led_proc_write,
.write = led_proc_write,
}; };
static struct proc_dir_entry *led; static struct proc_dir_entry *led;
@ -121,7 +120,7 @@ static int __init led_init(void)
{ {
timer_setup(&led_blink_timer, led_blink, 0); timer_setup(&led_blink_timer, led_blink, 0);
led = proc_create("led", 0, NULL, &led_proc_fops); led = proc_create("led", 0, NULL, &led_proc_ops);
if (!led) if (!led)
return -ENOMEM; return -ENOMEM;

View File

@ -752,10 +752,9 @@ static ssize_t mconsole_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations mconsole_proc_fops = { static const struct proc_ops mconsole_proc_ops = {
.owner = THIS_MODULE, .proc_write = mconsole_proc_write,
.write = mconsole_proc_write, .proc_lseek = noop_llseek,
.llseek = noop_llseek,
}; };
static int create_proc_mconsole(void) static int create_proc_mconsole(void)
@ -765,7 +764,7 @@ static int create_proc_mconsole(void)
if (notify_socket == NULL) if (notify_socket == NULL)
return 0; return 0;
ent = proc_create("mconsole", 0200, NULL, &mconsole_proc_fops); ent = proc_create("mconsole", 0200, NULL, &mconsole_proc_ops);
if (ent == NULL) { if (ent == NULL) {
printk(KERN_INFO "create_proc_mconsole : proc_create failed\n"); printk(KERN_INFO "create_proc_mconsole : proc_create failed\n");
return 0; return 0;

View File

@ -55,20 +55,19 @@ static ssize_t exitcode_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations exitcode_proc_fops = { static const struct proc_ops exitcode_proc_ops = {
.owner = THIS_MODULE, .proc_open = exitcode_proc_open,
.open = exitcode_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = exitcode_proc_write,
.write = exitcode_proc_write,
}; };
static int make_proc_exitcode(void) static int make_proc_exitcode(void)
{ {
struct proc_dir_entry *ent; struct proc_dir_entry *ent;
ent = proc_create("exitcode", 0600, NULL, &exitcode_proc_fops); ent = proc_create("exitcode", 0600, NULL, &exitcode_proc_ops);
if (ent == NULL) { if (ent == NULL) {
printk(KERN_WARNING "make_proc_exitcode : Failed to register " printk(KERN_WARNING "make_proc_exitcode : Failed to register "
"/proc/exitcode\n"); "/proc/exitcode\n");

View File

@ -348,13 +348,12 @@ static ssize_t sysemu_proc_write(struct file *file, const char __user *buf,
return count; return count;
} }
static const struct file_operations sysemu_proc_fops = { static const struct proc_ops sysemu_proc_ops = {
.owner = THIS_MODULE, .proc_open = sysemu_proc_open,
.open = sysemu_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = sysemu_proc_write,
.write = sysemu_proc_write,
}; };
int __init make_proc_sysemu(void) int __init make_proc_sysemu(void)
@ -363,7 +362,7 @@ int __init make_proc_sysemu(void)
if (!sysemu_supported) if (!sysemu_supported)
return 0; return 0;
ent = proc_create("sysemu", 0600, NULL, &sysemu_proc_fops); ent = proc_create("sysemu", 0600, NULL, &sysemu_proc_ops);
if (ent == NULL) if (ent == NULL)
{ {

View File

@ -396,15 +396,16 @@ static int mtrr_open(struct inode *inode, struct file *file)
return single_open(file, mtrr_seq_show, NULL); return single_open(file, mtrr_seq_show, NULL);
} }
static const struct file_operations mtrr_fops = { static const struct proc_ops mtrr_proc_ops = {
.owner = THIS_MODULE, .proc_open = mtrr_open,
.open = mtrr_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_write = mtrr_write,
.write = mtrr_write, .proc_ioctl = mtrr_ioctl,
.unlocked_ioctl = mtrr_ioctl, #ifdef CONFIG_COMPAT
.compat_ioctl = mtrr_ioctl, .proc_compat_ioctl = mtrr_ioctl,
.release = mtrr_close, #endif
.proc_release = mtrr_close,
}; };
static int __init mtrr_if_init(void) static int __init mtrr_if_init(void)
@ -417,7 +418,7 @@ static int __init mtrr_if_init(void)
(!cpu_has(c, X86_FEATURE_CENTAUR_MCR))) (!cpu_has(c, X86_FEATURE_CENTAUR_MCR)))
return -ENODEV; return -ENODEV;
proc_create("mtrr", S_IWUSR | S_IRUGO, NULL, &mtrr_fops); proc_create("mtrr", S_IWUSR | S_IRUGO, NULL, &mtrr_proc_ops);
return 0; return 0;
} }
arch_initcall(mtrr_if_init); arch_initcall(mtrr_if_init);

View File

@ -1668,12 +1668,12 @@ static int tunables_open(struct inode *inode, struct file *file)
return 0; return 0;
} }
static const struct file_operations proc_uv_ptc_operations = { static const struct proc_ops uv_ptc_proc_ops = {
.open = ptc_proc_open, .proc_open = ptc_proc_open,
.read = seq_read, .proc_read = seq_read,
.write = ptc_proc_write, .proc_write = ptc_proc_write,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = seq_release, .proc_release = seq_release,
}; };
static const struct file_operations tunables_fops = { static const struct file_operations tunables_fops = {
@ -1691,7 +1691,7 @@ static int __init uv_ptc_init(void)
return 0; return 0;
proc_uv_ptc = proc_create(UV_PTC_BASENAME, 0444, NULL, proc_uv_ptc = proc_create(UV_PTC_BASENAME, 0444, NULL,
&proc_uv_ptc_operations); &uv_ptc_proc_ops);
if (!proc_uv_ptc) { if (!proc_uv_ptc) {
pr_err("unable to create %s proc entry\n", pr_err("unable to create %s proc entry\n",
UV_PTC_BASENAME); UV_PTC_BASENAME);

View File

@ -251,10 +251,10 @@ static ssize_t proc_write_simdisk(struct file *file, const char __user *buf,
return err; return err;
} }
static const struct file_operations fops = { static const struct proc_ops simdisk_proc_ops = {
.read = proc_read_simdisk, .proc_read = proc_read_simdisk,
.write = proc_write_simdisk, .proc_write = proc_write_simdisk,
.llseek = default_llseek, .proc_lseek = default_llseek,
}; };
static int __init simdisk_setup(struct simdisk *dev, int which, static int __init simdisk_setup(struct simdisk *dev, int which,
@ -290,7 +290,7 @@ static int __init simdisk_setup(struct simdisk *dev, int which,
set_capacity(dev->gd, 0); set_capacity(dev->gd, 0);
add_disk(dev->gd); add_disk(dev->gd);
dev->procfile = proc_create_data(tmp, 0644, procdir, &fops, dev); dev->procfile = proc_create_data(tmp, 0644, procdir, &simdisk_proc_ops, dev);
return 0; return 0;
out_alloc_disk: out_alloc_disk:

View File

@ -1202,13 +1202,12 @@ static int acpi_battery_alarm_proc_open(struct inode *inode, struct file *file)
return single_open(file, acpi_battery_alarm_proc_show, PDE_DATA(inode)); return single_open(file, acpi_battery_alarm_proc_show, PDE_DATA(inode));
} }
static const struct file_operations acpi_battery_alarm_fops = { static const struct proc_ops acpi_battery_alarm_proc_ops = {
.owner = THIS_MODULE, .proc_open = acpi_battery_alarm_proc_open,
.open = acpi_battery_alarm_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_write = acpi_battery_write_alarm,
.write = acpi_battery_write_alarm, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release,
}; };
static int acpi_battery_add_fs(struct acpi_device *device) static int acpi_battery_add_fs(struct acpi_device *device)
@ -1228,7 +1227,7 @@ static int acpi_battery_add_fs(struct acpi_device *device)
acpi_battery_state_proc_show, acpi_driver_data(device))) acpi_battery_state_proc_show, acpi_driver_data(device)))
return -ENODEV; return -ENODEV;
if (!proc_create_data("alarm", S_IFREG | S_IRUGO | S_IWUSR, if (!proc_create_data("alarm", S_IFREG | S_IRUGO | S_IWUSR,
acpi_device_dir(device), &acpi_battery_alarm_fops, acpi_device_dir(device), &acpi_battery_alarm_proc_ops,
acpi_driver_data(device))) acpi_driver_data(device)))
return -ENODEV; return -ENODEV;
return 0; return 0;

View File

@ -136,18 +136,17 @@ acpi_system_wakeup_device_open_fs(struct inode *inode, struct file *file)
PDE_DATA(inode)); PDE_DATA(inode));
} }
static const struct file_operations acpi_system_wakeup_device_fops = { static const struct proc_ops acpi_system_wakeup_device_proc_ops = {
.owner = THIS_MODULE, .proc_open = acpi_system_wakeup_device_open_fs,
.open = acpi_system_wakeup_device_open_fs, .proc_read = seq_read,
.read = seq_read, .proc_write = acpi_system_write_wakeup_device,
.write = acpi_system_write_wakeup_device, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release,
}; };
void __init acpi_sleep_proc_init(void) void __init acpi_sleep_proc_init(void)
{ {
/* 'wakeup device' [R/W] */ /* 'wakeup device' [R/W] */
proc_create("wakeup", S_IFREG | S_IRUGO | S_IWUSR, proc_create("wakeup", S_IFREG | S_IRUGO | S_IWUSR,
acpi_root_dir, &acpi_system_wakeup_device_fops); acpi_root_dir, &acpi_system_wakeup_device_proc_ops);
} }

View File

@ -595,19 +595,18 @@ static int i8k_open_fs(struct inode *inode, struct file *file)
return single_open(file, i8k_proc_show, NULL); return single_open(file, i8k_proc_show, NULL);
} }
static const struct file_operations i8k_fops = { static const struct proc_ops i8k_proc_ops = {
.owner = THIS_MODULE, .proc_open = i8k_open_fs,
.open = i8k_open_fs, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_ioctl = i8k_ioctl,
.unlocked_ioctl = i8k_ioctl,
}; };
static void __init i8k_init_procfs(void) static void __init i8k_init_procfs(void)
{ {
/* Register the proc entry */ /* Register the proc entry */
proc_create("i8k", 0, NULL, &i8k_fops); proc_create("i8k", 0, NULL, &i8k_proc_ops);
} }
static void __exit i8k_exit_procfs(void) static void __exit i8k_exit_procfs(void)

View File

@ -381,13 +381,12 @@ static ssize_t ide_settings_proc_write(struct file *file, const char __user *buf
return -EINVAL; return -EINVAL;
} }
static const struct file_operations ide_settings_proc_fops = { static const struct proc_ops ide_settings_proc_ops = {
.owner = THIS_MODULE, .proc_open = ide_settings_proc_open,
.open = ide_settings_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = ide_settings_proc_write,
.write = ide_settings_proc_write,
}; };
int ide_capacity_proc_show(struct seq_file *m, void *v) int ide_capacity_proc_show(struct seq_file *m, void *v)
@ -546,7 +545,7 @@ void ide_proc_port_register_devices(ide_hwif_t *hwif)
if (drive->proc) { if (drive->proc) {
ide_add_proc_entries(drive->proc, generic_drive_entries, drive); ide_add_proc_entries(drive->proc, generic_drive_entries, drive);
proc_create_data("settings", S_IFREG|S_IRUSR|S_IWUSR, proc_create_data("settings", S_IFREG|S_IRUSR|S_IWUSR,
drive->proc, &ide_settings_proc_fops, drive->proc, &ide_settings_proc_ops,
drive); drive);
} }
sprintf(name, "ide%d/%s", (drive->name[2]-'a')/2, drive->name); sprintf(name, "ide%d/%s", (drive->name[2]-'a')/2, drive->name);
@ -615,7 +614,7 @@ static int ide_drivers_show(struct seq_file *s, void *p)
return 0; return 0;
} }
DEFINE_SHOW_ATTRIBUTE(ide_drivers); DEFINE_PROC_SHOW_ATTRIBUTE(ide_drivers);
void proc_ide_create(void) void proc_ide_create(void)
{ {
@ -624,7 +623,7 @@ void proc_ide_create(void)
if (!proc_ide_root) if (!proc_ide_root)
return; return;
proc_create("drivers", 0, proc_ide_root, &ide_drivers_fops); proc_create("drivers", 0, proc_ide_root, &ide_drivers_proc_ops);
} }
void proc_ide_destroy(void) void proc_ide_destroy(void)

View File

@ -1216,13 +1216,12 @@ static int input_proc_devices_open(struct inode *inode, struct file *file)
return seq_open(file, &input_devices_seq_ops); return seq_open(file, &input_devices_seq_ops);
} }
static const struct file_operations input_devices_fileops = { static const struct proc_ops input_devices_proc_ops = {
.owner = THIS_MODULE, .proc_open = input_proc_devices_open,
.open = input_proc_devices_open, .proc_poll = input_proc_devices_poll,
.poll = input_proc_devices_poll, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = seq_release,
.release = seq_release,
}; };
static void *input_handlers_seq_start(struct seq_file *seq, loff_t *pos) static void *input_handlers_seq_start(struct seq_file *seq, loff_t *pos)
@ -1280,12 +1279,11 @@ static int input_proc_handlers_open(struct inode *inode, struct file *file)
return seq_open(file, &input_handlers_seq_ops); return seq_open(file, &input_handlers_seq_ops);
} }
static const struct file_operations input_handlers_fileops = { static const struct proc_ops input_handlers_proc_ops = {
.owner = THIS_MODULE, .proc_open = input_proc_handlers_open,
.open = input_proc_handlers_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = seq_release,
.release = seq_release,
}; };
static int __init input_proc_init(void) static int __init input_proc_init(void)
@ -1297,12 +1295,12 @@ static int __init input_proc_init(void)
return -ENOMEM; return -ENOMEM;
entry = proc_create("devices", 0, proc_bus_input_dir, entry = proc_create("devices", 0, proc_bus_input_dir,
&input_devices_fileops); &input_devices_proc_ops);
if (!entry) if (!entry)
goto fail1; goto fail1;
entry = proc_create("handlers", 0, proc_bus_input_dir, entry = proc_create("handlers", 0, proc_bus_input_dir,
&input_handlers_fileops); &input_handlers_proc_ops);
if (!entry) if (!entry)
goto fail2; goto fail2;

View File

@ -199,8 +199,8 @@ static ssize_t empty_read(struct file *file, char __user *buf,
return 0; return 0;
} }
static const struct file_operations empty_fops = { static const struct proc_ops empty_proc_ops = {
.read = empty_read, .proc_read = empty_read,
}; };
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -214,7 +214,7 @@ kcapi_proc_init(void)
proc_create_seq("capi/contrstats", 0, NULL, &seq_contrstats_ops); proc_create_seq("capi/contrstats", 0, NULL, &seq_contrstats_ops);
proc_create_seq("capi/applications", 0, NULL, &seq_applications_ops); proc_create_seq("capi/applications", 0, NULL, &seq_applications_ops);
proc_create_seq("capi/applstats", 0, NULL, &seq_applstats_ops); proc_create_seq("capi/applstats", 0, NULL, &seq_applstats_ops);
proc_create("capi/driver", 0, NULL, &empty_fops); proc_create("capi/driver", 0, NULL, &empty_proc_ops);
} }
void void

View File

@ -212,7 +212,7 @@ static int pmu_info_proc_show(struct seq_file *m, void *v);
static int pmu_irqstats_proc_show(struct seq_file *m, void *v); static int pmu_irqstats_proc_show(struct seq_file *m, void *v);
static int pmu_battery_proc_show(struct seq_file *m, void *v); static int pmu_battery_proc_show(struct seq_file *m, void *v);
static void pmu_pass_intr(unsigned char *data, int len); static void pmu_pass_intr(unsigned char *data, int len);
static const struct file_operations pmu_options_proc_fops; static const struct proc_ops pmu_options_proc_ops;
#ifdef CONFIG_ADB #ifdef CONFIG_ADB
const struct adb_driver via_pmu_driver = { const struct adb_driver via_pmu_driver = {
@ -573,7 +573,7 @@ static int __init via_pmu_dev_init(void)
proc_pmu_irqstats = proc_create_single("interrupts", 0, proc_pmu_irqstats = proc_create_single("interrupts", 0,
proc_pmu_root, pmu_irqstats_proc_show); proc_pmu_root, pmu_irqstats_proc_show);
proc_pmu_options = proc_create("options", 0600, proc_pmu_root, proc_pmu_options = proc_create("options", 0600, proc_pmu_root,
&pmu_options_proc_fops); &pmu_options_proc_ops);
} }
return 0; return 0;
} }
@ -974,13 +974,12 @@ static ssize_t pmu_options_proc_write(struct file *file,
return fcount; return fcount;
} }
static const struct file_operations pmu_options_proc_fops = { static const struct proc_ops pmu_options_proc_ops = {
.owner = THIS_MODULE, .proc_open = pmu_options_proc_open,
.open = pmu_options_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = pmu_options_proc_write,
.write = pmu_options_proc_write,
}; };
#ifdef CONFIG_ADB #ifdef CONFIG_ADB

View File

@ -8279,13 +8279,12 @@ static __poll_t mdstat_poll(struct file *filp, poll_table *wait)
return mask; return mask;
} }
static const struct file_operations md_seq_fops = { static const struct proc_ops mdstat_proc_ops = {
.owner = THIS_MODULE, .proc_open = md_seq_open,
.open = md_seq_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = seq_release,
.release = seq_release, .proc_poll = mdstat_poll,
.poll = mdstat_poll,
}; };
int register_md_personality(struct md_personality *p) int register_md_personality(struct md_personality *p)
@ -9454,7 +9453,7 @@ static void md_geninit(void)
{ {
pr_debug("md: sizeof(mdp_super_t) = %d\n", (int)sizeof(mdp_super_t)); pr_debug("md: sizeof(mdp_super_t) = %d\n", (int)sizeof(mdp_super_t));
proc_create("mdstat", S_IRUGO, NULL, &md_seq_fops); proc_create("mdstat", S_IRUGO, NULL, &mdstat_proc_ops);
} }
static int __init md_init(void) static int __init md_init(void)

View File

@ -255,28 +255,28 @@ static int options_open(struct inode *inode, struct file *file)
} }
/* *INDENT-OFF* */ /* *INDENT-OFF* */
static const struct file_operations statistics_fops = { static const struct proc_ops statistics_proc_ops = {
.open = statistics_open, .proc_open = statistics_open,
.read = seq_read, .proc_read = seq_read,
.write = statistics_write, .proc_write = statistics_write,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
}; };
static const struct file_operations mcs_statistics_fops = { static const struct proc_ops mcs_statistics_proc_ops = {
.open = mcs_statistics_open, .proc_open = mcs_statistics_open,
.read = seq_read, .proc_read = seq_read,
.write = mcs_statistics_write, .proc_write = mcs_statistics_write,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
}; };
static const struct file_operations options_fops = { static const struct proc_ops options_proc_ops = {
.open = options_open, .proc_open = options_open,
.read = seq_read, .proc_read = seq_read,
.write = options_write, .proc_write = options_write,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
}; };
static struct proc_dir_entry *proc_gru __read_mostly; static struct proc_dir_entry *proc_gru __read_mostly;
@ -286,11 +286,11 @@ int gru_proc_init(void)
proc_gru = proc_mkdir("sgi_uv/gru", NULL); proc_gru = proc_mkdir("sgi_uv/gru", NULL);
if (!proc_gru) if (!proc_gru)
return -1; return -1;
if (!proc_create("statistics", 0644, proc_gru, &statistics_fops)) if (!proc_create("statistics", 0644, proc_gru, &statistics_proc_ops))
goto err; goto err;
if (!proc_create("mcs_statistics", 0644, proc_gru, &mcs_statistics_fops)) if (!proc_create("mcs_statistics", 0644, proc_gru, &mcs_statistics_proc_ops))
goto err; goto err;
if (!proc_create("debug_options", 0644, proc_gru, &options_fops)) if (!proc_create("debug_options", 0644, proc_gru, &options_proc_ops))
goto err; goto err;
if (!proc_create_seq("cch_status", 0444, proc_gru, &cch_seq_ops)) if (!proc_create_seq("cch_status", 0444, proc_gru, &cch_seq_ops))
goto err; goto err;

View File

@ -4420,73 +4420,65 @@ static int proc_BSSList_open( struct inode *inode, struct file *file );
static int proc_config_open( struct inode *inode, struct file *file ); static int proc_config_open( struct inode *inode, struct file *file );
static int proc_wepkey_open( struct inode *inode, struct file *file ); static int proc_wepkey_open( struct inode *inode, struct file *file );
static const struct file_operations proc_statsdelta_ops = { static const struct proc_ops proc_statsdelta_ops = {
.owner = THIS_MODULE, .proc_read = proc_read,
.read = proc_read, .proc_open = proc_statsdelta_open,
.open = proc_statsdelta_open, .proc_release = proc_close,
.release = proc_close, .proc_lseek = default_llseek,
.llseek = default_llseek,
}; };
static const struct file_operations proc_stats_ops = { static const struct proc_ops proc_stats_ops = {
.owner = THIS_MODULE, .proc_read = proc_read,
.read = proc_read, .proc_open = proc_stats_open,
.open = proc_stats_open, .proc_release = proc_close,
.release = proc_close, .proc_lseek = default_llseek,
.llseek = default_llseek,
}; };
static const struct file_operations proc_status_ops = { static const struct proc_ops proc_status_ops = {
.owner = THIS_MODULE, .proc_read = proc_read,
.read = proc_read, .proc_open = proc_status_open,
.open = proc_status_open, .proc_release = proc_close,
.release = proc_close, .proc_lseek = default_llseek,
.llseek = default_llseek,
}; };
static const struct file_operations proc_SSID_ops = { static const struct proc_ops proc_SSID_ops = {
.owner = THIS_MODULE, .proc_read = proc_read,
.read = proc_read, .proc_write = proc_write,
.write = proc_write, .proc_open = proc_SSID_open,
.open = proc_SSID_open, .proc_release = proc_close,
.release = proc_close, .proc_lseek = default_llseek,
.llseek = default_llseek,
}; };
static const struct file_operations proc_BSSList_ops = { static const struct proc_ops proc_BSSList_ops = {
.owner = THIS_MODULE, .proc_read = proc_read,
.read = proc_read, .proc_write = proc_write,
.write = proc_write, .proc_open = proc_BSSList_open,
.open = proc_BSSList_open, .proc_release = proc_close,
.release = proc_close, .proc_lseek = default_llseek,
.llseek = default_llseek,
}; };
static const struct file_operations proc_APList_ops = { static const struct proc_ops proc_APList_ops = {
.owner = THIS_MODULE, .proc_read = proc_read,
.read = proc_read, .proc_write = proc_write,
.write = proc_write, .proc_open = proc_APList_open,
.open = proc_APList_open, .proc_release = proc_close,
.release = proc_close, .proc_lseek = default_llseek,
.llseek = default_llseek,
}; };
static const struct file_operations proc_config_ops = { static const struct proc_ops proc_config_ops = {
.owner = THIS_MODULE, .proc_read = proc_read,
.read = proc_read, .proc_write = proc_write,
.write = proc_write, .proc_open = proc_config_open,
.open = proc_config_open, .proc_release = proc_close,
.release = proc_close, .proc_lseek = default_llseek,
.llseek = default_llseek,
}; };
static const struct file_operations proc_wepkey_ops = { static const struct proc_ops proc_wepkey_ops = {
.owner = THIS_MODULE, .proc_read = proc_read,
.read = proc_read, .proc_write = proc_write,
.write = proc_write, .proc_open = proc_wepkey_open,
.open = proc_wepkey_open, .proc_release = proc_close,
.release = proc_close, .proc_lseek = default_llseek,
.llseek = default_llseek,
}; };
static struct proc_dir_entry *airo_entry; static struct proc_dir_entry *airo_entry;

View File

@ -240,13 +240,12 @@ static ssize_t debug_level_proc_write(struct file *file,
return strnlen(buf, len); return strnlen(buf, len);
} }
static const struct file_operations debug_level_proc_fops = { static const struct proc_ops debug_level_proc_ops = {
.owner = THIS_MODULE, .proc_open = debug_level_proc_open,
.open = debug_level_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = debug_level_proc_write,
.write = debug_level_proc_write,
}; };
#endif /* CONFIG_LIBIPW_DEBUG */ #endif /* CONFIG_LIBIPW_DEBUG */
@ -263,7 +262,7 @@ static int __init libipw_init(void)
return -EIO; return -EIO;
} }
e = proc_create("debug_level", 0644, libipw_proc, e = proc_create("debug_level", 0644, libipw_proc,
&debug_level_proc_fops); &debug_level_proc_ops);
if (!e) { if (!e) {
remove_proc_entry(DRV_PROCNAME, init_net.proc_net); remove_proc_entry(DRV_PROCNAME, init_net.proc_net);
libipw_proc = NULL; libipw_proc = NULL;

View File

@ -126,7 +126,7 @@ static void prism2_check_sta_fw_version(local_info_t *local);
#ifdef PRISM2_DOWNLOAD_SUPPORT #ifdef PRISM2_DOWNLOAD_SUPPORT
/* hostap_download.c */ /* hostap_download.c */
static const struct file_operations prism2_download_aux_dump_proc_fops; static const struct proc_ops prism2_download_aux_dump_proc_ops;
static u8 * prism2_read_pda(struct net_device *dev); static u8 * prism2_read_pda(struct net_device *dev);
static int prism2_download(local_info_t *local, static int prism2_download(local_info_t *local,
struct prism2_download_param *param); struct prism2_download_param *param);
@ -3094,7 +3094,7 @@ prism2_init_local_data(struct prism2_helper_functions *funcs, int card_idx,
local->func->reset_port = prism2_reset_port; local->func->reset_port = prism2_reset_port;
local->func->schedule_reset = prism2_schedule_reset; local->func->schedule_reset = prism2_schedule_reset;
#ifdef PRISM2_DOWNLOAD_SUPPORT #ifdef PRISM2_DOWNLOAD_SUPPORT
local->func->read_aux_fops = &prism2_download_aux_dump_proc_fops; local->func->read_aux_proc_ops = &prism2_download_aux_dump_proc_ops;
local->func->download = prism2_download; local->func->download = prism2_download;
#endif /* PRISM2_DOWNLOAD_SUPPORT */ #endif /* PRISM2_DOWNLOAD_SUPPORT */
local->func->tx = prism2_tx_80211; local->func->tx = prism2_tx_80211;

View File

@ -211,9 +211,9 @@ static ssize_t prism2_pda_proc_read(struct file *file, char __user *buf,
return count; return count;
} }
static const struct file_operations prism2_pda_proc_fops = { static const struct proc_ops prism2_pda_proc_ops = {
.read = prism2_pda_proc_read, .proc_read = prism2_pda_proc_read,
.llseek = generic_file_llseek, .proc_lseek = generic_file_llseek,
}; };
@ -223,8 +223,8 @@ static ssize_t prism2_aux_dump_proc_no_read(struct file *file, char __user *buf,
return 0; return 0;
} }
static const struct file_operations prism2_aux_dump_proc_fops = { static const struct proc_ops prism2_aux_dump_proc_ops = {
.read = prism2_aux_dump_proc_no_read, .proc_read = prism2_aux_dump_proc_no_read,
}; };
@ -379,9 +379,9 @@ void hostap_init_proc(local_info_t *local)
proc_create_seq_data("wds", 0, local->proc, proc_create_seq_data("wds", 0, local->proc,
&prism2_wds_proc_seqops, local); &prism2_wds_proc_seqops, local);
proc_create_data("pda", 0, local->proc, proc_create_data("pda", 0, local->proc,
&prism2_pda_proc_fops, local); &prism2_pda_proc_ops, local);
proc_create_data("aux_dump", 0, local->proc, proc_create_data("aux_dump", 0, local->proc,
local->func->read_aux_fops ?: &prism2_aux_dump_proc_fops, local->func->read_aux_proc_ops ?: &prism2_aux_dump_proc_ops,
local); local);
proc_create_seq_data("bss_list", 0, local->proc, proc_create_seq_data("bss_list", 0, local->proc,
&prism2_bss_list_proc_seqops, local); &prism2_bss_list_proc_seqops, local);

View File

@ -599,7 +599,7 @@ struct prism2_helper_functions {
struct prism2_download_param *param); struct prism2_download_param *param);
int (*tx)(struct sk_buff *skb, struct net_device *dev); int (*tx)(struct sk_buff *skb, struct net_device *dev);
int (*set_tim)(struct net_device *dev, int aid, int set); int (*set_tim)(struct net_device *dev, int aid, int set);
const struct file_operations *read_aux_fops; const struct proc_ops *read_aux_proc_ops;
int need_tx_headroom; /* number of bytes of headroom needed before int need_tx_headroom; /* number of bytes of headroom needed before
* IEEE 802.11 header */ * IEEE 802.11 header */

View File

@ -2717,10 +2717,9 @@ static ssize_t ray_cs_essid_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations ray_cs_essid_proc_fops = { static const struct proc_ops ray_cs_essid_proc_ops = {
.owner = THIS_MODULE, .proc_write = ray_cs_essid_proc_write,
.write = ray_cs_essid_proc_write, .proc_lseek = noop_llseek,
.llseek = noop_llseek,
}; };
static ssize_t int_proc_write(struct file *file, const char __user *buffer, static ssize_t int_proc_write(struct file *file, const char __user *buffer,
@ -2751,10 +2750,9 @@ static ssize_t int_proc_write(struct file *file, const char __user *buffer,
return count; return count;
} }
static const struct file_operations int_proc_fops = { static const struct proc_ops int_proc_ops = {
.owner = THIS_MODULE, .proc_write = int_proc_write,
.write = int_proc_write, .proc_lseek = noop_llseek,
.llseek = noop_llseek,
}; };
#endif #endif
@ -2790,10 +2788,10 @@ static int __init init_ray_cs(void)
proc_mkdir("driver/ray_cs", NULL); proc_mkdir("driver/ray_cs", NULL);
proc_create_single("driver/ray_cs/ray_cs", 0, NULL, ray_cs_proc_show); proc_create_single("driver/ray_cs/ray_cs", 0, NULL, ray_cs_proc_show);
proc_create("driver/ray_cs/essid", 0200, NULL, &ray_cs_essid_proc_fops); proc_create("driver/ray_cs/essid", 0200, NULL, &ray_cs_essid_proc_ops);
proc_create_data("driver/ray_cs/net_type", 0200, NULL, &int_proc_fops, proc_create_data("driver/ray_cs/net_type", 0200, NULL, &int_proc_ops,
&net_type); &net_type);
proc_create_data("driver/ray_cs/translate", 0200, NULL, &int_proc_fops, proc_create_data("driver/ray_cs/translate", 0200, NULL, &int_proc_ops,
&translate); &translate);
#endif #endif
if (translate != 0) if (translate != 0)

View File

@ -230,13 +230,12 @@ static ssize_t led_proc_write(struct file *file, const char __user *buf,
return -EINVAL; return -EINVAL;
} }
static const struct file_operations led_proc_fops = { static const struct proc_ops led_proc_ops = {
.owner = THIS_MODULE, .proc_open = led_proc_open,
.open = led_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = led_proc_write,
.write = led_proc_write,
}; };
static int __init led_create_procfs(void) static int __init led_create_procfs(void)
@ -252,14 +251,14 @@ static int __init led_create_procfs(void)
if (!lcd_no_led_support) if (!lcd_no_led_support)
{ {
ent = proc_create_data("led", S_IRUGO|S_IWUSR, proc_pdc_root, ent = proc_create_data("led", S_IRUGO|S_IWUSR, proc_pdc_root,
&led_proc_fops, (void *)LED_NOLCD); /* LED */ &led_proc_ops, (void *)LED_NOLCD); /* LED */
if (!ent) return -1; if (!ent) return -1;
} }
if (led_type == LED_HASLCD) if (led_type == LED_HASLCD)
{ {
ent = proc_create_data("lcd", S_IRUGO|S_IWUSR, proc_pdc_root, ent = proc_create_data("lcd", S_IRUGO|S_IWUSR, proc_pdc_root,
&led_proc_fops, (void *)LED_HASLCD); /* LCD */ &led_proc_ops, (void *)LED_HASLCD); /* LCD */
if (!ent) return -1; if (!ent) return -1;
} }

View File

@ -306,19 +306,20 @@ static int proc_bus_pci_release(struct inode *inode, struct file *file)
} }
#endif /* HAVE_PCI_MMAP */ #endif /* HAVE_PCI_MMAP */
static const struct file_operations proc_bus_pci_operations = { static const struct proc_ops proc_bus_pci_ops = {
.owner = THIS_MODULE, .proc_lseek = proc_bus_pci_lseek,
.llseek = proc_bus_pci_lseek, .proc_read = proc_bus_pci_read,
.read = proc_bus_pci_read, .proc_write = proc_bus_pci_write,
.write = proc_bus_pci_write, .proc_ioctl = proc_bus_pci_ioctl,
.unlocked_ioctl = proc_bus_pci_ioctl, #ifdef CONFIG_COMPAT
.compat_ioctl = proc_bus_pci_ioctl, .proc_compat_ioctl = proc_bus_pci_ioctl,
#endif
#ifdef HAVE_PCI_MMAP #ifdef HAVE_PCI_MMAP
.open = proc_bus_pci_open, .proc_open = proc_bus_pci_open,
.release = proc_bus_pci_release, .proc_release = proc_bus_pci_release,
.mmap = proc_bus_pci_mmap, .proc_mmap = proc_bus_pci_mmap,
#ifdef HAVE_ARCH_PCI_GET_UNMAPPED_AREA #ifdef HAVE_ARCH_PCI_GET_UNMAPPED_AREA
.get_unmapped_area = get_pci_unmapped_area, .proc_get_unmapped_area = get_pci_unmapped_area,
#endif /* HAVE_ARCH_PCI_GET_UNMAPPED_AREA */ #endif /* HAVE_ARCH_PCI_GET_UNMAPPED_AREA */
#endif /* HAVE_PCI_MMAP */ #endif /* HAVE_PCI_MMAP */
}; };
@ -424,7 +425,7 @@ int pci_proc_attach_device(struct pci_dev *dev)
sprintf(name, "%02x.%x", PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn)); sprintf(name, "%02x.%x", PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn));
e = proc_create_data(name, S_IFREG | S_IRUGO | S_IWUSR, bus->procdir, e = proc_create_data(name, S_IFREG | S_IRUGO | S_IWUSR, bus->procdir,
&proc_bus_pci_operations, dev); &proc_bus_pci_ops, dev);
if (!e) if (!e)
return -ENOMEM; return -ENOMEM;
proc_set_size(e, dev->cfg_size); proc_set_size(e, dev->cfg_size);

View File

@ -907,13 +907,12 @@ static ssize_t dispatch_proc_write(struct file *file,
return ret; return ret;
} }
static const struct file_operations dispatch_proc_fops = { static const struct proc_ops dispatch_proc_ops = {
.owner = THIS_MODULE, .proc_open = dispatch_proc_open,
.open = dispatch_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = dispatch_proc_write,
.write = dispatch_proc_write,
}; };
static char *next_cmd(char **cmds) static char *next_cmd(char **cmds)
@ -9984,7 +9983,7 @@ static int __init ibm_init(struct ibm_init_struct *iibm)
if (ibm->write) if (ibm->write)
mode |= S_IWUSR; mode |= S_IWUSR;
entry = proc_create_data(ibm->name, mode, proc_dir, entry = proc_create_data(ibm->name, mode, proc_dir,
&dispatch_proc_fops, ibm); &dispatch_proc_ops, ibm);
if (!entry) { if (!entry) {
pr_err("unable to create proc entry %s\n", ibm->name); pr_err("unable to create proc entry %s\n", ibm->name);
ret = -ENODEV; ret = -ENODEV;

View File

@ -1432,13 +1432,12 @@ static ssize_t lcd_proc_write(struct file *file, const char __user *buf,
return count; return count;
} }
static const struct file_operations lcd_proc_fops = { static const struct proc_ops lcd_proc_ops = {
.owner = THIS_MODULE, .proc_open = lcd_proc_open,
.open = lcd_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = lcd_proc_write,
.write = lcd_proc_write,
}; };
/* Video-Out */ /* Video-Out */
@ -1539,13 +1538,12 @@ static ssize_t video_proc_write(struct file *file, const char __user *buf,
return ret ? -EIO : count; return ret ? -EIO : count;
} }
static const struct file_operations video_proc_fops = { static const struct proc_ops video_proc_ops = {
.owner = THIS_MODULE, .proc_open = video_proc_open,
.open = video_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = video_proc_write,
.write = video_proc_write,
}; };
/* Fan status */ /* Fan status */
@ -1617,13 +1615,12 @@ static ssize_t fan_proc_write(struct file *file, const char __user *buf,
return count; return count;
} }
static const struct file_operations fan_proc_fops = { static const struct proc_ops fan_proc_ops = {
.owner = THIS_MODULE, .proc_open = fan_proc_open,
.open = fan_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = fan_proc_write,
.write = fan_proc_write,
}; };
static int keys_proc_show(struct seq_file *m, void *v) static int keys_proc_show(struct seq_file *m, void *v)
@ -1662,13 +1659,12 @@ static ssize_t keys_proc_write(struct file *file, const char __user *buf,
return count; return count;
} }
static const struct file_operations keys_proc_fops = { static const struct proc_ops keys_proc_ops = {
.owner = THIS_MODULE, .proc_open = keys_proc_open,
.open = keys_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = keys_proc_write,
.write = keys_proc_write,
}; };
static int __maybe_unused version_proc_show(struct seq_file *m, void *v) static int __maybe_unused version_proc_show(struct seq_file *m, void *v)
@ -1688,16 +1684,16 @@ static void create_toshiba_proc_entries(struct toshiba_acpi_dev *dev)
{ {
if (dev->backlight_dev) if (dev->backlight_dev)
proc_create_data("lcd", S_IRUGO | S_IWUSR, toshiba_proc_dir, proc_create_data("lcd", S_IRUGO | S_IWUSR, toshiba_proc_dir,
&lcd_proc_fops, dev); &lcd_proc_ops, dev);
if (dev->video_supported) if (dev->video_supported)
proc_create_data("video", S_IRUGO | S_IWUSR, toshiba_proc_dir, proc_create_data("video", S_IRUGO | S_IWUSR, toshiba_proc_dir,
&video_proc_fops, dev); &video_proc_ops, dev);
if (dev->fan_supported) if (dev->fan_supported)
proc_create_data("fan", S_IRUGO | S_IWUSR, toshiba_proc_dir, proc_create_data("fan", S_IRUGO | S_IWUSR, toshiba_proc_dir,
&fan_proc_fops, dev); &fan_proc_ops, dev);
if (dev->hotkey_dev) if (dev->hotkey_dev)
proc_create_data("keys", S_IRUGO | S_IWUSR, toshiba_proc_dir, proc_create_data("keys", S_IRUGO | S_IWUSR, toshiba_proc_dir,
&keys_proc_fops, dev); &keys_proc_ops, dev);
proc_create_single_data("version", S_IRUGO, toshiba_proc_dir, proc_create_single_data("version", S_IRUGO, toshiba_proc_dir,
version_proc_show, dev); version_proc_show, dev);
} }

View File

@ -49,10 +49,9 @@ static ssize_t isapnp_proc_bus_read(struct file *file, char __user * buf,
return nbytes; return nbytes;
} }
static const struct file_operations isapnp_proc_bus_file_operations = { static const struct proc_ops isapnp_proc_bus_proc_ops = {
.owner = THIS_MODULE, .proc_lseek = isapnp_proc_bus_lseek,
.llseek = isapnp_proc_bus_lseek, .proc_read = isapnp_proc_bus_read,
.read = isapnp_proc_bus_read,
}; };
static int isapnp_proc_attach_device(struct pnp_dev *dev) static int isapnp_proc_attach_device(struct pnp_dev *dev)
@ -69,7 +68,7 @@ static int isapnp_proc_attach_device(struct pnp_dev *dev)
} }
sprintf(name, "%02x", dev->number); sprintf(name, "%02x", dev->number);
e = dev->procent = proc_create_data(name, S_IFREG | S_IRUGO, de, e = dev->procent = proc_create_data(name, S_IFREG | S_IRUGO, de,
&isapnp_proc_bus_file_operations, dev); &isapnp_proc_bus_proc_ops, dev);
if (!e) if (!e)
return -ENOMEM; return -ENOMEM;
proc_set_size(e, 256); proc_set_size(e, 256);

View File

@ -210,13 +210,12 @@ static ssize_t pnpbios_proc_write(struct file *file, const char __user *buf,
return ret; return ret;
} }
static const struct file_operations pnpbios_proc_fops = { static const struct proc_ops pnpbios_proc_ops = {
.owner = THIS_MODULE, .proc_open = pnpbios_proc_open,
.open = pnpbios_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = pnpbios_proc_write,
.write = pnpbios_proc_write,
}; };
int pnpbios_interface_attach_device(struct pnp_bios_node *node) int pnpbios_interface_attach_device(struct pnp_bios_node *node)
@ -228,13 +227,13 @@ int pnpbios_interface_attach_device(struct pnp_bios_node *node)
if (!proc_pnp) if (!proc_pnp)
return -EIO; return -EIO;
if (!pnpbios_dont_use_current_config) { if (!pnpbios_dont_use_current_config) {
proc_create_data(name, 0644, proc_pnp, &pnpbios_proc_fops, proc_create_data(name, 0644, proc_pnp, &pnpbios_proc_ops,
(void *)(long)(node->handle)); (void *)(long)(node->handle));
} }
if (!proc_pnp_boot) if (!proc_pnp_boot)
return -EIO; return -EIO;
if (proc_create_data(name, 0644, proc_pnp_boot, &pnpbios_proc_fops, if (proc_create_data(name, 0644, proc_pnp_boot, &pnpbios_proc_ops,
(void *)(long)(node->handle + 0x100))) (void *)(long)(node->handle + 0x100)))
return 0; return 0;
return -EIO; return -EIO;

View File

@ -320,13 +320,12 @@ static ssize_t dasd_stats_proc_write(struct file *file,
#endif /* CONFIG_DASD_PROFILE */ #endif /* CONFIG_DASD_PROFILE */
} }
static const struct file_operations dasd_stats_proc_fops = { static const struct proc_ops dasd_stats_proc_ops = {
.owner = THIS_MODULE, .proc_open = dasd_stats_proc_open,
.open = dasd_stats_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = dasd_stats_proc_write,
.write = dasd_stats_proc_write,
}; };
/* /*
@ -347,7 +346,7 @@ dasd_proc_init(void)
dasd_statistics_entry = proc_create("statistics", dasd_statistics_entry = proc_create("statistics",
S_IFREG | S_IRUGO | S_IWUSR, S_IFREG | S_IRUGO | S_IWUSR,
dasd_proc_root_entry, dasd_proc_root_entry,
&dasd_stats_proc_fops); &dasd_stats_proc_ops);
if (!dasd_statistics_entry) if (!dasd_statistics_entry)
goto out_nostatistics; goto out_nostatistics;
return 0; return 0;

View File

@ -398,12 +398,12 @@ cio_ignore_proc_open(struct inode *inode, struct file *file)
sizeof(struct ccwdev_iter)); sizeof(struct ccwdev_iter));
} }
static const struct file_operations cio_ignore_proc_fops = { static const struct proc_ops cio_ignore_proc_ops = {
.open = cio_ignore_proc_open, .proc_open = cio_ignore_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = seq_release_private, .proc_release = seq_release_private,
.write = cio_ignore_write, .proc_write = cio_ignore_write,
}; };
static int static int
@ -412,7 +412,7 @@ cio_ignore_proc_init (void)
struct proc_dir_entry *entry; struct proc_dir_entry *entry;
entry = proc_create("cio_ignore", S_IFREG | S_IRUGO | S_IWUSR, NULL, entry = proc_create("cio_ignore", S_IFREG | S_IRUGO | S_IWUSR, NULL,
&cio_ignore_proc_fops); &cio_ignore_proc_ops);
if (!entry) if (!entry)
return -ENOENT; return -ENOENT;
return 0; return 0;

View File

@ -1372,18 +1372,17 @@ static ssize_t cio_settle_write(struct file *file, const char __user *buf,
return ret ? ret : count; return ret ? ret : count;
} }
static const struct file_operations cio_settle_proc_fops = { static const struct proc_ops cio_settle_proc_ops = {
.open = nonseekable_open, .proc_open = nonseekable_open,
.write = cio_settle_write, .proc_write = cio_settle_write,
.llseek = no_llseek, .proc_lseek = no_llseek,
}; };
static int __init cio_settle_init(void) static int __init cio_settle_init(void)
{ {
struct proc_dir_entry *entry; struct proc_dir_entry *entry;
entry = proc_create("cio_settle", S_IWUSR, NULL, entry = proc_create("cio_settle", S_IWUSR, NULL, &cio_settle_proc_ops);
&cio_settle_proc_fops);
if (!entry) if (!entry)
return -ENOMEM; return -ENOMEM;
return 0; return 0;

View File

@ -617,6 +617,13 @@ static const struct file_operations esas2r_proc_fops = {
.unlocked_ioctl = esas2r_proc_ioctl, .unlocked_ioctl = esas2r_proc_ioctl,
}; };
static const struct proc_ops esas2r_proc_ops = {
.proc_ioctl = esas2r_proc_ioctl,
#ifdef CONFIG_COMPAT
.proc_compat_ioctl = compat_ptr_ioctl,
#endif
};
static struct Scsi_Host *esas2r_proc_host; static struct Scsi_Host *esas2r_proc_host;
static int esas2r_proc_major; static int esas2r_proc_major;
@ -728,7 +735,7 @@ const char *esas2r_info(struct Scsi_Host *sh)
pde = proc_create(ATTONODE_NAME, 0, pde = proc_create(ATTONODE_NAME, 0,
sh->hostt->proc_dir, sh->hostt->proc_dir,
&esas2r_proc_fops); &esas2r_proc_ops);
if (!pde) { if (!pde) {
esas2r_log_dev(ESAS2R_LOG_WARN, esas2r_log_dev(ESAS2R_LOG_WARN,

View File

@ -736,13 +736,12 @@ static ssize_t proc_scsi_devinfo_write(struct file *file,
return err; return err;
} }
static const struct file_operations scsi_devinfo_proc_fops = { static const struct proc_ops scsi_devinfo_proc_ops = {
.owner = THIS_MODULE, .proc_open = proc_scsi_devinfo_open,
.open = proc_scsi_devinfo_open, .proc_read = seq_read,
.read = seq_read, .proc_write = proc_scsi_devinfo_write,
.write = proc_scsi_devinfo_write, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = seq_release,
.release = seq_release,
}; };
#endif /* CONFIG_SCSI_PROC_FS */ #endif /* CONFIG_SCSI_PROC_FS */
@ -867,7 +866,7 @@ int __init scsi_init_devinfo(void)
} }
#ifdef CONFIG_SCSI_PROC_FS #ifdef CONFIG_SCSI_PROC_FS
p = proc_create("scsi/device_info", 0, NULL, &scsi_devinfo_proc_fops); p = proc_create("scsi/device_info", 0, NULL, &scsi_devinfo_proc_ops);
if (!p) { if (!p) {
error = -ENOMEM; error = -ENOMEM;
goto out; goto out;

View File

@ -83,12 +83,12 @@ static int proc_scsi_host_open(struct inode *inode, struct file *file)
4 * PAGE_SIZE); 4 * PAGE_SIZE);
} }
static const struct file_operations proc_scsi_fops = { static const struct proc_ops proc_scsi_ops = {
.open = proc_scsi_host_open, .proc_open = proc_scsi_host_open,
.release = single_release, .proc_release = single_release,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = proc_scsi_host_write .proc_write = proc_scsi_host_write
}; };
/** /**
@ -146,7 +146,7 @@ void scsi_proc_host_add(struct Scsi_Host *shost)
sprintf(name,"%d", shost->host_no); sprintf(name,"%d", shost->host_no);
p = proc_create_data(name, S_IRUGO | S_IWUSR, p = proc_create_data(name, S_IRUGO | S_IWUSR,
sht->proc_dir, &proc_scsi_fops, shost); sht->proc_dir, &proc_scsi_ops, shost);
if (!p) if (!p)
printk(KERN_ERR "%s: Failed to register host %d in" printk(KERN_ERR "%s: Failed to register host %d in"
"%s\n", __func__, shost->host_no, "%s\n", __func__, shost->host_no,
@ -436,13 +436,12 @@ static int proc_scsi_open(struct inode *inode, struct file *file)
return seq_open(file, &scsi_seq_ops); return seq_open(file, &scsi_seq_ops);
} }
static const struct file_operations proc_scsi_operations = { static const struct proc_ops scsi_scsi_proc_ops = {
.owner = THIS_MODULE, .proc_open = proc_scsi_open,
.open = proc_scsi_open, .proc_read = seq_read,
.read = seq_read, .proc_write = proc_scsi_write,
.write = proc_scsi_write, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = seq_release,
.release = seq_release,
}; };
/** /**
@ -456,7 +455,7 @@ int __init scsi_init_procfs(void)
if (!proc_scsi) if (!proc_scsi)
goto err1; goto err1;
pde = proc_create("scsi/scsi", 0, NULL, &proc_scsi_operations); pde = proc_create("scsi/scsi", 0, NULL, &scsi_scsi_proc_ops);
if (!pde) if (!pde)
goto err2; goto err2;

View File

@ -2322,25 +2322,23 @@ static int sg_proc_seq_show_int(struct seq_file *s, void *v);
static int sg_proc_single_open_adio(struct inode *inode, struct file *file); static int sg_proc_single_open_adio(struct inode *inode, struct file *file);
static ssize_t sg_proc_write_adio(struct file *filp, const char __user *buffer, static ssize_t sg_proc_write_adio(struct file *filp, const char __user *buffer,
size_t count, loff_t *off); size_t count, loff_t *off);
static const struct file_operations adio_fops = { static const struct proc_ops adio_proc_ops = {
.owner = THIS_MODULE, .proc_open = sg_proc_single_open_adio,
.open = sg_proc_single_open_adio, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_write = sg_proc_write_adio,
.write = sg_proc_write_adio, .proc_release = single_release,
.release = single_release,
}; };
static int sg_proc_single_open_dressz(struct inode *inode, struct file *file); static int sg_proc_single_open_dressz(struct inode *inode, struct file *file);
static ssize_t sg_proc_write_dressz(struct file *filp, static ssize_t sg_proc_write_dressz(struct file *filp,
const char __user *buffer, size_t count, loff_t *off); const char __user *buffer, size_t count, loff_t *off);
static const struct file_operations dressz_fops = { static const struct proc_ops dressz_proc_ops = {
.owner = THIS_MODULE, .proc_open = sg_proc_single_open_dressz,
.open = sg_proc_single_open_dressz, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_write = sg_proc_write_dressz,
.write = sg_proc_write_dressz, .proc_release = single_release,
.release = single_release,
}; };
static int sg_proc_seq_show_version(struct seq_file *s, void *v); static int sg_proc_seq_show_version(struct seq_file *s, void *v);
@ -2381,9 +2379,9 @@ sg_proc_init(void)
if (!p) if (!p)
return 1; return 1;
proc_create("allow_dio", S_IRUGO | S_IWUSR, p, &adio_fops); proc_create("allow_dio", S_IRUGO | S_IWUSR, p, &adio_proc_ops);
proc_create_seq("debug", S_IRUGO, p, &debug_seq_ops); proc_create_seq("debug", S_IRUGO, p, &debug_seq_ops);
proc_create("def_reserved_size", S_IRUGO | S_IWUSR, p, &dressz_fops); proc_create("def_reserved_size", S_IRUGO | S_IWUSR, p, &dressz_proc_ops);
proc_create_single("device_hdr", S_IRUGO, p, sg_proc_seq_show_devhdr); proc_create_single("device_hdr", S_IRUGO, p, sg_proc_seq_show_devhdr);
proc_create_seq("devices", S_IRUGO, p, &dev_seq_ops); proc_create_seq("devices", S_IRUGO, p, &dev_seq_ops);
proc_create_seq("device_strs", S_IRUGO, p, &devstrs_seq_ops); proc_create_seq("device_strs", S_IRUGO, p, &devstrs_seq_ops);

View File

@ -264,12 +264,12 @@ static int open_debug_level(struct inode *inode, struct file *file)
return single_open(file, show_debug_level, NULL); return single_open(file, show_debug_level, NULL);
} }
static const struct file_operations fops = { static const struct proc_ops debug_level_proc_ops = {
.open = open_debug_level, .proc_open = open_debug_level,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = write_debug_level, .proc_write = write_debug_level,
.release = single_release, .proc_release = single_release,
}; };
int __init ieee80211_debug_init(void) int __init ieee80211_debug_init(void)
@ -284,7 +284,7 @@ int __init ieee80211_debug_init(void)
" proc directory\n"); " proc directory\n");
return -EIO; return -EIO;
} }
e = proc_create("debug_level", 0644, ieee80211_proc, &fops); e = proc_create("debug_level", 0644, ieee80211_proc, &debug_level_proc_ops);
if (!e) { if (!e) {
remove_proc_entry(DRV_NAME, init_net.proc_net); remove_proc_entry(DRV_NAME, init_net.proc_net);
ieee80211_proc = NULL; ieee80211_proc = NULL;

View File

@ -1101,15 +1101,15 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
return count; return count;
} }
static const struct file_operations proc_sysrq_trigger_operations = { static const struct proc_ops sysrq_trigger_proc_ops = {
.write = write_sysrq_trigger, .proc_write = write_sysrq_trigger,
.llseek = noop_llseek, .proc_lseek = noop_llseek,
}; };
static void sysrq_init_procfs(void) static void sysrq_init_procfs(void)
{ {
if (!proc_create("sysrq-trigger", S_IWUSR, NULL, if (!proc_create("sysrq-trigger", S_IWUSR, NULL,
&proc_sysrq_trigger_operations)) &sysrq_trigger_proc_ops))
pr_err("Failed to register proc interface\n"); pr_err("Failed to register proc interface\n");
} }

View File

@ -72,7 +72,7 @@ static rndis_resp_t *rndis_add_response(struct rndis_params *params,
#ifdef CONFIG_USB_GADGET_DEBUG_FILES #ifdef CONFIG_USB_GADGET_DEBUG_FILES
static const struct file_operations rndis_proc_fops; static const struct proc_ops rndis_proc_ops;
#endif /* CONFIG_USB_GADGET_DEBUG_FILES */ #endif /* CONFIG_USB_GADGET_DEBUG_FILES */
@ -902,7 +902,7 @@ struct rndis_params *rndis_register(void (*resp_avail)(void *v), void *v)
sprintf(name, NAME_TEMPLATE, i); sprintf(name, NAME_TEMPLATE, i);
proc_entry = proc_create_data(name, 0660, NULL, proc_entry = proc_create_data(name, 0660, NULL,
&rndis_proc_fops, params); &rndis_proc_ops, params);
if (!proc_entry) { if (!proc_entry) {
kfree(params); kfree(params);
rndis_put_nr(i); rndis_put_nr(i);
@ -1164,13 +1164,12 @@ static int rndis_proc_open(struct inode *inode, struct file *file)
return single_open(file, rndis_proc_show, PDE_DATA(inode)); return single_open(file, rndis_proc_show, PDE_DATA(inode));
} }
static const struct file_operations rndis_proc_fops = { static const struct proc_ops rndis_proc_ops = {
.owner = THIS_MODULE, .proc_open = rndis_proc_open,
.open = rndis_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = rndis_proc_write,
.write = rndis_proc_write,
}; };
#define NAME_TEMPLATE "driver/rndis-%03d" #define NAME_TEMPLATE "driver/rndis-%03d"

View File

@ -1173,13 +1173,12 @@ static ssize_t viafb_dvp0_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations viafb_dvp0_proc_fops = { static const struct proc_ops viafb_dvp0_proc_ops = {
.owner = THIS_MODULE, .proc_open = viafb_dvp0_proc_open,
.open = viafb_dvp0_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = viafb_dvp0_proc_write,
.write = viafb_dvp0_proc_write,
}; };
static int viafb_dvp1_proc_show(struct seq_file *m, void *v) static int viafb_dvp1_proc_show(struct seq_file *m, void *v)
@ -1238,13 +1237,12 @@ static ssize_t viafb_dvp1_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations viafb_dvp1_proc_fops = { static const struct proc_ops viafb_dvp1_proc_ops = {
.owner = THIS_MODULE, .proc_open = viafb_dvp1_proc_open,
.open = viafb_dvp1_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = viafb_dvp1_proc_write,
.write = viafb_dvp1_proc_write,
}; };
static int viafb_dfph_proc_show(struct seq_file *m, void *v) static int viafb_dfph_proc_show(struct seq_file *m, void *v)
@ -1273,13 +1271,12 @@ static ssize_t viafb_dfph_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations viafb_dfph_proc_fops = { static const struct proc_ops viafb_dfph_proc_ops = {
.owner = THIS_MODULE, .proc_open = viafb_dfph_proc_open,
.open = viafb_dfph_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = viafb_dfph_proc_write,
.write = viafb_dfph_proc_write,
}; };
static int viafb_dfpl_proc_show(struct seq_file *m, void *v) static int viafb_dfpl_proc_show(struct seq_file *m, void *v)
@ -1308,13 +1305,12 @@ static ssize_t viafb_dfpl_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations viafb_dfpl_proc_fops = { static const struct proc_ops viafb_dfpl_proc_ops = {
.owner = THIS_MODULE, .proc_open = viafb_dfpl_proc_open,
.open = viafb_dfpl_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = viafb_dfpl_proc_write,
.write = viafb_dfpl_proc_write,
}; };
static int viafb_vt1636_proc_show(struct seq_file *m, void *v) static int viafb_vt1636_proc_show(struct seq_file *m, void *v)
@ -1444,13 +1440,12 @@ static ssize_t viafb_vt1636_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations viafb_vt1636_proc_fops = { static const struct proc_ops viafb_vt1636_proc_ops = {
.owner = THIS_MODULE, .proc_open = viafb_vt1636_proc_open,
.open = viafb_vt1636_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = viafb_vt1636_proc_write,
.write = viafb_vt1636_proc_write,
}; };
#endif /* CONFIG_FB_VIA_DIRECT_PROCFS */ #endif /* CONFIG_FB_VIA_DIRECT_PROCFS */
@ -1522,13 +1517,12 @@ static ssize_t viafb_iga1_odev_proc_write(struct file *file,
return res; return res;
} }
static const struct file_operations viafb_iga1_odev_proc_fops = { static const struct proc_ops viafb_iga1_odev_proc_ops = {
.owner = THIS_MODULE, .proc_open = viafb_iga1_odev_proc_open,
.open = viafb_iga1_odev_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = viafb_iga1_odev_proc_write,
.write = viafb_iga1_odev_proc_write,
}; };
static int viafb_iga2_odev_proc_show(struct seq_file *m, void *v) static int viafb_iga2_odev_proc_show(struct seq_file *m, void *v)
@ -1562,13 +1556,12 @@ static ssize_t viafb_iga2_odev_proc_write(struct file *file,
return res; return res;
} }
static const struct file_operations viafb_iga2_odev_proc_fops = { static const struct proc_ops viafb_iga2_odev_proc_ops = {
.owner = THIS_MODULE, .proc_open = viafb_iga2_odev_proc_open,
.open = viafb_iga2_odev_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release, .proc_write = viafb_iga2_odev_proc_write,
.write = viafb_iga2_odev_proc_write,
}; };
#define IS_VT1636(lvds_chip) ((lvds_chip).lvds_chip_name == VT1636_LVDS) #define IS_VT1636(lvds_chip) ((lvds_chip).lvds_chip_name == VT1636_LVDS)
@ -1580,14 +1573,14 @@ static void viafb_init_proc(struct viafb_shared *shared)
shared->proc_entry = viafb_entry; shared->proc_entry = viafb_entry;
if (viafb_entry) { if (viafb_entry) {
#ifdef CONFIG_FB_VIA_DIRECT_PROCFS #ifdef CONFIG_FB_VIA_DIRECT_PROCFS
proc_create("dvp0", 0, viafb_entry, &viafb_dvp0_proc_fops); proc_create("dvp0", 0, viafb_entry, &viafb_dvp0_proc_ops);
proc_create("dvp1", 0, viafb_entry, &viafb_dvp1_proc_fops); proc_create("dvp1", 0, viafb_entry, &viafb_dvp1_proc_ops);
proc_create("dfph", 0, viafb_entry, &viafb_dfph_proc_fops); proc_create("dfph", 0, viafb_entry, &viafb_dfph_proc_ops);
proc_create("dfpl", 0, viafb_entry, &viafb_dfpl_proc_fops); proc_create("dfpl", 0, viafb_entry, &viafb_dfpl_proc_ops);
if (IS_VT1636(shared->chip_info.lvds_chip_info) if (IS_VT1636(shared->chip_info.lvds_chip_info)
|| IS_VT1636(shared->chip_info.lvds_chip_info2)) || IS_VT1636(shared->chip_info.lvds_chip_info2))
proc_create("vt1636", 0, viafb_entry, proc_create("vt1636", 0, viafb_entry,
&viafb_vt1636_proc_fops); &viafb_vt1636_proc_ops);
#endif /* CONFIG_FB_VIA_DIRECT_PROCFS */ #endif /* CONFIG_FB_VIA_DIRECT_PROCFS */
proc_create_single("supported_output_devices", 0, viafb_entry, proc_create_single("supported_output_devices", 0, viafb_entry,
@ -1595,11 +1588,11 @@ static void viafb_init_proc(struct viafb_shared *shared)
iga1_entry = proc_mkdir("iga1", viafb_entry); iga1_entry = proc_mkdir("iga1", viafb_entry);
shared->iga1_proc_entry = iga1_entry; shared->iga1_proc_entry = iga1_entry;
proc_create("output_devices", 0, iga1_entry, proc_create("output_devices", 0, iga1_entry,
&viafb_iga1_odev_proc_fops); &viafb_iga1_odev_proc_ops);
iga2_entry = proc_mkdir("iga2", viafb_entry); iga2_entry = proc_mkdir("iga2", viafb_entry);
shared->iga2_proc_entry = iga2_entry; shared->iga2_proc_entry = iga2_entry;
proc_create("output_devices", 0, iga2_entry, proc_create("output_devices", 0, iga2_entry,
&viafb_iga2_odev_proc_fops); &viafb_iga2_odev_proc_ops);
} }
} }
static void viafb_remove_proc(struct viafb_shared *shared) static void viafb_remove_proc(struct viafb_shared *shared)

View File

@ -56,10 +56,9 @@ proc_bus_zorro_read(struct file *file, char __user *buf, size_t nbytes, loff_t *
return nbytes; return nbytes;
} }
static const struct file_operations proc_bus_zorro_operations = { static const struct proc_ops bus_zorro_proc_ops = {
.owner = THIS_MODULE, .proc_lseek = proc_bus_zorro_lseek,
.llseek = proc_bus_zorro_lseek, .proc_read = proc_bus_zorro_read,
.read = proc_bus_zorro_read,
}; };
static void * zorro_seq_start(struct seq_file *m, loff_t *pos) static void * zorro_seq_start(struct seq_file *m, loff_t *pos)
@ -105,7 +104,7 @@ static int __init zorro_proc_attach_device(unsigned int slot)
sprintf(name, "%02x", slot); sprintf(name, "%02x", slot);
entry = proc_create_data(name, 0, proc_bus_zorro_dir, entry = proc_create_data(name, 0, proc_bus_zorro_dir,
&proc_bus_zorro_operations, &bus_zorro_proc_ops,
&zorro_autocon[slot]); &zorro_autocon[slot]);
if (!entry) if (!entry)
return -ENOMEM; return -ENOMEM;

View File

@ -611,12 +611,12 @@ static int cifs_stats_proc_open(struct inode *inode, struct file *file)
return single_open(file, cifs_stats_proc_show, NULL); return single_open(file, cifs_stats_proc_show, NULL);
} }
static const struct file_operations cifs_stats_proc_fops = { static const struct proc_ops cifs_stats_proc_ops = {
.open = cifs_stats_proc_open, .proc_open = cifs_stats_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = cifs_stats_proc_write, .proc_write = cifs_stats_proc_write,
}; };
#ifdef CONFIG_CIFS_SMB_DIRECT #ifdef CONFIG_CIFS_SMB_DIRECT
@ -640,12 +640,12 @@ static int name##_open(struct inode *inode, struct file *file) \
return single_open(file, name##_proc_show, NULL); \ return single_open(file, name##_proc_show, NULL); \
} \ } \
\ \
static const struct file_operations cifs_##name##_proc_fops = { \ static const struct proc_ops cifs_##name##_proc_fops = { \
.open = name##_open, \ .proc_open = name##_open, \
.read = seq_read, \ .proc_read = seq_read, \
.llseek = seq_lseek, \ .proc_lseek = seq_lseek, \
.release = single_release, \ .proc_release = single_release, \
.write = name##_write, \ .proc_write = name##_write, \
} }
PROC_FILE_DEFINE(rdma_readwrite_threshold); PROC_FILE_DEFINE(rdma_readwrite_threshold);
@ -659,11 +659,11 @@ PROC_FILE_DEFINE(smbd_receive_credit_max);
#endif #endif
static struct proc_dir_entry *proc_fs_cifs; static struct proc_dir_entry *proc_fs_cifs;
static const struct file_operations cifsFYI_proc_fops; static const struct proc_ops cifsFYI_proc_ops;
static const struct file_operations cifs_lookup_cache_proc_fops; static const struct proc_ops cifs_lookup_cache_proc_ops;
static const struct file_operations traceSMB_proc_fops; static const struct proc_ops traceSMB_proc_ops;
static const struct file_operations cifs_security_flags_proc_fops; static const struct proc_ops cifs_security_flags_proc_ops;
static const struct file_operations cifs_linux_ext_proc_fops; static const struct proc_ops cifs_linux_ext_proc_ops;
void void
cifs_proc_init(void) cifs_proc_init(void)
@ -678,18 +678,18 @@ cifs_proc_init(void)
proc_create_single("open_files", 0400, proc_fs_cifs, proc_create_single("open_files", 0400, proc_fs_cifs,
cifs_debug_files_proc_show); cifs_debug_files_proc_show);
proc_create("Stats", 0644, proc_fs_cifs, &cifs_stats_proc_fops); proc_create("Stats", 0644, proc_fs_cifs, &cifs_stats_proc_ops);
proc_create("cifsFYI", 0644, proc_fs_cifs, &cifsFYI_proc_fops); proc_create("cifsFYI", 0644, proc_fs_cifs, &cifsFYI_proc_ops);
proc_create("traceSMB", 0644, proc_fs_cifs, &traceSMB_proc_fops); proc_create("traceSMB", 0644, proc_fs_cifs, &traceSMB_proc_ops);
proc_create("LinuxExtensionsEnabled", 0644, proc_fs_cifs, proc_create("LinuxExtensionsEnabled", 0644, proc_fs_cifs,
&cifs_linux_ext_proc_fops); &cifs_linux_ext_proc_ops);
proc_create("SecurityFlags", 0644, proc_fs_cifs, proc_create("SecurityFlags", 0644, proc_fs_cifs,
&cifs_security_flags_proc_fops); &cifs_security_flags_proc_ops);
proc_create("LookupCacheEnabled", 0644, proc_fs_cifs, proc_create("LookupCacheEnabled", 0644, proc_fs_cifs,
&cifs_lookup_cache_proc_fops); &cifs_lookup_cache_proc_ops);
#ifdef CONFIG_CIFS_DFS_UPCALL #ifdef CONFIG_CIFS_DFS_UPCALL
proc_create("dfscache", 0644, proc_fs_cifs, &dfscache_proc_fops); proc_create("dfscache", 0644, proc_fs_cifs, &dfscache_proc_ops);
#endif #endif
#ifdef CONFIG_CIFS_SMB_DIRECT #ifdef CONFIG_CIFS_SMB_DIRECT
@ -774,12 +774,12 @@ static ssize_t cifsFYI_proc_write(struct file *file, const char __user *buffer,
return count; return count;
} }
static const struct file_operations cifsFYI_proc_fops = { static const struct proc_ops cifsFYI_proc_ops = {
.open = cifsFYI_proc_open, .proc_open = cifsFYI_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = cifsFYI_proc_write, .proc_write = cifsFYI_proc_write,
}; };
static int cifs_linux_ext_proc_show(struct seq_file *m, void *v) static int cifs_linux_ext_proc_show(struct seq_file *m, void *v)
@ -805,12 +805,12 @@ static ssize_t cifs_linux_ext_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations cifs_linux_ext_proc_fops = { static const struct proc_ops cifs_linux_ext_proc_ops = {
.open = cifs_linux_ext_proc_open, .proc_open = cifs_linux_ext_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = cifs_linux_ext_proc_write, .proc_write = cifs_linux_ext_proc_write,
}; };
static int cifs_lookup_cache_proc_show(struct seq_file *m, void *v) static int cifs_lookup_cache_proc_show(struct seq_file *m, void *v)
@ -836,12 +836,12 @@ static ssize_t cifs_lookup_cache_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations cifs_lookup_cache_proc_fops = { static const struct proc_ops cifs_lookup_cache_proc_ops = {
.open = cifs_lookup_cache_proc_open, .proc_open = cifs_lookup_cache_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = cifs_lookup_cache_proc_write, .proc_write = cifs_lookup_cache_proc_write,
}; };
static int traceSMB_proc_show(struct seq_file *m, void *v) static int traceSMB_proc_show(struct seq_file *m, void *v)
@ -867,12 +867,12 @@ static ssize_t traceSMB_proc_write(struct file *file, const char __user *buffer,
return count; return count;
} }
static const struct file_operations traceSMB_proc_fops = { static const struct proc_ops traceSMB_proc_ops = {
.open = traceSMB_proc_open, .proc_open = traceSMB_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = traceSMB_proc_write, .proc_write = traceSMB_proc_write,
}; };
static int cifs_security_flags_proc_show(struct seq_file *m, void *v) static int cifs_security_flags_proc_show(struct seq_file *m, void *v)
@ -978,12 +978,12 @@ static ssize_t cifs_security_flags_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations cifs_security_flags_proc_fops = { static const struct proc_ops cifs_security_flags_proc_ops = {
.open = cifs_security_flags_proc_open, .proc_open = cifs_security_flags_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = cifs_security_flags_proc_write, .proc_write = cifs_security_flags_proc_write,
}; };
#else #else
inline void cifs_proc_init(void) inline void cifs_proc_init(void)

View File

@ -8,6 +8,7 @@
#include <linux/jhash.h> #include <linux/jhash.h>
#include <linux/ktime.h> #include <linux/ktime.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/proc_fs.h>
#include <linux/nls.h> #include <linux/nls.h>
#include <linux/workqueue.h> #include <linux/workqueue.h>
#include "cifsglob.h" #include "cifsglob.h"
@ -211,12 +212,12 @@ static int dfscache_proc_open(struct inode *inode, struct file *file)
return single_open(file, dfscache_proc_show, NULL); return single_open(file, dfscache_proc_show, NULL);
} }
const struct file_operations dfscache_proc_fops = { const struct proc_ops dfscache_proc_ops = {
.open = dfscache_proc_open, .proc_open = dfscache_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = dfscache_proc_write, .proc_write = dfscache_proc_write,
}; };
#ifdef CONFIG_CIFS_DEBUG2 #ifdef CONFIG_CIFS_DEBUG2

View File

@ -24,7 +24,7 @@ struct dfs_cache_tgt_iterator {
extern int dfs_cache_init(void); extern int dfs_cache_init(void);
extern void dfs_cache_destroy(void); extern void dfs_cache_destroy(void);
extern const struct file_operations dfscache_proc_fops; extern const struct proc_ops dfscache_proc_ops;
extern int dfs_cache_find(const unsigned int xid, struct cifs_ses *ses, extern int dfs_cache_find(const unsigned int xid, struct cifs_ses *ses,
const struct nls_table *nls_codepage, int remap, const struct nls_table *nls_codepage, int remap,

View File

@ -111,7 +111,7 @@ extern void fscache_enqueue_object(struct fscache_object *);
* object-list.c * object-list.c
*/ */
#ifdef CONFIG_FSCACHE_OBJECT_LIST #ifdef CONFIG_FSCACHE_OBJECT_LIST
extern const struct file_operations fscache_objlist_fops; extern const struct proc_ops fscache_objlist_proc_ops;
extern void fscache_objlist_add(struct fscache_object *); extern void fscache_objlist_add(struct fscache_object *);
extern void fscache_objlist_remove(struct fscache_object *); extern void fscache_objlist_remove(struct fscache_object *);

View File

@ -7,6 +7,7 @@
#define FSCACHE_DEBUG_LEVEL COOKIE #define FSCACHE_DEBUG_LEVEL COOKIE
#include <linux/module.h> #include <linux/module.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/key.h> #include <linux/key.h>
@ -405,9 +406,9 @@ static int fscache_objlist_release(struct inode *inode, struct file *file)
return seq_release(inode, file); return seq_release(inode, file);
} }
const struct file_operations fscache_objlist_fops = { const struct proc_ops fscache_objlist_proc_ops = {
.open = fscache_objlist_open, .proc_open = fscache_objlist_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = fscache_objlist_release, .proc_release = fscache_objlist_release,
}; };

View File

@ -35,7 +35,7 @@ int __init fscache_proc_init(void)
#ifdef CONFIG_FSCACHE_OBJECT_LIST #ifdef CONFIG_FSCACHE_OBJECT_LIST
if (!proc_create("fs/fscache/objects", S_IFREG | 0444, NULL, if (!proc_create("fs/fscache/objects", S_IFREG | 0444, NULL,
&fscache_objlist_fops)) &fscache_objlist_proc_ops))
goto error_objects; goto error_objects;
#endif #endif

View File

@ -1074,12 +1074,11 @@ static int jbd2_seq_info_release(struct inode *inode, struct file *file)
return seq_release(inode, file); return seq_release(inode, file);
} }
static const struct file_operations jbd2_seq_info_fops = { static const struct proc_ops jbd2_info_proc_ops = {
.owner = THIS_MODULE, .proc_open = jbd2_seq_info_open,
.open = jbd2_seq_info_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = jbd2_seq_info_release,
.release = jbd2_seq_info_release,
}; };
static struct proc_dir_entry *proc_jbd2_stats; static struct proc_dir_entry *proc_jbd2_stats;
@ -1089,7 +1088,7 @@ static void jbd2_stats_proc_init(journal_t *journal)
journal->j_proc_entry = proc_mkdir(journal->j_devname, proc_jbd2_stats); journal->j_proc_entry = proc_mkdir(journal->j_devname, proc_jbd2_stats);
if (journal->j_proc_entry) { if (journal->j_proc_entry) {
proc_create_data("info", S_IRUGO, journal->j_proc_entry, proc_create_data("info", S_IRUGO, journal->j_proc_entry,
&jbd2_seq_info_fops, journal); &jbd2_info_proc_ops, journal);
} }
} }

View File

@ -43,12 +43,12 @@ static ssize_t jfs_loglevel_proc_write(struct file *file,
return count; return count;
} }
static const struct file_operations jfs_loglevel_proc_fops = { static const struct proc_ops jfs_loglevel_proc_ops = {
.open = jfs_loglevel_proc_open, .proc_open = jfs_loglevel_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = jfs_loglevel_proc_write, .proc_write = jfs_loglevel_proc_write,
}; };
#endif #endif
@ -68,7 +68,7 @@ void jfs_proc_init(void)
#endif #endif
#ifdef CONFIG_JFS_DEBUG #ifdef CONFIG_JFS_DEBUG
proc_create_single("TxAnchor", 0, base, jfs_txanchor_proc_show); proc_create_single("TxAnchor", 0, base, jfs_txanchor_proc_show);
proc_create("loglevel", 0, base, &jfs_loglevel_proc_fops); proc_create("loglevel", 0, base, &jfs_loglevel_proc_ops);
#endif #endif
} }

View File

@ -60,11 +60,11 @@ nlm_end_grace_read(struct file *file, char __user *buf, size_t size,
return simple_read_from_buffer(buf, size, pos, resp, sizeof(resp)); return simple_read_from_buffer(buf, size, pos, resp, sizeof(resp));
} }
static const struct file_operations lockd_end_grace_operations = { static const struct proc_ops lockd_end_grace_proc_ops = {
.write = nlm_end_grace_write, .proc_write = nlm_end_grace_write,
.read = nlm_end_grace_read, .proc_read = nlm_end_grace_read,
.llseek = default_llseek, .proc_lseek = default_llseek,
.release = simple_transaction_release, .proc_release = simple_transaction_release,
}; };
int __init int __init
@ -76,7 +76,7 @@ lockd_create_procfs(void)
if (!entry) if (!entry)
return -ENOMEM; return -ENOMEM;
entry = proc_create("nlm_end_grace", S_IRUGO|S_IWUSR, entry, entry = proc_create("nlm_end_grace", S_IRUGO|S_IWUSR, entry,
&lockd_end_grace_operations); &lockd_end_grace_proc_ops);
if (!entry) { if (!entry) {
remove_proc_entry("fs/lockd", NULL); remove_proc_entry("fs/lockd", NULL);
return -ENOMEM; return -ENOMEM;

View File

@ -157,11 +157,11 @@ static int exports_proc_open(struct inode *inode, struct file *file)
return exports_net_open(current->nsproxy->net_ns, file); return exports_net_open(current->nsproxy->net_ns, file);
} }
static const struct file_operations exports_proc_operations = { static const struct proc_ops exports_proc_ops = {
.open = exports_proc_open, .proc_open = exports_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = seq_release, .proc_release = seq_release,
}; };
static int exports_nfsd_open(struct inode *inode, struct file *file) static int exports_nfsd_open(struct inode *inode, struct file *file)
@ -1431,8 +1431,7 @@ static int create_proc_exports_entry(void)
entry = proc_mkdir("fs/nfs", NULL); entry = proc_mkdir("fs/nfs", NULL);
if (!entry) if (!entry)
return -ENOMEM; return -ENOMEM;
entry = proc_create("exports", 0, entry, entry = proc_create("exports", 0, entry, &exports_proc_ops);
&exports_proc_operations);
if (!entry) { if (!entry) {
remove_proc_entry("fs/nfs", NULL); remove_proc_entry("fs/nfs", NULL);
return -ENOMEM; return -ENOMEM;

View File

@ -84,17 +84,17 @@ static int nfsd_proc_open(struct inode *inode, struct file *file)
return single_open(file, nfsd_proc_show, NULL); return single_open(file, nfsd_proc_show, NULL);
} }
static const struct file_operations nfsd_proc_fops = { static const struct proc_ops nfsd_proc_ops = {
.open = nfsd_proc_open, .proc_open = nfsd_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
}; };
void void
nfsd_stat_init(void) nfsd_stat_init(void)
{ {
svc_proc_register(&init_net, &nfsd_svcstats, &nfsd_proc_fops); svc_proc_register(&init_net, &nfsd_svcstats, &nfsd_proc_ops);
} }
void void

View File

@ -16,16 +16,16 @@ static int cpuinfo_open(struct inode *inode, struct file *file)
return seq_open(file, &cpuinfo_op); return seq_open(file, &cpuinfo_op);
} }
static const struct file_operations proc_cpuinfo_operations = { static const struct proc_ops cpuinfo_proc_ops = {
.open = cpuinfo_open, .proc_open = cpuinfo_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = seq_release, .proc_release = seq_release,
}; };
static int __init proc_cpuinfo_init(void) static int __init proc_cpuinfo_init(void)
{ {
proc_create("cpuinfo", 0, NULL, &proc_cpuinfo_operations); proc_create("cpuinfo", 0, NULL, &cpuinfo_proc_ops);
return 0; return 0;
} }
fs_initcall(proc_cpuinfo_init); fs_initcall(proc_cpuinfo_init);

View File

@ -574,11 +574,11 @@ static int release_kcore(struct inode *inode, struct file *file)
return 0; return 0;
} }
static const struct file_operations proc_kcore_operations = { static const struct proc_ops kcore_proc_ops = {
.read = read_kcore, .proc_read = read_kcore,
.open = open_kcore, .proc_open = open_kcore,
.release = release_kcore, .proc_release = release_kcore,
.llseek = default_llseek, .proc_lseek = default_llseek,
}; };
/* just remember that we have to update kcore */ /* just remember that we have to update kcore */
@ -637,8 +637,7 @@ static void __init add_modules_range(void)
static int __init proc_kcore_init(void) static int __init proc_kcore_init(void)
{ {
proc_root_kcore = proc_create("kcore", S_IRUSR, NULL, proc_root_kcore = proc_create("kcore", S_IRUSR, NULL, &kcore_proc_ops);
&proc_kcore_operations);
if (!proc_root_kcore) { if (!proc_root_kcore) {
pr_err("couldn't create /proc/kcore\n"); pr_err("couldn't create /proc/kcore\n");
return 0; /* Always returns 0. */ return 0; /* Always returns 0. */

View File

@ -49,17 +49,17 @@ static __poll_t kmsg_poll(struct file *file, poll_table *wait)
} }
static const struct file_operations proc_kmsg_operations = { static const struct proc_ops kmsg_proc_ops = {
.read = kmsg_read, .proc_read = kmsg_read,
.poll = kmsg_poll, .proc_poll = kmsg_poll,
.open = kmsg_open, .proc_open = kmsg_open,
.release = kmsg_release, .proc_release = kmsg_release,
.llseek = generic_file_llseek, .proc_lseek = generic_file_llseek,
}; };
static int __init proc_kmsg_init(void) static int __init proc_kmsg_init(void)
{ {
proc_create("kmsg", S_IRUSR, NULL, &proc_kmsg_operations); proc_create("kmsg", S_IRUSR, NULL, &kmsg_proc_ops);
return 0; return 0;
} }
fs_initcall(proc_kmsg_init); fs_initcall(proc_kmsg_init);

View File

@ -89,9 +89,9 @@ static ssize_t kpagecount_read(struct file *file, char __user *buf,
return ret; return ret;
} }
static const struct file_operations proc_kpagecount_operations = { static const struct proc_ops kpagecount_proc_ops = {
.llseek = mem_lseek, .proc_lseek = mem_lseek,
.read = kpagecount_read, .proc_read = kpagecount_read,
}; };
/* /proc/kpageflags - an array exposing page flags /* /proc/kpageflags - an array exposing page flags
@ -263,9 +263,9 @@ static ssize_t kpageflags_read(struct file *file, char __user *buf,
return ret; return ret;
} }
static const struct file_operations proc_kpageflags_operations = { static const struct proc_ops kpageflags_proc_ops = {
.llseek = mem_lseek, .proc_lseek = mem_lseek,
.read = kpageflags_read, .proc_read = kpageflags_read,
}; };
#ifdef CONFIG_MEMCG #ifdef CONFIG_MEMCG
@ -317,18 +317,18 @@ static ssize_t kpagecgroup_read(struct file *file, char __user *buf,
return ret; return ret;
} }
static const struct file_operations proc_kpagecgroup_operations = { static const struct proc_ops kpagecgroup_proc_ops = {
.llseek = mem_lseek, .proc_lseek = mem_lseek,
.read = kpagecgroup_read, .proc_read = kpagecgroup_read,
}; };
#endif /* CONFIG_MEMCG */ #endif /* CONFIG_MEMCG */
static int __init proc_page_init(void) static int __init proc_page_init(void)
{ {
proc_create("kpagecount", S_IRUSR, NULL, &proc_kpagecount_operations); proc_create("kpagecount", S_IRUSR, NULL, &kpagecount_proc_ops);
proc_create("kpageflags", S_IRUSR, NULL, &proc_kpageflags_operations); proc_create("kpageflags", S_IRUSR, NULL, &kpageflags_proc_ops);
#ifdef CONFIG_MEMCG #ifdef CONFIG_MEMCG
proc_create("kpagecgroup", S_IRUSR, NULL, &proc_kpagecgroup_operations); proc_create("kpagecgroup", S_IRUSR, NULL, &kpagecgroup_proc_ops);
#endif #endif
return 0; return 0;
} }

View File

@ -223,16 +223,16 @@ static int stat_open(struct inode *inode, struct file *file)
return single_open_size(file, show_stat, NULL, size); return single_open_size(file, show_stat, NULL, size);
} }
static const struct file_operations proc_stat_operations = { static const struct proc_ops stat_proc_ops = {
.open = stat_open, .proc_open = stat_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
}; };
static int __init proc_stat_init(void) static int __init proc_stat_init(void)
{ {
proc_create("stat", 0, NULL, &proc_stat_operations); proc_create("stat", 0, NULL, &stat_proc_ops);
return 0; return 0;
} }
fs_initcall(proc_stat_init); fs_initcall(proc_stat_init);

View File

@ -667,10 +667,10 @@ static int mmap_vmcore(struct file *file, struct vm_area_struct *vma)
} }
#endif #endif
static const struct file_operations proc_vmcore_operations = { static const struct proc_ops vmcore_proc_ops = {
.read = read_vmcore, .proc_read = read_vmcore,
.llseek = default_llseek, .proc_lseek = default_llseek,
.mmap = mmap_vmcore, .proc_mmap = mmap_vmcore,
}; };
static struct vmcore* __init get_new_element(void) static struct vmcore* __init get_new_element(void)
@ -1555,7 +1555,7 @@ static int __init vmcore_init(void)
elfcorehdr_free(elfcorehdr_addr); elfcorehdr_free(elfcorehdr_addr);
elfcorehdr_addr = ELFCORE_ADDR_ERR; elfcorehdr_addr = ELFCORE_ADDR_ERR;
proc_vmcore = proc_create("vmcore", S_IRUSR, NULL, &proc_vmcore_operations); proc_vmcore = proc_create("vmcore", S_IRUSR, NULL, &vmcore_proc_ops);
if (proc_vmcore) if (proc_vmcore)
proc_vmcore->size = vmcore_size; proc_vmcore->size = vmcore_size;
return 0; return 0;

View File

@ -160,6 +160,19 @@ static const struct file_operations __name ## _fops = { \
.release = single_release, \ .release = single_release, \
} }
#define DEFINE_PROC_SHOW_ATTRIBUTE(__name) \
static int __name ## _open(struct inode *inode, struct file *file) \
{ \
return single_open(file, __name ## _show, inode->i_private); \
} \
\
static const struct proc_ops __name ## _proc_ops = { \
.proc_open = __name ## _open, \
.proc_read = seq_read, \
.proc_lseek = seq_lseek, \
.proc_release = single_release, \
}
static inline struct user_namespace *seq_user_ns(struct seq_file *seq) static inline struct user_namespace *seq_user_ns(struct seq_file *seq)
{ {
#ifdef CONFIG_USER_NS #ifdef CONFIG_USER_NS

View File

@ -63,7 +63,7 @@ struct proc_dir_entry * rpc_proc_register(struct net *,struct rpc_stat *);
void rpc_proc_unregister(struct net *,const char *); void rpc_proc_unregister(struct net *,const char *);
void rpc_proc_zero(const struct rpc_program *); void rpc_proc_zero(const struct rpc_program *);
struct proc_dir_entry * svc_proc_register(struct net *, struct svc_stat *, struct proc_dir_entry * svc_proc_register(struct net *, struct svc_stat *,
const struct file_operations *); const struct proc_ops *);
void svc_proc_unregister(struct net *, const char *); void svc_proc_unregister(struct net *, const char *);
void svc_seq_show(struct seq_file *, void svc_seq_show(struct seq_file *,
@ -75,7 +75,7 @@ static inline void rpc_proc_unregister(struct net *net, const char *p) {}
static inline void rpc_proc_zero(const struct rpc_program *p) {} static inline void rpc_proc_zero(const struct rpc_program *p) {}
static inline struct proc_dir_entry *svc_proc_register(struct net *net, struct svc_stat *s, static inline struct proc_dir_entry *svc_proc_register(struct net *net, struct svc_stat *s,
const struct file_operations *f) { return NULL; } const struct proc_ops *proc_ops) { return NULL; }
static inline void svc_proc_unregister(struct net *net, const char *p) {} static inline void svc_proc_unregister(struct net *net, const char *p) {}
static inline void svc_seq_show(struct seq_file *seq, static inline void svc_seq_show(struct seq_file *seq,

View File

@ -126,7 +126,7 @@ void ipc_init_ids(struct ipc_ids *ids)
} }
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
static const struct file_operations sysvipc_proc_fops; static const struct proc_ops sysvipc_proc_ops;
/** /**
* ipc_init_proc_interface - create a proc interface for sysipc types using a seq_file interface. * ipc_init_proc_interface - create a proc interface for sysipc types using a seq_file interface.
* @path: Path in procfs * @path: Path in procfs
@ -151,7 +151,7 @@ void __init ipc_init_proc_interface(const char *path, const char *header,
pde = proc_create_data(path, pde = proc_create_data(path,
S_IRUGO, /* world readable */ S_IRUGO, /* world readable */
NULL, /* parent dir */ NULL, /* parent dir */
&sysvipc_proc_fops, &sysvipc_proc_ops,
iface); iface);
if (!pde) if (!pde)
kfree(iface); kfree(iface);
@ -884,10 +884,10 @@ static int sysvipc_proc_release(struct inode *inode, struct file *file)
return seq_release_private(inode, file); return seq_release_private(inode, file);
} }
static const struct file_operations sysvipc_proc_fops = { static const struct proc_ops sysvipc_proc_ops = {
.open = sysvipc_proc_open, .proc_open = sysvipc_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = sysvipc_proc_release, .proc_release = sysvipc_proc_release,
}; };
#endif /* CONFIG_PROC_FS */ #endif /* CONFIG_PROC_FS */

View File

@ -47,10 +47,9 @@ ikconfig_read_current(struct file *file, char __user *buf,
&kernel_config_data); &kernel_config_data);
} }
static const struct file_operations ikconfig_file_ops = { static const struct proc_ops config_gz_proc_ops = {
.owner = THIS_MODULE, .proc_read = ikconfig_read_current,
.read = ikconfig_read_current, .proc_lseek = default_llseek,
.llseek = default_llseek,
}; };
static int __init ikconfig_init(void) static int __init ikconfig_init(void)
@ -59,7 +58,7 @@ static int __init ikconfig_init(void)
/* create the current config file */ /* create the current config file */
entry = proc_create("config.gz", S_IFREG | S_IRUGO, NULL, entry = proc_create("config.gz", S_IFREG | S_IRUGO, NULL,
&ikconfig_file_ops); &config_gz_proc_ops);
if (!entry) if (!entry)
return -ENOMEM; return -ENOMEM;

View File

@ -176,20 +176,20 @@ static int irq_affinity_list_proc_open(struct inode *inode, struct file *file)
return single_open(file, irq_affinity_list_proc_show, PDE_DATA(inode)); return single_open(file, irq_affinity_list_proc_show, PDE_DATA(inode));
} }
static const struct file_operations irq_affinity_proc_fops = { static const struct proc_ops irq_affinity_proc_ops = {
.open = irq_affinity_proc_open, .proc_open = irq_affinity_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = irq_affinity_proc_write, .proc_write = irq_affinity_proc_write,
}; };
static const struct file_operations irq_affinity_list_proc_fops = { static const struct proc_ops irq_affinity_list_proc_ops = {
.open = irq_affinity_list_proc_open, .proc_open = irq_affinity_list_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = irq_affinity_list_proc_write, .proc_write = irq_affinity_list_proc_write,
}; };
#ifdef CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK #ifdef CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK
@ -246,12 +246,12 @@ static int default_affinity_open(struct inode *inode, struct file *file)
return single_open(file, default_affinity_show, PDE_DATA(inode)); return single_open(file, default_affinity_show, PDE_DATA(inode));
} }
static const struct file_operations default_affinity_proc_fops = { static const struct proc_ops default_affinity_proc_ops = {
.open = default_affinity_open, .proc_open = default_affinity_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = default_affinity_write, .proc_write = default_affinity_write,
}; };
static int irq_node_proc_show(struct seq_file *m, void *v) static int irq_node_proc_show(struct seq_file *m, void *v)
@ -342,7 +342,7 @@ void register_irq_proc(unsigned int irq, struct irq_desc *desc)
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
/* create /proc/irq/<irq>/smp_affinity */ /* create /proc/irq/<irq>/smp_affinity */
proc_create_data("smp_affinity", 0644, desc->dir, proc_create_data("smp_affinity", 0644, desc->dir,
&irq_affinity_proc_fops, irqp); &irq_affinity_proc_ops, irqp);
/* create /proc/irq/<irq>/affinity_hint */ /* create /proc/irq/<irq>/affinity_hint */
proc_create_single_data("affinity_hint", 0444, desc->dir, proc_create_single_data("affinity_hint", 0444, desc->dir,
@ -350,7 +350,7 @@ void register_irq_proc(unsigned int irq, struct irq_desc *desc)
/* create /proc/irq/<irq>/smp_affinity_list */ /* create /proc/irq/<irq>/smp_affinity_list */
proc_create_data("smp_affinity_list", 0644, desc->dir, proc_create_data("smp_affinity_list", 0644, desc->dir,
&irq_affinity_list_proc_fops, irqp); &irq_affinity_list_proc_ops, irqp);
proc_create_single_data("node", 0444, desc->dir, irq_node_proc_show, proc_create_single_data("node", 0444, desc->dir, irq_node_proc_show,
irqp); irqp);
@ -401,7 +401,7 @@ static void register_default_affinity_proc(void)
{ {
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
proc_create("irq/default_smp_affinity", 0644, NULL, proc_create("irq/default_smp_affinity", 0644, NULL,
&default_affinity_proc_fops); &default_affinity_proc_ops);
#endif #endif
} }

View File

@ -698,16 +698,16 @@ const char *kdb_walk_kallsyms(loff_t *pos)
} }
#endif /* CONFIG_KGDB_KDB */ #endif /* CONFIG_KGDB_KDB */
static const struct file_operations kallsyms_operations = { static const struct proc_ops kallsyms_proc_ops = {
.open = kallsyms_open, .proc_open = kallsyms_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = seq_release_private, .proc_release = seq_release_private,
}; };
static int __init kallsyms_init(void) static int __init kallsyms_init(void)
{ {
proc_create("kallsyms", 0444, NULL, &kallsyms_operations); proc_create("kallsyms", 0444, NULL, &kallsyms_proc_ops);
return 0; return 0;
} }
device_initcall(kallsyms_init); device_initcall(kallsyms_init);

View File

@ -255,17 +255,17 @@ static int lstats_open(struct inode *inode, struct file *filp)
return single_open(filp, lstats_show, NULL); return single_open(filp, lstats_show, NULL);
} }
static const struct file_operations lstats_fops = { static const struct proc_ops lstats_proc_ops = {
.open = lstats_open, .proc_open = lstats_open,
.read = seq_read, .proc_read = seq_read,
.write = lstats_write, .proc_write = lstats_write,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
}; };
static int __init init_lstats_procfs(void) static int __init init_lstats_procfs(void)
{ {
proc_create("latency_stats", 0644, NULL, &lstats_fops); proc_create("latency_stats", 0644, NULL, &lstats_proc_ops);
return 0; return 0;
} }

View File

@ -643,12 +643,12 @@ static int lock_stat_release(struct inode *inode, struct file *file)
return seq_release(inode, file); return seq_release(inode, file);
} }
static const struct file_operations proc_lock_stat_operations = { static const struct proc_ops lock_stat_proc_ops = {
.open = lock_stat_open, .proc_open = lock_stat_open,
.write = lock_stat_write, .proc_write = lock_stat_write,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = lock_stat_release, .proc_release = lock_stat_release,
}; };
#endif /* CONFIG_LOCK_STAT */ #endif /* CONFIG_LOCK_STAT */
@ -660,8 +660,7 @@ static int __init lockdep_proc_init(void)
#endif #endif
proc_create_single("lockdep_stats", S_IRUSR, NULL, lockdep_stats_show); proc_create_single("lockdep_stats", S_IRUSR, NULL, lockdep_stats_show);
#ifdef CONFIG_LOCK_STAT #ifdef CONFIG_LOCK_STAT
proc_create("lock_stat", S_IRUSR | S_IWUSR, NULL, proc_create("lock_stat", S_IRUSR | S_IWUSR, NULL, &lock_stat_proc_ops);
&proc_lock_stat_operations);
#endif #endif
return 0; return 0;

View File

@ -4354,16 +4354,16 @@ static int modules_open(struct inode *inode, struct file *file)
return err; return err;
} }
static const struct file_operations proc_modules_operations = { static const struct proc_ops modules_proc_ops = {
.open = modules_open, .proc_open = modules_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = seq_release, .proc_release = seq_release,
}; };
static int __init proc_modules_init(void) static int __init proc_modules_init(void)
{ {
proc_create("modules", 0, NULL, &proc_modules_operations); proc_create("modules", 0, NULL, &modules_proc_ops);
return 0; return 0;
} }
module_init(proc_modules_init); module_init(proc_modules_init);

View File

@ -442,18 +442,18 @@ static ssize_t prof_cpu_mask_proc_write(struct file *file,
return err; return err;
} }
static const struct file_operations prof_cpu_mask_proc_fops = { static const struct proc_ops prof_cpu_mask_proc_ops = {
.open = prof_cpu_mask_proc_open, .proc_open = prof_cpu_mask_proc_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = single_release, .proc_release = single_release,
.write = prof_cpu_mask_proc_write, .proc_write = prof_cpu_mask_proc_write,
}; };
void create_prof_cpu_mask(void) void create_prof_cpu_mask(void)
{ {
/* create /proc/irq/prof_cpu_mask */ /* create /proc/irq/prof_cpu_mask */
proc_create("irq/prof_cpu_mask", 0600, NULL, &prof_cpu_mask_proc_fops); proc_create("irq/prof_cpu_mask", 0600, NULL, &prof_cpu_mask_proc_ops);
} }
/* /*
@ -517,10 +517,10 @@ static ssize_t write_profile(struct file *file, const char __user *buf,
return count; return count;
} }
static const struct file_operations proc_profile_operations = { static const struct proc_ops profile_proc_ops = {
.read = read_profile, .proc_read = read_profile,
.write = write_profile, .proc_write = write_profile,
.llseek = default_llseek, .proc_lseek = default_llseek,
}; };
int __ref create_proc_profile(void) int __ref create_proc_profile(void)
@ -548,7 +548,7 @@ int __ref create_proc_profile(void)
err = 0; err = 0;
#endif #endif
entry = proc_create("profile", S_IWUSR | S_IRUGO, entry = proc_create("profile", S_IWUSR | S_IRUGO,
NULL, &proc_profile_operations); NULL, &profile_proc_ops);
if (!entry) if (!entry)
goto err_state_onl; goto err_state_onl;
proc_set_size(entry, (1 + prof_len) * sizeof(atomic_t)); proc_set_size(entry, (1 + prof_len) * sizeof(atomic_t));

View File

@ -1251,40 +1251,40 @@ static int psi_fop_release(struct inode *inode, struct file *file)
return single_release(inode, file); return single_release(inode, file);
} }
static const struct file_operations psi_io_fops = { static const struct proc_ops psi_io_proc_ops = {
.open = psi_io_open, .proc_open = psi_io_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = psi_io_write, .proc_write = psi_io_write,
.poll = psi_fop_poll, .proc_poll = psi_fop_poll,
.release = psi_fop_release, .proc_release = psi_fop_release,
}; };
static const struct file_operations psi_memory_fops = { static const struct proc_ops psi_memory_proc_ops = {
.open = psi_memory_open, .proc_open = psi_memory_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = psi_memory_write, .proc_write = psi_memory_write,
.poll = psi_fop_poll, .proc_poll = psi_fop_poll,
.release = psi_fop_release, .proc_release = psi_fop_release,
}; };
static const struct file_operations psi_cpu_fops = { static const struct proc_ops psi_cpu_proc_ops = {
.open = psi_cpu_open, .proc_open = psi_cpu_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = psi_cpu_write, .proc_write = psi_cpu_write,
.poll = psi_fop_poll, .proc_poll = psi_fop_poll,
.release = psi_fop_release, .proc_release = psi_fop_release,
}; };
static int __init psi_proc_init(void) static int __init psi_proc_init(void)
{ {
if (psi_enable) { if (psi_enable) {
proc_mkdir("pressure", NULL); proc_mkdir("pressure", NULL);
proc_create("pressure/io", 0, NULL, &psi_io_fops); proc_create("pressure/io", 0, NULL, &psi_io_proc_ops);
proc_create("pressure/memory", 0, NULL, &psi_memory_fops); proc_create("pressure/memory", 0, NULL, &psi_memory_proc_ops);
proc_create("pressure/cpu", 0, NULL, &psi_cpu_fops); proc_create("pressure/cpu", 0, NULL, &psi_cpu_proc_ops);
} }
return 0; return 0;
} }

View File

@ -1580,18 +1580,17 @@ static int slabinfo_open(struct inode *inode, struct file *file)
return seq_open(file, &slabinfo_op); return seq_open(file, &slabinfo_op);
} }
static const struct file_operations proc_slabinfo_operations = { static const struct proc_ops slabinfo_proc_ops = {
.open = slabinfo_open, .proc_open = slabinfo_open,
.read = seq_read, .proc_read = seq_read,
.write = slabinfo_write, .proc_write = slabinfo_write,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = seq_release, .proc_release = seq_release,
}; };
static int __init slab_proc_init(void) static int __init slab_proc_init(void)
{ {
proc_create("slabinfo", SLABINFO_RIGHTS, NULL, proc_create("slabinfo", SLABINFO_RIGHTS, NULL, &slabinfo_proc_ops);
&proc_slabinfo_operations);
return 0; return 0;
} }
module_init(slab_proc_init); module_init(slab_proc_init);

View File

@ -2796,17 +2796,17 @@ static int swaps_open(struct inode *inode, struct file *file)
return 0; return 0;
} }
static const struct file_operations proc_swaps_operations = { static const struct proc_ops swaps_proc_ops = {
.open = swaps_open, .proc_open = swaps_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = seq_release, .proc_release = seq_release,
.poll = swaps_poll, .proc_poll = swaps_poll,
}; };
static int __init procswaps_init(void) static int __init procswaps_init(void)
{ {
proc_create("swaps", 0, NULL, &proc_swaps_operations); proc_create("swaps", 0, NULL, &swaps_proc_ops);
return 0; return 0;
} }
__initcall(procswaps_init); __initcall(procswaps_init);

View File

@ -53,15 +53,12 @@ static ssize_t proc_mpc_write(struct file *file, const char __user *buff,
static int parse_qos(const char *buff); static int parse_qos(const char *buff);
/* static const struct proc_ops mpc_proc_ops = {
* Define allowed FILE OPERATIONS .proc_open = proc_mpc_open,
*/ .proc_read = seq_read,
static const struct file_operations mpc_file_operations = { .proc_lseek = seq_lseek,
.open = proc_mpc_open, .proc_write = proc_mpc_write,
.read = seq_read, .proc_release = seq_release,
.llseek = seq_lseek,
.write = proc_mpc_write,
.release = seq_release,
}; };
/* /*
@ -290,7 +287,7 @@ int mpc_proc_init(void)
{ {
struct proc_dir_entry *p; struct proc_dir_entry *p;
p = proc_create(STAT_FILE_NAME, 0, atm_proc_root, &mpc_file_operations); p = proc_create(STAT_FILE_NAME, 0, atm_proc_root, &mpc_proc_ops);
if (!p) { if (!p) {
pr_err("Unable to initialize /proc/atm/%s\n", STAT_FILE_NAME); pr_err("Unable to initialize /proc/atm/%s\n", STAT_FILE_NAME);
return -ENOMEM; return -ENOMEM;

View File

@ -36,9 +36,9 @@
static ssize_t proc_dev_atm_read(struct file *file, char __user *buf, static ssize_t proc_dev_atm_read(struct file *file, char __user *buf,
size_t count, loff_t *pos); size_t count, loff_t *pos);
static const struct file_operations proc_atm_dev_ops = { static const struct proc_ops atm_dev_proc_ops = {
.read = proc_dev_atm_read, .proc_read = proc_dev_atm_read,
.llseek = noop_llseek, .proc_lseek = noop_llseek,
}; };
static void add_stats(struct seq_file *seq, const char *aal, static void add_stats(struct seq_file *seq, const char *aal,
@ -359,7 +359,7 @@ int atm_proc_dev_register(struct atm_dev *dev)
goto err_out; goto err_out;
dev->proc_entry = proc_create_data(dev->proc_name, 0, atm_proc_root, dev->proc_entry = proc_create_data(dev->proc_name, 0, atm_proc_root,
&proc_atm_dev_ops, dev); &atm_dev_proc_ops, dev);
if (!dev->proc_entry) if (!dev->proc_entry)
goto err_free_name; goto err_free_name;
return 0; return 0;

View File

@ -535,12 +535,12 @@ static int pgctrl_open(struct inode *inode, struct file *file)
return single_open(file, pgctrl_show, PDE_DATA(inode)); return single_open(file, pgctrl_show, PDE_DATA(inode));
} }
static const struct file_operations pktgen_fops = { static const struct proc_ops pktgen_proc_ops = {
.open = pgctrl_open, .proc_open = pgctrl_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = pgctrl_write, .proc_write = pgctrl_write,
.release = single_release, .proc_release = single_release,
}; };
static int pktgen_if_show(struct seq_file *seq, void *v) static int pktgen_if_show(struct seq_file *seq, void *v)
@ -1707,12 +1707,12 @@ static int pktgen_if_open(struct inode *inode, struct file *file)
return single_open(file, pktgen_if_show, PDE_DATA(inode)); return single_open(file, pktgen_if_show, PDE_DATA(inode));
} }
static const struct file_operations pktgen_if_fops = { static const struct proc_ops pktgen_if_proc_ops = {
.open = pktgen_if_open, .proc_open = pktgen_if_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = pktgen_if_write, .proc_write = pktgen_if_write,
.release = single_release, .proc_release = single_release,
}; };
static int pktgen_thread_show(struct seq_file *seq, void *v) static int pktgen_thread_show(struct seq_file *seq, void *v)
@ -1844,12 +1844,12 @@ static int pktgen_thread_open(struct inode *inode, struct file *file)
return single_open(file, pktgen_thread_show, PDE_DATA(inode)); return single_open(file, pktgen_thread_show, PDE_DATA(inode));
} }
static const struct file_operations pktgen_thread_fops = { static const struct proc_ops pktgen_thread_proc_ops = {
.open = pktgen_thread_open, .proc_open = pktgen_thread_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.write = pktgen_thread_write, .proc_write = pktgen_thread_write,
.release = single_release, .proc_release = single_release,
}; };
/* Think find or remove for NN */ /* Think find or remove for NN */
@ -1926,7 +1926,7 @@ static void pktgen_change_name(const struct pktgen_net *pn, struct net_device *d
pkt_dev->entry = proc_create_data(dev->name, 0600, pkt_dev->entry = proc_create_data(dev->name, 0600,
pn->proc_dir, pn->proc_dir,
&pktgen_if_fops, &pktgen_if_proc_ops,
pkt_dev); pkt_dev);
if (!pkt_dev->entry) if (!pkt_dev->entry)
pr_err("can't move proc entry for '%s'\n", pr_err("can't move proc entry for '%s'\n",
@ -3638,7 +3638,7 @@ static int pktgen_add_device(struct pktgen_thread *t, const char *ifname)
pkt_dev->clone_skb = pg_clone_skb_d; pkt_dev->clone_skb = pg_clone_skb_d;
pkt_dev->entry = proc_create_data(ifname, 0600, t->net->proc_dir, pkt_dev->entry = proc_create_data(ifname, 0600, t->net->proc_dir,
&pktgen_if_fops, pkt_dev); &pktgen_if_proc_ops, pkt_dev);
if (!pkt_dev->entry) { if (!pkt_dev->entry) {
pr_err("cannot create %s/%s procfs entry\n", pr_err("cannot create %s/%s procfs entry\n",
PG_PROC_DIR, ifname); PG_PROC_DIR, ifname);
@ -3708,7 +3708,7 @@ static int __net_init pktgen_create_thread(int cpu, struct pktgen_net *pn)
t->tsk = p; t->tsk = p;
pe = proc_create_data(t->tsk->comm, 0600, pn->proc_dir, pe = proc_create_data(t->tsk->comm, 0600, pn->proc_dir,
&pktgen_thread_fops, t); &pktgen_thread_proc_ops, t);
if (!pe) { if (!pe) {
pr_err("cannot create %s/%s procfs entry\n", pr_err("cannot create %s/%s procfs entry\n",
PG_PROC_DIR, t->tsk->comm); PG_PROC_DIR, t->tsk->comm);
@ -3793,7 +3793,7 @@ static int __net_init pg_net_init(struct net *net)
pr_warn("cannot create /proc/net/%s\n", PG_PROC_DIR); pr_warn("cannot create /proc/net/%s\n", PG_PROC_DIR);
return -ENODEV; return -ENODEV;
} }
pe = proc_create(PGCTRL, 0600, pn->proc_dir, &pktgen_fops); pe = proc_create(PGCTRL, 0600, pn->proc_dir, &pktgen_proc_ops);
if (pe == NULL) { if (pe == NULL) {
pr_err("cannot create %s procfs entry\n", PGCTRL); pr_err("cannot create %s procfs entry\n", PGCTRL);
ret = -EINVAL; ret = -EINVAL;

View File

@ -1334,7 +1334,7 @@ static int __init ipconfig_proc_net_init(void)
/* Create a new file under /proc/net/ipconfig */ /* Create a new file under /proc/net/ipconfig */
static int ipconfig_proc_net_create(const char *name, static int ipconfig_proc_net_create(const char *name,
const struct file_operations *fops) const struct proc_ops *proc_ops)
{ {
char *pname; char *pname;
struct proc_dir_entry *p; struct proc_dir_entry *p;
@ -1346,7 +1346,7 @@ static int ipconfig_proc_net_create(const char *name,
if (!pname) if (!pname)
return -ENOMEM; return -ENOMEM;
p = proc_create(pname, 0444, init_net.proc_net, fops); p = proc_create(pname, 0444, init_net.proc_net, proc_ops);
kfree(pname); kfree(pname);
if (!p) if (!p)
return -ENOMEM; return -ENOMEM;
@ -1355,7 +1355,7 @@ static int ipconfig_proc_net_create(const char *name,
} }
/* Write NTP server IP addresses to /proc/net/ipconfig/ntp_servers */ /* Write NTP server IP addresses to /proc/net/ipconfig/ntp_servers */
static int ntp_servers_seq_show(struct seq_file *seq, void *v) static int ntp_servers_show(struct seq_file *seq, void *v)
{ {
int i; int i;
@ -1365,7 +1365,7 @@ static int ntp_servers_seq_show(struct seq_file *seq, void *v)
} }
return 0; return 0;
} }
DEFINE_SHOW_ATTRIBUTE(ntp_servers_seq); DEFINE_PROC_SHOW_ATTRIBUTE(ntp_servers);
#endif /* CONFIG_PROC_FS */ #endif /* CONFIG_PROC_FS */
/* /*
@ -1456,7 +1456,7 @@ static int __init ip_auto_config(void)
proc_create_single("pnp", 0444, init_net.proc_net, pnp_seq_show); proc_create_single("pnp", 0444, init_net.proc_net, pnp_seq_show);
if (ipconfig_proc_net_init() == 0) if (ipconfig_proc_net_init() == 0)
ipconfig_proc_net_create("ntp_servers", &ntp_servers_seq_fops); ipconfig_proc_net_create("ntp_servers", &ntp_servers_proc_ops);
#endif /* CONFIG_PROC_FS */ #endif /* CONFIG_PROC_FS */
if (!ic_enable) if (!ic_enable)

View File

@ -58,7 +58,7 @@ struct clusterip_config {
}; };
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
static const struct file_operations clusterip_proc_fops; static const struct proc_ops clusterip_proc_ops;
#endif #endif
struct clusterip_net { struct clusterip_net {
@ -280,7 +280,7 @@ clusterip_config_init(struct net *net, const struct ipt_clusterip_tgt_info *i,
mutex_lock(&cn->mutex); mutex_lock(&cn->mutex);
c->pde = proc_create_data(buffer, 0600, c->pde = proc_create_data(buffer, 0600,
cn->procdir, cn->procdir,
&clusterip_proc_fops, c); &clusterip_proc_ops, c);
mutex_unlock(&cn->mutex); mutex_unlock(&cn->mutex);
if (!c->pde) { if (!c->pde) {
err = -ENOMEM; err = -ENOMEM;
@ -804,12 +804,12 @@ static ssize_t clusterip_proc_write(struct file *file, const char __user *input,
return size; return size;
} }
static const struct file_operations clusterip_proc_fops = { static const struct proc_ops clusterip_proc_ops = {
.open = clusterip_proc_open, .proc_open = clusterip_proc_open,
.read = seq_read, .proc_read = seq_read,
.write = clusterip_proc_write, .proc_write = clusterip_proc_write,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = clusterip_proc_release, .proc_release = clusterip_proc_release,
}; };
#endif /* CONFIG_PROC_FS */ #endif /* CONFIG_PROC_FS */

View File

@ -237,11 +237,11 @@ static int rt_cache_seq_open(struct inode *inode, struct file *file)
return seq_open(file, &rt_cache_seq_ops); return seq_open(file, &rt_cache_seq_ops);
} }
static const struct file_operations rt_cache_seq_fops = { static const struct proc_ops rt_cache_proc_ops = {
.open = rt_cache_seq_open, .proc_open = rt_cache_seq_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = seq_release, .proc_release = seq_release,
}; };
@ -328,11 +328,11 @@ static int rt_cpu_seq_open(struct inode *inode, struct file *file)
return seq_open(file, &rt_cpu_seq_ops); return seq_open(file, &rt_cpu_seq_ops);
} }
static const struct file_operations rt_cpu_seq_fops = { static const struct proc_ops rt_cpu_proc_ops = {
.open = rt_cpu_seq_open, .proc_open = rt_cpu_seq_open,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = seq_release, .proc_release = seq_release,
}; };
#ifdef CONFIG_IP_ROUTE_CLASSID #ifdef CONFIG_IP_ROUTE_CLASSID
@ -366,12 +366,12 @@ static int __net_init ip_rt_do_proc_init(struct net *net)
struct proc_dir_entry *pde; struct proc_dir_entry *pde;
pde = proc_create("rt_cache", 0444, net->proc_net, pde = proc_create("rt_cache", 0444, net->proc_net,
&rt_cache_seq_fops); &rt_cache_proc_ops);
if (!pde) if (!pde)
goto err1; goto err1;
pde = proc_create("rt_cache", 0444, pde = proc_create("rt_cache", 0444,
net->proc_net_stat, &rt_cpu_seq_fops); net->proc_net_stat, &rt_cpu_proc_ops);
if (!pde) if (!pde)
goto err2; goto err2;

View File

@ -103,7 +103,7 @@ static DEFINE_SPINLOCK(recent_lock);
static DEFINE_MUTEX(recent_mutex); static DEFINE_MUTEX(recent_mutex);
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
static const struct file_operations recent_mt_fops; static const struct proc_ops recent_mt_proc_ops;
#endif #endif
static u_int32_t hash_rnd __read_mostly; static u_int32_t hash_rnd __read_mostly;
@ -405,7 +405,7 @@ static int recent_mt_check(const struct xt_mtchk_param *par,
goto out; goto out;
} }
pde = proc_create_data(t->name, ip_list_perms, recent_net->xt_recent, pde = proc_create_data(t->name, ip_list_perms, recent_net->xt_recent,
&recent_mt_fops, t); &recent_mt_proc_ops, t);
if (pde == NULL) { if (pde == NULL) {
recent_table_free(t); recent_table_free(t);
ret = -ENOMEM; ret = -ENOMEM;
@ -616,13 +616,12 @@ recent_mt_proc_write(struct file *file, const char __user *input,
return size + 1; return size + 1;
} }
static const struct file_operations recent_mt_fops = { static const struct proc_ops recent_mt_proc_ops = {
.open = recent_seq_open, .proc_open = recent_seq_open,
.read = seq_read, .proc_read = seq_read,
.write = recent_mt_proc_write, .proc_write = recent_mt_proc_write,
.release = seq_release_private, .proc_release = seq_release_private,
.owner = THIS_MODULE, .proc_lseek = seq_lseek,
.llseek = seq_lseek,
}; };
static int __net_init recent_proc_net_init(struct net *net) static int __net_init recent_proc_net_init(struct net *net)

View File

@ -1428,10 +1428,10 @@ static ssize_t read_gssp(struct file *file, char __user *buf,
return len; return len;
} }
static const struct file_operations use_gss_proxy_ops = { static const struct proc_ops use_gss_proxy_proc_ops = {
.open = nonseekable_open, .proc_open = nonseekable_open,
.write = write_gssp, .proc_write = write_gssp,
.read = read_gssp, .proc_read = read_gssp,
}; };
static int create_use_gss_proxy_proc_entry(struct net *net) static int create_use_gss_proxy_proc_entry(struct net *net)
@ -1442,7 +1442,7 @@ static int create_use_gss_proxy_proc_entry(struct net *net)
sn->use_gss_proxy = -1; sn->use_gss_proxy = -1;
*p = proc_create_data("use-gss-proxy", S_IFREG | 0600, *p = proc_create_data("use-gss-proxy", S_IFREG | 0600,
sn->proc_net_rpc, sn->proc_net_rpc,
&use_gss_proxy_ops, net); &use_gss_proxy_proc_ops, net);
if (!*p) if (!*p)
return -ENOMEM; return -ENOMEM;
init_gssp_clnt(sn); init_gssp_clnt(sn);

View File

@ -1571,15 +1571,14 @@ static int cache_release_procfs(struct inode *inode, struct file *filp)
return cache_release(inode, filp, cd); return cache_release(inode, filp, cd);
} }
static const struct file_operations cache_file_operations_procfs = { static const struct proc_ops cache_channel_proc_ops = {
.owner = THIS_MODULE, .proc_lseek = no_llseek,
.llseek = no_llseek, .proc_read = cache_read_procfs,
.read = cache_read_procfs, .proc_write = cache_write_procfs,
.write = cache_write_procfs, .proc_poll = cache_poll_procfs,
.poll = cache_poll_procfs, .proc_ioctl = cache_ioctl_procfs, /* for FIONREAD */
.unlocked_ioctl = cache_ioctl_procfs, /* for FIONREAD */ .proc_open = cache_open_procfs,
.open = cache_open_procfs, .proc_release = cache_release_procfs,
.release = cache_release_procfs,
}; };
static int content_open_procfs(struct inode *inode, struct file *filp) static int content_open_procfs(struct inode *inode, struct file *filp)
@ -1596,11 +1595,11 @@ static int content_release_procfs(struct inode *inode, struct file *filp)
return content_release(inode, filp, cd); return content_release(inode, filp, cd);
} }
static const struct file_operations content_file_operations_procfs = { static const struct proc_ops content_proc_ops = {
.open = content_open_procfs, .proc_open = content_open_procfs,
.read = seq_read, .proc_read = seq_read,
.llseek = seq_lseek, .proc_lseek = seq_lseek,
.release = content_release_procfs, .proc_release = content_release_procfs,
}; };
static int open_flush_procfs(struct inode *inode, struct file *filp) static int open_flush_procfs(struct inode *inode, struct file *filp)
@ -1634,12 +1633,12 @@ static ssize_t write_flush_procfs(struct file *filp,
return write_flush(filp, buf, count, ppos, cd); return write_flush(filp, buf, count, ppos, cd);
} }
static const struct file_operations cache_flush_operations_procfs = { static const struct proc_ops cache_flush_proc_ops = {
.open = open_flush_procfs, .proc_open = open_flush_procfs,
.read = read_flush_procfs, .proc_read = read_flush_procfs,
.write = write_flush_procfs, .proc_write = write_flush_procfs,
.release = release_flush_procfs, .proc_release = release_flush_procfs,
.llseek = no_llseek, .proc_lseek = no_llseek,
}; };
static void remove_cache_proc_entries(struct cache_detail *cd) static void remove_cache_proc_entries(struct cache_detail *cd)
@ -1662,19 +1661,19 @@ static int create_cache_proc_entries(struct cache_detail *cd, struct net *net)
goto out_nomem; goto out_nomem;
p = proc_create_data("flush", S_IFREG | 0600, p = proc_create_data("flush", S_IFREG | 0600,
cd->procfs, &cache_flush_operations_procfs, cd); cd->procfs, &cache_flush_proc_ops, cd);
if (p == NULL) if (p == NULL)
goto out_nomem; goto out_nomem;
if (cd->cache_request || cd->cache_parse) { if (cd->cache_request || cd->cache_parse) {
p = proc_create_data("channel", S_IFREG | 0600, cd->procfs, p = proc_create_data("channel", S_IFREG | 0600, cd->procfs,
&cache_file_operations_procfs, cd); &cache_channel_proc_ops, cd);
if (p == NULL) if (p == NULL)
goto out_nomem; goto out_nomem;
} }
if (cd->cache_show) { if (cd->cache_show) {
p = proc_create_data("content", S_IFREG | 0400, cd->procfs, p = proc_create_data("content", S_IFREG | 0400, cd->procfs,
&content_file_operations_procfs, cd); &content_proc_ops, cd);
if (p == NULL) if (p == NULL)
goto out_nomem; goto out_nomem;
} }

View File

@ -69,12 +69,11 @@ static int rpc_proc_open(struct inode *inode, struct file *file)
return single_open(file, rpc_proc_show, PDE_DATA(inode)); return single_open(file, rpc_proc_show, PDE_DATA(inode));
} }
static const struct file_operations rpc_proc_fops = { static const struct proc_ops rpc_proc_ops = {
.owner = THIS_MODULE, .proc_open = rpc_proc_open,
.open = rpc_proc_open, .proc_read = seq_read,
.read = seq_read, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_release = single_release,
.release = single_release,
}; };
/* /*
@ -281,19 +280,19 @@ EXPORT_SYMBOL_GPL(rpc_clnt_show_stats);
*/ */
static inline struct proc_dir_entry * static inline struct proc_dir_entry *
do_register(struct net *net, const char *name, void *data, do_register(struct net *net, const char *name, void *data,
const struct file_operations *fops) const struct proc_ops *proc_ops)
{ {
struct sunrpc_net *sn; struct sunrpc_net *sn;
dprintk("RPC: registering /proc/net/rpc/%s\n", name); dprintk("RPC: registering /proc/net/rpc/%s\n", name);
sn = net_generic(net, sunrpc_net_id); sn = net_generic(net, sunrpc_net_id);
return proc_create_data(name, 0, sn->proc_net_rpc, fops, data); return proc_create_data(name, 0, sn->proc_net_rpc, proc_ops, data);
} }
struct proc_dir_entry * struct proc_dir_entry *
rpc_proc_register(struct net *net, struct rpc_stat *statp) rpc_proc_register(struct net *net, struct rpc_stat *statp)
{ {
return do_register(net, statp->program->name, statp, &rpc_proc_fops); return do_register(net, statp->program->name, statp, &rpc_proc_ops);
} }
EXPORT_SYMBOL_GPL(rpc_proc_register); EXPORT_SYMBOL_GPL(rpc_proc_register);
@ -308,9 +307,9 @@ rpc_proc_unregister(struct net *net, const char *name)
EXPORT_SYMBOL_GPL(rpc_proc_unregister); EXPORT_SYMBOL_GPL(rpc_proc_unregister);
struct proc_dir_entry * struct proc_dir_entry *
svc_proc_register(struct net *net, struct svc_stat *statp, const struct file_operations *fops) svc_proc_register(struct net *net, struct svc_stat *statp, const struct proc_ops *proc_ops)
{ {
return do_register(net, statp->program->pg_name, statp, fops); return do_register(net, statp->program->pg_name, statp, proc_ops);
} }
EXPORT_SYMBOL_GPL(svc_proc_register); EXPORT_SYMBOL_GPL(svc_proc_register);

View File

@ -142,11 +142,10 @@ static ssize_t fifo_read(struct file *file, char __user *buf,
return ret ? ret : copied; return ret ? ret : copied;
} }
static const struct file_operations fifo_fops = { static const struct proc_ops fifo_proc_ops = {
.owner = THIS_MODULE, .proc_read = fifo_read,
.read = fifo_read, .proc_write = fifo_write,
.write = fifo_write, .proc_lseek = noop_llseek,
.llseek = noop_llseek,
}; };
static int __init example_init(void) static int __init example_init(void)
@ -169,7 +168,7 @@ static int __init example_init(void)
return -EIO; return -EIO;
} }
if (proc_create(PROC_FIFO, 0, NULL, &fifo_fops) == NULL) { if (proc_create(PROC_FIFO, 0, NULL, &fifo_proc_ops) == NULL) {
#ifdef DYNAMIC #ifdef DYNAMIC
kfifo_free(&test); kfifo_free(&test);
#endif #endif

View File

@ -135,11 +135,10 @@ static ssize_t fifo_read(struct file *file, char __user *buf,
return ret ? ret : copied; return ret ? ret : copied;
} }
static const struct file_operations fifo_fops = { static const struct proc_ops fifo_proc_ops = {
.owner = THIS_MODULE, .proc_read = fifo_read,
.read = fifo_read, .proc_write = fifo_write,
.write = fifo_write, .proc_lseek = noop_llseek,
.llseek = noop_llseek,
}; };
static int __init example_init(void) static int __init example_init(void)
@ -160,7 +159,7 @@ static int __init example_init(void)
return -EIO; return -EIO;
} }
if (proc_create(PROC_FIFO, 0, NULL, &fifo_fops) == NULL) { if (proc_create(PROC_FIFO, 0, NULL, &fifo_proc_ops) == NULL) {
#ifdef DYNAMIC #ifdef DYNAMIC
kfifo_free(&test); kfifo_free(&test);
#endif #endif

View File

@ -149,11 +149,10 @@ static ssize_t fifo_read(struct file *file, char __user *buf,
return ret ? ret : copied; return ret ? ret : copied;
} }
static const struct file_operations fifo_fops = { static const struct proc_ops fifo_proc_ops = {
.owner = THIS_MODULE, .proc_read = fifo_read,
.read = fifo_read, .proc_write = fifo_write,
.write = fifo_write, .proc_lseek = noop_llseek,
.llseek = noop_llseek,
}; };
static int __init example_init(void) static int __init example_init(void)
@ -176,7 +175,7 @@ static int __init example_init(void)
return -EIO; return -EIO;
} }
if (proc_create(PROC_FIFO, 0, NULL, &fifo_fops) == NULL) { if (proc_create(PROC_FIFO, 0, NULL, &fifo_proc_ops) == NULL) {
#ifdef DYNAMIC #ifdef DYNAMIC
kfifo_free(&test); kfifo_free(&test);
#endif #endif

View File

@ -282,17 +282,16 @@ static int snd_info_entry_release(struct inode *inode, struct file *file)
return 0; return 0;
} }
static const struct file_operations snd_info_entry_operations = static const struct proc_ops snd_info_entry_operations =
{ {
.owner = THIS_MODULE, .proc_lseek = snd_info_entry_llseek,
.llseek = snd_info_entry_llseek, .proc_read = snd_info_entry_read,
.read = snd_info_entry_read, .proc_write = snd_info_entry_write,
.write = snd_info_entry_write, .proc_poll = snd_info_entry_poll,
.poll = snd_info_entry_poll, .proc_ioctl = snd_info_entry_ioctl,
.unlocked_ioctl = snd_info_entry_ioctl, .proc_mmap = snd_info_entry_mmap,
.mmap = snd_info_entry_mmap, .proc_open = snd_info_entry_open,
.open = snd_info_entry_open, .proc_release = snd_info_entry_release,
.release = snd_info_entry_release,
}; };
/* /*
@ -421,14 +420,13 @@ static int snd_info_text_entry_release(struct inode *inode, struct file *file)
return 0; return 0;
} }
static const struct file_operations snd_info_text_entry_ops = static const struct proc_ops snd_info_text_entry_ops =
{ {
.owner = THIS_MODULE, .proc_open = snd_info_text_entry_open,
.open = snd_info_text_entry_open, .proc_release = snd_info_text_entry_release,
.release = snd_info_text_entry_release, .proc_write = snd_info_text_entry_write,
.write = snd_info_text_entry_write, .proc_lseek = seq_lseek,
.llseek = seq_lseek, .proc_read = seq_read,
.read = seq_read,
}; };
static struct snd_info_entry *create_subdir(struct module *mod, static struct snd_info_entry *create_subdir(struct module *mod,
@ -810,7 +808,7 @@ static int __snd_info_register(struct snd_info_entry *entry)
return -ENOMEM; return -ENOMEM;
} }
} else { } else {
const struct file_operations *ops; const struct proc_ops *ops;
if (entry->content == SNDRV_INFO_CONTENT_DATA) if (entry->content == SNDRV_INFO_CONTENT_DATA)
ops = &snd_info_entry_operations; ops = &snd_info_entry_operations;
else else