|
@@ -2003,27 +2003,10 @@ static const struct seq_operations irlmp_seq_ops = {
|
|
|
|
|
|
static int irlmp_seq_open(struct inode *inode, struct file *file)
|
|
|
{
|
|
|
- struct seq_file *seq;
|
|
|
- int rc = -ENOMEM;
|
|
|
- struct irlmp_iter_state *s;
|
|
|
-
|
|
|
IRDA_ASSERT(irlmp != NULL, return -EINVAL;);
|
|
|
|
|
|
- s = kmalloc(sizeof(*s), GFP_KERNEL);
|
|
|
- if (!s)
|
|
|
- goto out;
|
|
|
-
|
|
|
- rc = seq_open(file, &irlmp_seq_ops);
|
|
|
- if (rc)
|
|
|
- goto out_kfree;
|
|
|
-
|
|
|
- seq = file->private_data;
|
|
|
- seq->private = s;
|
|
|
-out:
|
|
|
- return rc;
|
|
|
-out_kfree:
|
|
|
- kfree(s);
|
|
|
- goto out;
|
|
|
+ return seq_open_private(file, &irlmp_seq_ops,
|
|
|
+ sizeof(struct irlmp_iter_state));
|
|
|
}
|
|
|
|
|
|
const struct file_operations irlmp_seq_fops = {
|