aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/brcm80211/include/bcmutils.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/brcm80211/include/bcmutils.h')
-rw-r--r--drivers/staging/brcm80211/include/bcmutils.h60
1 files changed, 38 insertions, 22 deletions
diff --git a/drivers/staging/brcm80211/include/bcmutils.h b/drivers/staging/brcm80211/include/bcmutils.h
index b53315981be..a8f76d8199f 100644
--- a/drivers/staging/brcm80211/include/bcmutils.h
+++ b/drivers/staging/brcm80211/include/bcmutils.h
@@ -30,7 +30,6 @@
30 }; 30 };
31 31
32/* ** driver-only section ** */ 32/* ** driver-only section ** */
33#include <osl.h>
34 33
35#define GPIO_PIN_NOTDEFINED 0x20 /* Pin not defined */ 34#define GPIO_PIN_NOTDEFINED 0x20 /* Pin not defined */
36 35
@@ -56,10 +55,10 @@
56#endif 55#endif
57 56
58 typedef struct pktq_prec { 57 typedef struct pktq_prec {
59 void *head; /* first packet to dequeue */ 58 struct sk_buff *head; /* first packet to dequeue */
60 void *tail; /* last packet to dequeue */ 59 struct sk_buff *tail; /* last packet to dequeue */
61 u16 len; /* number of queued packets */ 60 u16 len; /* number of queued packets */
62 u16 max; /* maximum number of queued packets */ 61 u16 max; /* maximum number of queued packets */
63 } pktq_prec_t; 62 } pktq_prec_t;
64 63
65/* multi-priority pkt queue */ 64/* multi-priority pkt queue */
@@ -105,23 +104,26 @@
105#define pktq_ppeek(pq, prec) ((pq)->q[prec].head) 104#define pktq_ppeek(pq, prec) ((pq)->q[prec].head)
106#define pktq_ppeek_tail(pq, prec) ((pq)->q[prec].tail) 105#define pktq_ppeek_tail(pq, prec) ((pq)->q[prec].tail)
107 106
108 extern void *pktq_penq(struct pktq *pq, int prec, void *p); 107extern struct sk_buff *pktq_penq(struct pktq *pq, int prec,
109 extern void *pktq_penq_head(struct pktq *pq, int prec, void *p); 108 struct sk_buff *p);
110 extern void *pktq_pdeq(struct pktq *pq, int prec); 109extern struct sk_buff *pktq_penq_head(struct pktq *pq, int prec,
111 extern void *pktq_pdeq_tail(struct pktq *pq, int prec); 110 struct sk_buff *p);
111extern struct sk_buff *pktq_pdeq(struct pktq *pq, int prec);
112extern struct sk_buff *pktq_pdeq_tail(struct pktq *pq, int prec);
113
112/* Empty the queue at particular precedence level */ 114/* Empty the queue at particular precedence level */
113#ifdef BRCM_FULLMAC 115#ifdef BRCM_FULLMAC
114 extern void pktq_pflush(osl_t *osh, struct pktq *pq, int prec, 116 extern void pktq_pflush(struct osl_info *osh, struct pktq *pq, int prec,
115 bool dir); 117 bool dir);
116#else 118#else
117 extern void pktq_pflush(osl_t *osh, struct pktq *pq, int prec, 119 extern void pktq_pflush(struct osl_info *osh, struct pktq *pq, int prec,
118 bool dir, ifpkt_cb_t fn, int arg); 120 bool dir, ifpkt_cb_t fn, int arg);
119#endif /* BRCM_FULLMAC */ 121#endif /* BRCM_FULLMAC */
120 122
121/* operations on a set of precedences in packet queue */ 123/* operations on a set of precedences in packet queue */
122 124
123 extern int pktq_mlen(struct pktq *pq, uint prec_bmp); 125extern int pktq_mlen(struct pktq *pq, uint prec_bmp);
124 extern void *pktq_mdeq(struct pktq *pq, uint prec_bmp, int *prec_out); 126extern struct sk_buff *pktq_mdeq(struct pktq *pq, uint prec_bmp, int *prec_out);
125 127
126/* operations on packet queue as a whole */ 128/* operations on packet queue as a whole */
127 129
@@ -140,20 +142,19 @@
140 142
141 extern void pktq_init(struct pktq *pq, int num_prec, int max_len); 143 extern void pktq_init(struct pktq *pq, int num_prec, int max_len);
142/* prec_out may be NULL if caller is not interested in return value */ 144/* prec_out may be NULL if caller is not interested in return value */
143 extern void *pktq_peek_tail(struct pktq *pq, int *prec_out); 145 extern struct sk_buff *pktq_peek_tail(struct pktq *pq, int *prec_out);
144#ifdef BRCM_FULLMAC 146#ifdef BRCM_FULLMAC
145 extern void pktq_flush(osl_t *osh, struct pktq *pq, bool dir); 147 extern void pktq_flush(struct osl_info *osh, struct pktq *pq, bool dir);
146#else 148#else
147 extern void pktq_flush(osl_t *osh, struct pktq *pq, bool dir, 149 extern void pktq_flush(struct osl_info *osh, struct pktq *pq, bool dir,
148 ifpkt_cb_t fn, int arg); 150 ifpkt_cb_t fn, int arg);
149#endif 151#endif
150 152
151/* externs */ 153/* externs */
152/* packet */ 154/* packet */
153 extern uint pktfrombuf(osl_t *osh, void *p, uint offset, int len, 155 extern uint pktfrombuf(struct osl_info *osh, struct sk_buff *p,
154 unsigned char *buf); 156 uint offset, int len, unsigned char *buf);
155 extern uint pktsegcnt(osl_t *osh, void *p); 157 extern uint pkttotlen(struct osl_info *osh, struct sk_buff *p);
156 extern uint pkttotlen(osl_t *osh, void *p);
157 158
158/* ethernet address */ 159/* ethernet address */
159 extern int bcm_ether_atoe(char *p, struct ether_addr *ea); 160 extern int bcm_ether_atoe(char *p, struct ether_addr *ea);
@@ -166,7 +167,8 @@
166 extern char *getvar(char *vars, const char *name); 167 extern char *getvar(char *vars, const char *name);
167 extern int getintvar(char *vars, const char *name); 168 extern int getintvar(char *vars, const char *name);
168#ifdef BCMDBG 169#ifdef BCMDBG
169 extern void prpkt(const char *msg, osl_t *osh, void *p0); 170 extern void prpkt(const char *msg, struct osl_info *osh,
171 struct sk_buff *p0);
170#endif /* BCMDBG */ 172#endif /* BCMDBG */
171#define bcm_perf_enable() 173#define bcm_perf_enable()
172#define bcmstats(fmt) 174#define bcmstats(fmt)
@@ -359,7 +361,21 @@
359#define CEIL(x, y) (((x) + ((y)-1)) / (y)) 361#define CEIL(x, y) (((x) + ((y)-1)) / (y))
360#define ISPOWEROF2(x) ((((x)-1)&(x)) == 0) 362#define ISPOWEROF2(x) ((((x)-1)&(x)) == 0)
361 363
362/* bit map related macros */ 364/* map physical to virtual I/O */
365#if !defined(CONFIG_MMC_MSM7X00A)
366#define REG_MAP(pa, size) ioremap_nocache((unsigned long)(pa), \
367 (unsigned long)(size))
368#else
369#define REG_MAP(pa, size) (void *)(0)
370#endif
371
372/* Register operations */
373#define AND_REG(osh, r, v) W_REG(osh, (r), R_REG(osh, r) & (v))
374#define OR_REG(osh, r, v) W_REG(osh, (r), R_REG(osh, r) | (v))
375
376#define SET_REG(osh, r, mask, val) \
377 W_REG((osh), (r), ((R_REG((osh), r) & ~(mask)) | (val)))
378
363#ifndef setbit 379#ifndef setbit
364#ifndef NBBY /* the BSD family defines NBBY */ 380#ifndef NBBY /* the BSD family defines NBBY */
365#define NBBY 8 /* 8 bits per byte */ 381#define NBBY 8 /* 8 bits per byte */