#ifndef BRCMFMAC_MSGBUF_H
#define BRCMFMAC_MSGBUF_H
#ifdef CONFIG_BRCMFMAC_PROTO_MSGBUF
#define BRCMF_H2D_MSGRING_CONTROL_SUBMIT_MAX_ITEM …
#define BRCMF_H2D_MSGRING_RXPOST_SUBMIT_MAX_ITEM …
#define BRCMF_D2H_MSGRING_CONTROL_COMPLETE_MAX_ITEM …
#define BRCMF_D2H_MSGRING_TX_COMPLETE_MAX_ITEM …
#define BRCMF_D2H_MSGRING_RX_COMPLETE_MAX_ITEM …
#define BRCMF_H2D_TXFLOWRING_MAX_ITEM …
#define BRCMF_H2D_MSGRING_CONTROL_SUBMIT_ITEMSIZE …
#define BRCMF_H2D_MSGRING_RXPOST_SUBMIT_ITEMSIZE …
#define BRCMF_D2H_MSGRING_CONTROL_COMPLETE_ITEMSIZE …
#define BRCMF_D2H_MSGRING_TX_COMPLETE_ITEMSIZE_PRE_V7 …
#define BRCMF_D2H_MSGRING_TX_COMPLETE_ITEMSIZE …
#define BRCMF_D2H_MSGRING_RX_COMPLETE_ITEMSIZE_PRE_V7 …
#define BRCMF_D2H_MSGRING_RX_COMPLETE_ITEMSIZE …
#define BRCMF_H2D_TXFLOWRING_ITEMSIZE …
struct msgbuf_buf_addr { … };
int brcmf_proto_msgbuf_rx_trigger(struct device *dev);
void brcmf_msgbuf_delete_flowring(struct brcmf_pub *drvr, u16 flowid);
int brcmf_proto_msgbuf_attach(struct brcmf_pub *drvr);
void brcmf_proto_msgbuf_detach(struct brcmf_pub *drvr);
#else
static inline int brcmf_proto_msgbuf_attach(struct brcmf_pub *drvr)
{
return 0;
}
static inline void brcmf_proto_msgbuf_detach(struct brcmf_pub *drvr) {}
#endif
#endif