756fbb2cb7eadbbd6738c971b86e3dc1c9bd132e
[15.05/openwrt.git] / package / kernel / mac80211 / patches / 388-brcmfmac-use-debugfs_create_devm_seqfile-helper-func.patch
1 From: Arend van Spriel <arend@broadcom.com>
2 Date: Mon, 8 Jun 2015 14:38:35 +0200
3 Subject: [PATCH] brcmfmac: use debugfs_create_devm_seqfile() helper
4  function
5
6 Some time ago the function debugfs_create_devm_seqfile() was
7 introduced in debugfs. The caller simply needs to provide a
8 device pointer and read function. The function brcmf_debugfs_add_entry()
9 is now simply a wrapper only doing the work for CONFIG_BRCMDBG.
10
11 Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
12 Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
13 Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
14 Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
15 Signed-off-by: Arend van Spriel <arend@broadcom.com>
16 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
17 ---
18
19 --- a/drivers/net/wireless/brcm80211/brcmfmac/debug.c
20 +++ b/drivers/net/wireless/brcm80211/brcmfmac/debug.c
21 @@ -64,44 +64,12 @@ struct dentry *brcmf_debugfs_get_devdir(
22         return drvr->dbgfs_dir;
23  }
24  
25 -struct brcmf_debugfs_entry {
26 -       int (*read)(struct seq_file *seq, void *data);
27 -       struct brcmf_pub *drvr;
28 -};
29 -
30 -static int brcmf_debugfs_entry_open(struct inode *inode, struct file *f)
31 -{
32 -       struct brcmf_debugfs_entry *entry = inode->i_private;
33 -
34 -       return single_open(f, entry->read, entry->drvr->bus_if->dev);
35 -}
36 -
37 -static const struct file_operations brcmf_debugfs_def_ops = {
38 -       .owner = THIS_MODULE,
39 -       .open = brcmf_debugfs_entry_open,
40 -       .release = single_release,
41 -       .read = seq_read,
42 -       .llseek = seq_lseek
43 -};
44 -
45  int brcmf_debugfs_add_entry(struct brcmf_pub *drvr, const char *fn,
46                             int (*read_fn)(struct seq_file *seq, void *data))
47  {
48 -       struct dentry *dentry =  drvr->dbgfs_dir;
49 -       struct brcmf_debugfs_entry *entry;
50 -
51 -       if (IS_ERR_OR_NULL(dentry))
52 -               return -ENOENT;
53 -
54 -       entry = devm_kzalloc(drvr->bus_if->dev, sizeof(*entry), GFP_KERNEL);
55 -       if (!entry)
56 -               return -ENOMEM;
57 -
58 -       entry->read = read_fn;
59 -       entry->drvr = drvr;
60 -
61 -       dentry = debugfs_create_file(fn, S_IRUGO, dentry, entry,
62 -                                    &brcmf_debugfs_def_ops);
63 +       struct dentry *e;
64  
65 -       return PTR_ERR_OR_ZERO(dentry);
66 +       e = debugfs_create_devm_seqfile(drvr->bus_if->dev, fn,
67 +                                       drvr->dbgfs_dir, read_fn);
68 +       return PTR_ERR_OR_ZERO(e);
69  }