extern uint osl_pci_bus(struct osl_info *osh);
extern uint osl_pci_slot(struct osl_info *osh);
-#define PKTFREESETCB(osh, _tx_fn, _tx_ctx) \
- do { \
- ((struct osl_pubinfo *)osh)->tx_fn = _tx_fn; \
- ((struct osl_pubinfo *)osh)->tx_ctx = _tx_ctx; \
- } while (0)
-
#define BUS_SWAP32(v) (v)
extern void *osl_dma_alloc_consistent(struct osl_info *osh, uint size,
#ifndef _osl_h_
#define _osl_h_
-/* Drivers use PKTFREESETCB to register a callback function
- when a packet is freed by OSL */
-typedef void (*pktfree_cb_fn_t) (void *ctx, void *pkt, unsigned int status);
-
struct osl_pubinfo {
uint pktalloced; /* Number of allocated packet buffers */
bool mmbus; /* Bus supports memory-mapped registers */
- pktfree_cb_fn_t tx_fn; /* Callback function for PKTFREE */
- void *tx_ctx; /* Context to the callback function */
};
/* osl handle type forward declaration */
skb = (struct sk_buff *)p;
ASSERT(skb);
- if (send && osh->pub.tx_fn)
- osh->pub.tx_fn(osh->pub.tx_ctx, p, 0);
-
/* perversion: we use skb->next to chain multi-skb packets */
while (skb) {
nskb = skb->next;