proc: introduce proc_create_single{,_data}
Variants of proc_create{,_data} that directly take a seq_file show callback and drastically reduces the boilerplate code in the callers. All trivial callers converted over. Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
@@ -86,22 +86,6 @@ static const struct file_operations vlan_fops = {
|
||||
.release = seq_release_net,
|
||||
};
|
||||
|
||||
/*
|
||||
* /proc/net/vlan/<device> file and inode operations
|
||||
*/
|
||||
|
||||
static int vlandev_seq_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, vlandev_seq_show, PDE_DATA(inode));
|
||||
}
|
||||
|
||||
static const struct file_operations vlandev_fops = {
|
||||
.open = vlandev_seq_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
/*
|
||||
* Proc filesystem directory entries.
|
||||
*/
|
||||
@@ -171,9 +155,8 @@ int vlan_proc_add_dev(struct net_device *vlandev)
|
||||
|
||||
if (!strcmp(vlandev->name, name_conf))
|
||||
return -EINVAL;
|
||||
vlan->dent =
|
||||
proc_create_data(vlandev->name, S_IFREG | 0600,
|
||||
vn->proc_vlan_dir, &vlandev_fops, vlandev);
|
||||
vlan->dent = proc_create_single_data(vlandev->name, S_IFREG | 0600,
|
||||
vn->proc_vlan_dir, vlandev_seq_show, vlandev);
|
||||
if (!vlan->dent)
|
||||
return -ENOBUFS;
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user