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:
committed by
Linus Torvalds
parent
d56c0d45f0
commit
97a32539b9
@@ -47,10 +47,9 @@ ikconfig_read_current(struct file *file, char __user *buf,
|
||||
&kernel_config_data);
|
||||
}
|
||||
|
||||
static const struct file_operations ikconfig_file_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.read = ikconfig_read_current,
|
||||
.llseek = default_llseek,
|
||||
static const struct proc_ops config_gz_proc_ops = {
|
||||
.proc_read = ikconfig_read_current,
|
||||
.proc_lseek = default_llseek,
|
||||
};
|
||||
|
||||
static int __init ikconfig_init(void)
|
||||
@@ -59,7 +58,7 @@ static int __init ikconfig_init(void)
|
||||
|
||||
/* create the current config file */
|
||||
entry = proc_create("config.gz", S_IFREG | S_IRUGO, NULL,
|
||||
&ikconfig_file_ops);
|
||||
&config_gz_proc_ops);
|
||||
if (!entry)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
static const struct file_operations irq_affinity_proc_fops = {
|
||||
.open = irq_affinity_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
.write = irq_affinity_proc_write,
|
||||
static const struct proc_ops irq_affinity_proc_ops = {
|
||||
.proc_open = irq_affinity_proc_open,
|
||||
.proc_read = seq_read,
|
||||
.proc_lseek = seq_lseek,
|
||||
.proc_release = single_release,
|
||||
.proc_write = irq_affinity_proc_write,
|
||||
};
|
||||
|
||||
static const struct file_operations irq_affinity_list_proc_fops = {
|
||||
.open = irq_affinity_list_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
.write = irq_affinity_list_proc_write,
|
||||
static const struct proc_ops irq_affinity_list_proc_ops = {
|
||||
.proc_open = irq_affinity_list_proc_open,
|
||||
.proc_read = seq_read,
|
||||
.proc_lseek = seq_lseek,
|
||||
.proc_release = single_release,
|
||||
.proc_write = irq_affinity_list_proc_write,
|
||||
};
|
||||
|
||||
#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));
|
||||
}
|
||||
|
||||
static const struct file_operations default_affinity_proc_fops = {
|
||||
.open = default_affinity_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
.write = default_affinity_write,
|
||||
static const struct proc_ops default_affinity_proc_ops = {
|
||||
.proc_open = default_affinity_open,
|
||||
.proc_read = seq_read,
|
||||
.proc_lseek = seq_lseek,
|
||||
.proc_release = single_release,
|
||||
.proc_write = default_affinity_write,
|
||||
};
|
||||
|
||||
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
|
||||
/* create /proc/irq/<irq>/smp_affinity */
|
||||
proc_create_data("smp_affinity", 0644, desc->dir,
|
||||
&irq_affinity_proc_fops, irqp);
|
||||
&irq_affinity_proc_ops, irqp);
|
||||
|
||||
/* create /proc/irq/<irq>/affinity_hint */
|
||||
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 */
|
||||
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,
|
||||
irqp);
|
||||
@@ -401,7 +401,7 @@ static void register_default_affinity_proc(void)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
proc_create("irq/default_smp_affinity", 0644, NULL,
|
||||
&default_affinity_proc_fops);
|
||||
&default_affinity_proc_ops);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -698,16 +698,16 @@ const char *kdb_walk_kallsyms(loff_t *pos)
|
||||
}
|
||||
#endif /* CONFIG_KGDB_KDB */
|
||||
|
||||
static const struct file_operations kallsyms_operations = {
|
||||
.open = kallsyms_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release_private,
|
||||
static const struct proc_ops kallsyms_proc_ops = {
|
||||
.proc_open = kallsyms_open,
|
||||
.proc_read = seq_read,
|
||||
.proc_lseek = seq_lseek,
|
||||
.proc_release = seq_release_private,
|
||||
};
|
||||
|
||||
static int __init kallsyms_init(void)
|
||||
{
|
||||
proc_create("kallsyms", 0444, NULL, &kallsyms_operations);
|
||||
proc_create("kallsyms", 0444, NULL, &kallsyms_proc_ops);
|
||||
return 0;
|
||||
}
|
||||
device_initcall(kallsyms_init);
|
||||
|
||||
@@ -255,17 +255,17 @@ static int lstats_open(struct inode *inode, struct file *filp)
|
||||
return single_open(filp, lstats_show, NULL);
|
||||
}
|
||||
|
||||
static const struct file_operations lstats_fops = {
|
||||
.open = lstats_open,
|
||||
.read = seq_read,
|
||||
.write = lstats_write,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
static const struct proc_ops lstats_proc_ops = {
|
||||
.proc_open = lstats_open,
|
||||
.proc_read = seq_read,
|
||||
.proc_write = lstats_write,
|
||||
.proc_lseek = seq_lseek,
|
||||
.proc_release = single_release,
|
||||
};
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -643,12 +643,12 @@ static int lock_stat_release(struct inode *inode, struct file *file)
|
||||
return seq_release(inode, file);
|
||||
}
|
||||
|
||||
static const struct file_operations proc_lock_stat_operations = {
|
||||
.open = lock_stat_open,
|
||||
.write = lock_stat_write,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = lock_stat_release,
|
||||
static const struct proc_ops lock_stat_proc_ops = {
|
||||
.proc_open = lock_stat_open,
|
||||
.proc_write = lock_stat_write,
|
||||
.proc_read = seq_read,
|
||||
.proc_lseek = seq_lseek,
|
||||
.proc_release = lock_stat_release,
|
||||
};
|
||||
#endif /* CONFIG_LOCK_STAT */
|
||||
|
||||
@@ -660,8 +660,7 @@ static int __init lockdep_proc_init(void)
|
||||
#endif
|
||||
proc_create_single("lockdep_stats", S_IRUSR, NULL, lockdep_stats_show);
|
||||
#ifdef CONFIG_LOCK_STAT
|
||||
proc_create("lock_stat", S_IRUSR | S_IWUSR, NULL,
|
||||
&proc_lock_stat_operations);
|
||||
proc_create("lock_stat", S_IRUSR | S_IWUSR, NULL, &lock_stat_proc_ops);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -4354,16 +4354,16 @@ static int modules_open(struct inode *inode, struct file *file)
|
||||
return err;
|
||||
}
|
||||
|
||||
static const struct file_operations proc_modules_operations = {
|
||||
.open = modules_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
static const struct proc_ops modules_proc_ops = {
|
||||
.proc_open = modules_open,
|
||||
.proc_read = seq_read,
|
||||
.proc_lseek = seq_lseek,
|
||||
.proc_release = seq_release,
|
||||
};
|
||||
|
||||
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;
|
||||
}
|
||||
module_init(proc_modules_init);
|
||||
|
||||
@@ -442,18 +442,18 @@ static ssize_t prof_cpu_mask_proc_write(struct file *file,
|
||||
return err;
|
||||
}
|
||||
|
||||
static const struct file_operations prof_cpu_mask_proc_fops = {
|
||||
.open = prof_cpu_mask_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
.write = prof_cpu_mask_proc_write,
|
||||
static const struct proc_ops prof_cpu_mask_proc_ops = {
|
||||
.proc_open = prof_cpu_mask_proc_open,
|
||||
.proc_read = seq_read,
|
||||
.proc_lseek = seq_lseek,
|
||||
.proc_release = single_release,
|
||||
.proc_write = prof_cpu_mask_proc_write,
|
||||
};
|
||||
|
||||
void create_prof_cpu_mask(void)
|
||||
{
|
||||
/* 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;
|
||||
}
|
||||
|
||||
static const struct file_operations proc_profile_operations = {
|
||||
.read = read_profile,
|
||||
.write = write_profile,
|
||||
.llseek = default_llseek,
|
||||
static const struct proc_ops profile_proc_ops = {
|
||||
.proc_read = read_profile,
|
||||
.proc_write = write_profile,
|
||||
.proc_lseek = default_llseek,
|
||||
};
|
||||
|
||||
int __ref create_proc_profile(void)
|
||||
@@ -548,7 +548,7 @@ int __ref create_proc_profile(void)
|
||||
err = 0;
|
||||
#endif
|
||||
entry = proc_create("profile", S_IWUSR | S_IRUGO,
|
||||
NULL, &proc_profile_operations);
|
||||
NULL, &profile_proc_ops);
|
||||
if (!entry)
|
||||
goto err_state_onl;
|
||||
proc_set_size(entry, (1 + prof_len) * sizeof(atomic_t));
|
||||
|
||||
@@ -1251,40 +1251,40 @@ static int psi_fop_release(struct inode *inode, struct file *file)
|
||||
return single_release(inode, file);
|
||||
}
|
||||
|
||||
static const struct file_operations psi_io_fops = {
|
||||
.open = psi_io_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.write = psi_io_write,
|
||||
.poll = psi_fop_poll,
|
||||
.release = psi_fop_release,
|
||||
static const struct proc_ops psi_io_proc_ops = {
|
||||
.proc_open = psi_io_open,
|
||||
.proc_read = seq_read,
|
||||
.proc_lseek = seq_lseek,
|
||||
.proc_write = psi_io_write,
|
||||
.proc_poll = psi_fop_poll,
|
||||
.proc_release = psi_fop_release,
|
||||
};
|
||||
|
||||
static const struct file_operations psi_memory_fops = {
|
||||
.open = psi_memory_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.write = psi_memory_write,
|
||||
.poll = psi_fop_poll,
|
||||
.release = psi_fop_release,
|
||||
static const struct proc_ops psi_memory_proc_ops = {
|
||||
.proc_open = psi_memory_open,
|
||||
.proc_read = seq_read,
|
||||
.proc_lseek = seq_lseek,
|
||||
.proc_write = psi_memory_write,
|
||||
.proc_poll = psi_fop_poll,
|
||||
.proc_release = psi_fop_release,
|
||||
};
|
||||
|
||||
static const struct file_operations psi_cpu_fops = {
|
||||
.open = psi_cpu_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.write = psi_cpu_write,
|
||||
.poll = psi_fop_poll,
|
||||
.release = psi_fop_release,
|
||||
static const struct proc_ops psi_cpu_proc_ops = {
|
||||
.proc_open = psi_cpu_open,
|
||||
.proc_read = seq_read,
|
||||
.proc_lseek = seq_lseek,
|
||||
.proc_write = psi_cpu_write,
|
||||
.proc_poll = psi_fop_poll,
|
||||
.proc_release = psi_fop_release,
|
||||
};
|
||||
|
||||
static int __init psi_proc_init(void)
|
||||
{
|
||||
if (psi_enable) {
|
||||
proc_mkdir("pressure", NULL);
|
||||
proc_create("pressure/io", 0, NULL, &psi_io_fops);
|
||||
proc_create("pressure/memory", 0, NULL, &psi_memory_fops);
|
||||
proc_create("pressure/cpu", 0, NULL, &psi_cpu_fops);
|
||||
proc_create("pressure/io", 0, NULL, &psi_io_proc_ops);
|
||||
proc_create("pressure/memory", 0, NULL, &psi_memory_proc_ops);
|
||||
proc_create("pressure/cpu", 0, NULL, &psi_cpu_proc_ops);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user