diff --git a/net/bluetooth/af_bluetooth.c b/net/bluetooth/af_bluetooth.c index 82040e46b24b..8ab94c6f6f3f 100644 --- a/net/bluetooth/af_bluetooth.c +++ b/net/bluetooth/af_bluetooth.c @@ -627,6 +627,13 @@ static int bt_seq_open(struct inode *inode, struct file *file) return 0; } +static const struct file_operations bt_fops = { + .open = bt_seq_open, + .read = seq_read, + .llseek = seq_lseek, + .release = seq_release_private +}; + int bt_procfs_init(struct module* module, struct net *net, const char *name, struct bt_sock_list* sk_list, int (* seq_show)(struct seq_file *, void *)) @@ -635,13 +642,7 @@ int bt_procfs_init(struct module* module, struct net *net, const char *name, sk_list->custom_seq_show = seq_show; - sk_list->fops.owner = module; - sk_list->fops.open = bt_seq_open; - sk_list->fops.read = seq_read; - sk_list->fops.llseek = seq_lseek; - sk_list->fops.release = seq_release_private; - - pde = proc_create(name, 0, net->proc_net, &sk_list->fops); + pde = proc_create(name, 0, net->proc_net, &bt_fops); if (!pde) return -ENOMEM;