diff options
author | Arend van Spriel <arend@broadcom.com> | 2011-11-10 14:30:29 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-11-11 14:28:42 -0500 |
commit | 9a95e60e0610bb8ec39c74d2c8546514a76428df (patch) | |
tree | 73bdc0f2aa241c46d1d2891712cea0d0490b5a9b | |
parent | 02a588a2e3b9e0156f306a542bb6cd29ba42e1b9 (diff) |
brcm80211: util: move brcmu_pkttotlen() function to brcmfmac
The functions brcmu_pkttotlen() is only used in brcmfmac driver
so it has been moved there. It also does not use the sk_buff
next pointer anymore but walks a skb queue to determine the total
length.
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Alwin Beukers <alwin@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 14 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmutil/utils.c | 13 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/include/brcmu_utils.h | 3 |
3 files changed, 13 insertions, 17 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c index a5d1c35e9d93..c406b46b6905 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | |||
@@ -1107,6 +1107,18 @@ static uint brcmf_sdbrcm_glom_from_buf(struct brcmf_bus *bus, uint len) | |||
1107 | return ret; | 1107 | return ret; |
1108 | } | 1108 | } |
1109 | 1109 | ||
1110 | /* return total length of buffer chain */ | ||
1111 | static uint brcmf_sdbrcm_glom_len(struct brcmf_bus *bus) | ||
1112 | { | ||
1113 | struct sk_buff *p; | ||
1114 | uint total; | ||
1115 | |||
1116 | total = 0; | ||
1117 | skb_queue_walk(&bus->glom, p) | ||
1118 | total += p->len; | ||
1119 | return total; | ||
1120 | } | ||
1121 | |||
1110 | static u8 brcmf_sdbrcm_rxglom(struct brcmf_bus *bus, u8 rxseq) | 1122 | static u8 brcmf_sdbrcm_rxglom(struct brcmf_bus *bus, u8 rxseq) |
1111 | { | 1123 | { |
1112 | u16 dlen, totlen; | 1124 | u16 dlen, totlen; |
@@ -1218,7 +1230,7 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_bus *bus, u8 rxseq) | |||
1218 | } | 1230 | } |
1219 | 1231 | ||
1220 | pfirst = skb_peek(&bus->glom); | 1232 | pfirst = skb_peek(&bus->glom); |
1221 | dlen = (u16) brcmu_pkttotlen(pfirst); | 1233 | dlen = (u16) brcmf_sdbrcm_glom_len(bus); |
1222 | 1234 | ||
1223 | /* Do an SDIO read for the superframe. Configurable iovar to | 1235 | /* Do an SDIO read for the superframe. Configurable iovar to |
1224 | * read directly into the chained packet, or allocate a large | 1236 | * read directly into the chained packet, or allocate a large |
diff --git a/drivers/net/wireless/brcm80211/brcmutil/utils.c b/drivers/net/wireless/brcm80211/brcmutil/utils.c index 57e656f987ad..3a92f72caef7 100644 --- a/drivers/net/wireless/brcm80211/brcmutil/utils.c +++ b/drivers/net/wireless/brcm80211/brcmutil/utils.c | |||
@@ -66,19 +66,6 @@ void brcmu_pkt_buf_free_skb(struct sk_buff *skb) | |||
66 | } | 66 | } |
67 | EXPORT_SYMBOL(brcmu_pkt_buf_free_skb); | 67 | EXPORT_SYMBOL(brcmu_pkt_buf_free_skb); |
68 | 68 | ||
69 | |||
70 | /* return total length of buffer chain */ | ||
71 | uint brcmu_pkttotlen(struct sk_buff *p) | ||
72 | { | ||
73 | uint total; | ||
74 | |||
75 | total = 0; | ||
76 | for (; p; p = p->next) | ||
77 | total += p->len; | ||
78 | return total; | ||
79 | } | ||
80 | EXPORT_SYMBOL(brcmu_pkttotlen); | ||
81 | |||
82 | /* | 69 | /* |
83 | * osl multiple-precedence packet queue | 70 | * osl multiple-precedence packet queue |
84 | * hi_prec is always >= the number of the highest non-empty precedence | 71 | * hi_prec is always >= the number of the highest non-empty precedence |
diff --git a/drivers/net/wireless/brcm80211/include/brcmu_utils.h b/drivers/net/wireless/brcm80211/include/brcmu_utils.h index cae4e519d187..ad249a0b4730 100644 --- a/drivers/net/wireless/brcm80211/include/brcmu_utils.h +++ b/drivers/net/wireless/brcm80211/include/brcmu_utils.h | |||
@@ -170,9 +170,6 @@ extern void brcmu_pktq_flush(struct pktq *pq, bool dir, | |||
170 | bool (*fn)(struct sk_buff *, void *), void *arg); | 170 | bool (*fn)(struct sk_buff *, void *), void *arg); |
171 | 171 | ||
172 | /* externs */ | 172 | /* externs */ |
173 | /* packet */ | ||
174 | extern uint brcmu_pkttotlen(struct sk_buff *p); | ||
175 | |||
176 | /* ip address */ | 173 | /* ip address */ |
177 | struct ipv4_addr; | 174 | struct ipv4_addr; |
178 | 175 | ||