mac80211: backport brcmfmac data structure rework
[openwrt/staging/wigyori.git] / package / kernel / mac80211 / patches / 325-v4.17-0005-brcmfmac-move-brcmf_attach-function-in-core.c.patch
1 From 0542503c4c164c65cd1567b0f2b3f887af6c81eb Mon Sep 17 00:00:00 2001
2 From: Arend Van Spriel <arend.vanspriel@broadcom.com>
3 Date: Tue, 20 Feb 2018 00:14:22 +0100
4 Subject: [PATCH] brcmfmac: move brcmf_attach() function in core.c
5
6 Moving the function in preparation of subsequent patch.
7
8 Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
9 Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
10 Reviewed-by: Franky Lin <franky.lin@broadcom.com>
11 Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
12 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
13 ---
14 .../wireless/broadcom/brcm80211/brcmfmac/core.c | 98 +++++++++++-----------
15 1 file changed, 49 insertions(+), 49 deletions(-)
16
17 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
18 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
19 @@ -992,55 +992,6 @@ static int brcmf_inet6addr_changed(struc
20 }
21 #endif
22
23 -int brcmf_attach(struct device *dev, struct brcmf_mp_device *settings)
24 -{
25 - struct brcmf_pub *drvr = NULL;
26 - int ret = 0;
27 - int i;
28 -
29 - brcmf_dbg(TRACE, "Enter\n");
30 -
31 - /* Allocate primary brcmf_info */
32 - drvr = kzalloc(sizeof(struct brcmf_pub), GFP_ATOMIC);
33 - if (!drvr)
34 - return -ENOMEM;
35 -
36 - for (i = 0; i < ARRAY_SIZE(drvr->if2bss); i++)
37 - drvr->if2bss[i] = BRCMF_BSSIDX_INVALID;
38 -
39 - mutex_init(&drvr->proto_block);
40 -
41 - /* Link to bus module */
42 - drvr->hdrlen = 0;
43 - drvr->bus_if = dev_get_drvdata(dev);
44 - drvr->bus_if->drvr = drvr;
45 - drvr->settings = settings;
46 -
47 - /* attach debug facilities */
48 - brcmf_debug_attach(drvr);
49 -
50 - /* Attach and link in the protocol */
51 - ret = brcmf_proto_attach(drvr);
52 - if (ret != 0) {
53 - brcmf_err("brcmf_prot_attach failed\n");
54 - goto fail;
55 - }
56 -
57 - /* Attach to events important for core code */
58 - brcmf_fweh_register(drvr, BRCMF_E_PSM_WATCHDOG,
59 - brcmf_psm_watchdog_notify);
60 -
61 - /* attach firmware event handler */
62 - brcmf_fweh_attach(drvr);
63 -
64 - return ret;
65 -
66 -fail:
67 - brcmf_detach(dev);
68 -
69 - return ret;
70 -}
71 -
72 static int brcmf_revinfo_read(struct seq_file *s, void *data)
73 {
74 struct brcmf_bus *bus_if = dev_get_drvdata(s->private);
75 @@ -1170,6 +1121,55 @@ fail:
76
77 return ret;
78 }
79 +
80 +int brcmf_attach(struct device *dev, struct brcmf_mp_device *settings)
81 +{
82 + struct brcmf_pub *drvr = NULL;
83 + int ret = 0;
84 + int i;
85 +
86 + brcmf_dbg(TRACE, "Enter\n");
87 +
88 + /* Allocate primary brcmf_info */
89 + drvr = kzalloc(sizeof(*drvr), GFP_ATOMIC);
90 + if (!drvr)
91 + return -ENOMEM;
92 +
93 + for (i = 0; i < ARRAY_SIZE(drvr->if2bss); i++)
94 + drvr->if2bss[i] = BRCMF_BSSIDX_INVALID;
95 +
96 + mutex_init(&drvr->proto_block);
97 +
98 + /* Link to bus module */
99 + drvr->hdrlen = 0;
100 + drvr->bus_if = dev_get_drvdata(dev);
101 + drvr->bus_if->drvr = drvr;
102 + drvr->settings = settings;
103 +
104 + /* attach debug facilities */
105 + brcmf_debug_attach(drvr);
106 +
107 + /* Attach and link in the protocol */
108 + ret = brcmf_proto_attach(drvr);
109 + if (ret != 0) {
110 + brcmf_err("brcmf_prot_attach failed\n");
111 + goto fail;
112 + }
113 +
114 + /* Attach to events important for core code */
115 + brcmf_fweh_register(drvr, BRCMF_E_PSM_WATCHDOG,
116 + brcmf_psm_watchdog_notify);
117 +
118 + /* attach firmware event handler */
119 + brcmf_fweh_attach(drvr);
120 +
121 + return ret;
122 +
123 +fail:
124 + brcmf_detach(dev);
125 +
126 + return ret;
127 +}
128
129 void brcmf_bus_add_txhdrlen(struct device *dev, uint len)
130 {