Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16e297b3 authored by Wang Chen's avatar Wang Chen Committed by David S. Miller
Browse files

[ATM]: Use proc_create() to setup ->proc_fops first



Use proc_create() to make sure that ->proc_fops be setup before gluing
PDE to main tree.

Signed-off-by: default avatarWang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ed2b5b47
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -742,9 +742,9 @@ static int __init br2684_init(void)
{
#ifdef CONFIG_PROC_FS
	struct proc_dir_entry *p;
	if ((p = create_proc_entry("br2684", 0, atm_proc_root)) == NULL)
	p = proc_create("br2684", 0, atm_proc_root, &br2684_proc_ops);
	if (p == NULL)
		return -ENOMEM;
	p->proc_fops = &br2684_proc_ops;
#endif
	register_atm_ioctl(&br2684_ioctl_ops);
	return 0;
+1 −3
Original line number Diff line number Diff line
@@ -962,9 +962,7 @@ static int __init atm_clip_init(void)
	{
		struct proc_dir_entry *p;

		p = create_proc_entry("arp", S_IRUGO, atm_proc_root);
		if (p)
			p->proc_fops = &arp_seq_fops;
		p = proc_create("arp", S_IRUGO, atm_proc_root, &arp_seq_fops);
	}
#endif

+1 −3
Original line number Diff line number Diff line
@@ -1249,9 +1249,7 @@ static int __init lane_module_init(void)
#ifdef CONFIG_PROC_FS
	struct proc_dir_entry *p;

	p = create_proc_entry("lec", S_IRUGO, atm_proc_root);
	if (p)
		p->proc_fops = &lec_seq_fops;
	p = proc_create("lec", S_IRUGO, atm_proc_root, &lec_seq_fops);
#endif

	register_atm_ioctl(&lane_ioctl_ops);
+1 −2
Original line number Diff line number Diff line
@@ -276,12 +276,11 @@ int mpc_proc_init(void)
{
	struct proc_dir_entry *p;

	p = create_proc_entry(STAT_FILE_NAME, 0, atm_proc_root);
	p = proc_create(STAT_FILE_NAME, 0, atm_proc_root, &mpc_file_operations);
	if (!p) {
		printk(KERN_ERR "Unable to initialize /proc/atm/%s\n", STAT_FILE_NAME);
		return -ENOMEM;
	}
	p->proc_fops = &mpc_file_operations;
	p->owner = THIS_MODULE;
	return 0;
}
+4 −4
Original line number Diff line number Diff line
@@ -435,11 +435,11 @@ int atm_proc_dev_register(struct atm_dev *dev)
		goto err_out;
	sprintf(dev->proc_name,"%s:%d",dev->type, dev->number);

	dev->proc_entry = create_proc_entry(dev->proc_name, 0, atm_proc_root);
	dev->proc_entry = proc_create(dev->proc_name, 0, atm_proc_root,
				      &proc_atm_dev_ops);
	if (!dev->proc_entry)
		goto err_free_name;
	dev->proc_entry->data = dev;
	dev->proc_entry->proc_fops = &proc_atm_dev_ops;
	dev->proc_entry->owner = THIS_MODULE;
	return 0;
err_free_name:
@@ -492,10 +492,10 @@ int __init atm_proc_init(void)
	for (e = atm_proc_ents; e->name; e++) {
		struct proc_dir_entry *dirent;

		dirent = create_proc_entry(e->name, S_IRUGO, atm_proc_root);
		dirent = proc_create(e->name, S_IRUGO,
				     atm_proc_root, e->proc_fops);
		if (!dirent)
			goto err_out_remove;
		dirent->proc_fops = e->proc_fops;
		dirent->owner = THIS_MODULE;
		e->dirent = dirent;
	}