brcm80211: fmac: move maxctl to struct brcmf_bus
authorFranky Lin <frankyl@broadcom.com>
Sat, 17 Dec 2011 02:37:03 +0000 (18:37 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 19 Dec 2011 19:40:45 +0000 (14:40 -0500)
maxctl is the max size of rxctl request from protocol layer to bus
layer. Move it to bus interface structure brcmf_bus. This is part
of the fullmac bus interface refactoring.

Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Reviewed-by: Alwin Beukers <alwin@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/brcm80211/brcmfmac/dhd.h
drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c
drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c

index bfd26e3de1e4c7eafa9718d301c8026ad0f55124..db30f023adc199bebb0d16137802e1c1924940be 100644 (file)
@@ -576,6 +576,7 @@ struct brcmf_bus {
        void *bus_priv;         /* pointer to bus private structure */
        void *drvr;             /* pointer to driver pub structure brcmf_pub */
        enum brcmf_bus_state state;
+       uint maxctl;            /* Max size rxctl request from proto to bus */
 };
 
 /* Forward decls for struct brcmf_pub (see below) */
@@ -596,7 +597,6 @@ struct brcmf_pub {
        bool up;                /* Driver up/down (to OS) */
        bool txoff;             /* Transmit flow-controlled */
        uint hdrlen;            /* Total BRCMF header length (proto + bus) */
-       uint maxctl;            /* Max size rxctl request from proto to bus */
        uint rxsz;              /* Rx buffer size bus module should use */
        u8 wme_dp;              /* wme discard priority */
 
index 3f0b316e5ba4a8c6fcb3bf4c9cf4ee92188c90da..774aeac600c375e8b335ba6e948e095f19e07821 100644 (file)
@@ -437,7 +437,7 @@ int brcmf_proto_attach(struct brcmf_pub *drvr)
 
        drvr->prot = cdc;
        drvr->hdrlen += BDC_HEADER_LEN;
-       drvr->maxctl = BRCMF_DCMD_MAXLEN +
+       drvr->bus_if->maxctl = BRCMF_DCMD_MAXLEN +
                        sizeof(struct brcmf_proto_cdc_dcmd) + ROUND_UP_MARGIN;
        return 0;
 
index 5fb0d90fa1163d5746d93f4944f658e0d82bef84..cc2c6536957e3a6964469da0e3522b43e874dbd8 100644 (file)
@@ -1534,7 +1534,7 @@ brcmf_sdbrcm_read_control(struct brcmf_sdio *bus, u8 *hdr, uint len, uint doff)
        if (bus->roundup && bus->blocksize && (rdlen > bus->blocksize)) {
                pad = bus->blocksize - (rdlen % bus->blocksize);
                if ((pad <= bus->roundup) && (pad < bus->blocksize) &&
-                   ((len + pad) < bus->drvr->maxctl))
+                   ((len + pad) < bus->sdiodev->bus_if->maxctl))
                        rdlen += pad;
        } else if (rdlen % BRCMF_SDALIGN) {
                rdlen += BRCMF_SDALIGN - (rdlen % BRCMF_SDALIGN);
@@ -1545,17 +1545,17 @@ brcmf_sdbrcm_read_control(struct brcmf_sdio *bus, u8 *hdr, uint len, uint doff)
                rdlen = roundup(rdlen, ALIGNMENT);
 
        /* Drop if the read is too big or it exceeds our maximum */
-       if ((rdlen + BRCMF_FIRSTREAD) > bus->drvr->maxctl) {
+       if ((rdlen + BRCMF_FIRSTREAD) > bus->sdiodev->bus_if->maxctl) {
                brcmf_dbg(ERROR, "%d-byte control read exceeds %d-byte buffer\n",
-                         rdlen, bus->drvr->maxctl);
+                         rdlen, bus->sdiodev->bus_if->maxctl);
                bus->drvr->rx_errors++;
                brcmf_sdbrcm_rxfail(bus, false, false);
                goto done;
        }
 
-       if ((len - doff) > bus->drvr->maxctl) {
+       if ((len - doff) > bus->sdiodev->bus_if->maxctl) {
                brcmf_dbg(ERROR, "%d-byte ctl frame (%d-byte ctl data) exceeds %d-byte limit\n",
-                         len, len - doff, bus->drvr->maxctl);
+                         len, len - doff, bus->sdiodev->bus_if->maxctl);
                bus->drvr->rx_errors++;
                bus->rx_toolong++;
                brcmf_sdbrcm_rxfail(bus, false, false);
@@ -3666,9 +3666,9 @@ static bool brcmf_sdbrcm_probe_malloc(struct brcmf_sdio *bus)
 {
        brcmf_dbg(TRACE, "Enter\n");
 
-       if (bus->drvr->maxctl) {
+       if (bus->sdiodev->bus_if->maxctl) {
                bus->rxblen =
-                   roundup((bus->drvr->maxctl + SDPCM_HDRLEN),
+                   roundup((bus->sdiodev->bus_if->maxctl + SDPCM_HDRLEN),
                            ALIGNMENT) + BRCMF_SDALIGN;
                bus->rxbuf = kmalloc(bus->rxblen, GFP_ATOMIC);
                if (!(bus->rxbuf))