diff options
Diffstat (limited to 'drivers/staging/brcm80211/include/bcmutils.h')
-rw-r--r-- | drivers/staging/brcm80211/include/bcmutils.h | 60 |
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); | 107 | extern 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); | 109 | extern 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); |
111 | extern struct sk_buff *pktq_pdeq(struct pktq *pq, int prec); | ||
112 | extern 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); | 125 | extern int pktq_mlen(struct pktq *pq, uint prec_bmp); |
124 | extern void *pktq_mdeq(struct pktq *pq, uint prec_bmp, int *prec_out); | 126 | extern 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 */ |