aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/316-v4.16-0001-brcmfmac-Remove-array-of-functions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/316-v4.16-0001-brcmfmac-Remove-array-of-functions.patch')
-rw-r--r--package/kernel/mac80211/patches/316-v4.16-0001-brcmfmac-Remove-array-of-functions.patch1043
1 files changed, 0 insertions, 1043 deletions
diff --git a/package/kernel/mac80211/patches/316-v4.16-0001-brcmfmac-Remove-array-of-functions.patch b/package/kernel/mac80211/patches/316-v4.16-0001-brcmfmac-Remove-array-of-functions.patch
deleted file mode 100644
index bd9de13d7a..0000000000
--- a/package/kernel/mac80211/patches/316-v4.16-0001-brcmfmac-Remove-array-of-functions.patch
+++ /dev/null
@@ -1,1043 +0,0 @@
-From c9aa7a91de740c537dc8c2f9f3d36fc651371b13 Mon Sep 17 00:00:00 2001
-From: Arend Van Spriel <arend.vanspriel@broadcom.com>
-Date: Tue, 9 Jan 2018 13:22:52 +0100
-Subject: [PATCH] brcmfmac: Remove array of functions
-
-Replace the array of functions with a pair of pointers to the
-relevant functions.
-
-Signed-off-by: Ian Molton <ian@mnementh.co.uk>
-Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
-Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
-Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
----
- .../wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 115 +++++++-------
- .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 168 ++++++++++-----------
- .../wireless/broadcom/brcm80211/brcmfmac/sdio.h | 15 +-
- 3 files changed, 146 insertions(+), 152 deletions(-)
-
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
-@@ -118,7 +118,7 @@ int brcmf_sdiod_intr_register(struct brc
-
- ret = request_irq(pdata->oob_irq_nr, brcmf_sdiod_oob_irqhandler,
- pdata->oob_irq_flags, "brcmf_oob_intr",
-- &sdiodev->func[1]->dev);
-+ &sdiodev->func1->dev);
- if (ret != 0) {
- brcmf_err("request_irq failed %d\n", ret);
- return ret;
-@@ -132,7 +132,7 @@ int brcmf_sdiod_intr_register(struct brc
- }
- sdiodev->irq_wake = true;
-
-- sdio_claim_host(sdiodev->func[1]);
-+ sdio_claim_host(sdiodev->func1);
-
- if (sdiodev->bus_if->chip == BRCM_CC_43362_CHIP_ID) {
- /* assign GPIO to SDIO core */
-@@ -159,13 +159,13 @@ int brcmf_sdiod_intr_register(struct brc
- data |= SDIO_CCCR_BRCM_SEPINT_ACT_HI;
- brcmf_sdiod_func0_wb(sdiodev, SDIO_CCCR_BRCM_SEPINT,
- data, &ret);
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
- } else {
- brcmf_dbg(SDIO, "Entering\n");
-- sdio_claim_host(sdiodev->func[1]);
-- sdio_claim_irq(sdiodev->func[1], brcmf_sdiod_ib_irqhandler);
-- sdio_claim_irq(sdiodev->func[2], brcmf_sdiod_dummy_irqhandler);
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_claim_host(sdiodev->func1);
-+ sdio_claim_irq(sdiodev->func1, brcmf_sdiod_ib_irqhandler);
-+ sdio_claim_irq(sdiodev->func2, brcmf_sdiod_dummy_irqhandler);
-+ sdio_release_host(sdiodev->func1);
- sdiodev->sd_irq_requested = true;
- }
-
-@@ -183,26 +183,26 @@ void brcmf_sdiod_intr_unregister(struct
- struct brcmfmac_sdio_pd *pdata;
-
- pdata = &sdiodev->settings->bus.sdio;
-- sdio_claim_host(sdiodev->func[1]);
-+ sdio_claim_host(sdiodev->func1);
- brcmf_sdiod_func0_wb(sdiodev, SDIO_CCCR_BRCM_SEPINT, 0, NULL);
- brcmf_sdiod_func0_wb(sdiodev, SDIO_CCCR_IENx, 0, NULL);
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
-
- sdiodev->oob_irq_requested = false;
- if (sdiodev->irq_wake) {
- disable_irq_wake(pdata->oob_irq_nr);
- sdiodev->irq_wake = false;
- }
-- free_irq(pdata->oob_irq_nr, &sdiodev->func[1]->dev);
-+ free_irq(pdata->oob_irq_nr, &sdiodev->func1->dev);
- sdiodev->irq_en = false;
- sdiodev->oob_irq_requested = false;
- }
-
- if (sdiodev->sd_irq_requested) {
-- sdio_claim_host(sdiodev->func[1]);
-- sdio_release_irq(sdiodev->func[2]);
-- sdio_release_irq(sdiodev->func[1]);
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_claim_host(sdiodev->func1);
-+ sdio_release_irq(sdiodev->func2);
-+ sdio_release_irq(sdiodev->func1);
-+ sdio_release_host(sdiodev->func1);
- sdiodev->sd_irq_requested = false;
- }
- }
-@@ -264,7 +264,7 @@ u32 brcmf_sdiod_readl(struct brcmf_sdio_
- addr &= SBSDIO_SB_OFT_ADDR_MASK;
- addr |= SBSDIO_SB_ACCESS_2_4B_FLAG;
-
-- data = sdio_readl(sdiodev->func[1], addr, &retval);
-+ data = sdio_readl(sdiodev->func1, addr, &retval);
-
- out:
- if (ret)
-@@ -285,7 +285,7 @@ void brcmf_sdiod_writel(struct brcmf_sdi
- addr &= SBSDIO_SB_OFT_ADDR_MASK;
- addr |= SBSDIO_SB_ACCESS_2_4B_FLAG;
-
-- sdio_writel(sdiodev->func[1], data, addr, &retval);
-+ sdio_writel(sdiodev->func1, data, addr, &retval);
-
- out:
- if (ret)
-@@ -550,7 +550,7 @@ int brcmf_sdiod_recv_pkt(struct brcmf_sd
- addr &= SBSDIO_SB_OFT_ADDR_MASK;
- addr |= SBSDIO_SB_ACCESS_2_4B_FLAG;
-
-- err = brcmf_sdiod_buff_read(sdiodev, sdiodev->func[2], addr, pkt);
-+ err = brcmf_sdiod_buff_read(sdiodev, sdiodev->func2, addr, pkt);
-
- done:
- return err;
-@@ -575,13 +575,13 @@ int brcmf_sdiod_recv_chain(struct brcmf_
- addr |= SBSDIO_SB_ACCESS_2_4B_FLAG;
-
- if (pktq->qlen == 1)
-- err = brcmf_sdiod_buff_read(sdiodev, sdiodev->func[2], addr,
-+ err = brcmf_sdiod_buff_read(sdiodev, sdiodev->func2, addr,
- pktq->next);
- else if (!sdiodev->sg_support) {
- glom_skb = brcmu_pkt_buf_get_skb(totlen);
- if (!glom_skb)
- return -ENOMEM;
-- err = brcmf_sdiod_buff_read(sdiodev, sdiodev->func[2], addr,
-+ err = brcmf_sdiod_buff_read(sdiodev, sdiodev->func2, addr,
- glom_skb);
- if (err)
- goto done;
-@@ -591,7 +591,7 @@ int brcmf_sdiod_recv_chain(struct brcmf_
- skb_pull(glom_skb, skb->len);
- }
- } else
-- err = brcmf_sdiod_sglist_rw(sdiodev, sdiodev->func[2], false,
-+ err = brcmf_sdiod_sglist_rw(sdiodev, sdiodev->func2, false,
- addr, pktq);
-
- done:
-@@ -623,7 +623,7 @@ int brcmf_sdiod_send_buf(struct brcmf_sd
- addr |= SBSDIO_SB_ACCESS_2_4B_FLAG;
-
- if (!err)
-- err = brcmf_sdiod_buff_write(sdiodev, sdiodev->func[2], addr,
-+ err = brcmf_sdiod_buff_write(sdiodev, sdiodev->func2, addr,
- mypkt);
-
- brcmu_pkt_buf_free_skb(mypkt);
-@@ -649,13 +649,13 @@ int brcmf_sdiod_send_pkt(struct brcmf_sd
-
- if (pktq->qlen == 1 || !sdiodev->sg_support) {
- skb_queue_walk(pktq, skb) {
-- err = brcmf_sdiod_buff_write(sdiodev, sdiodev->func[2],
-+ err = brcmf_sdiod_buff_write(sdiodev, sdiodev->func2,
- addr, skb);
- if (err)
- break;
- }
- } else {
-- err = brcmf_sdiod_sglist_rw(sdiodev, sdiodev->func[2], true,
-+ err = brcmf_sdiod_sglist_rw(sdiodev, sdiodev->func2, true,
- addr, pktq);
- }
-
-@@ -686,7 +686,7 @@ brcmf_sdiod_ramrw(struct brcmf_sdio_dev
- else
- dsize = size;
-
-- sdio_claim_host(sdiodev->func[1]);
-+ sdio_claim_host(sdiodev->func1);
-
- /* Do the transfer(s) */
- while (size) {
-@@ -706,10 +706,10 @@ brcmf_sdiod_ramrw(struct brcmf_sdio_dev
-
- if (write) {
- memcpy(pkt->data, data, dsize);
-- err = brcmf_sdiod_buff_write(sdiodev, sdiodev->func[1],
-+ err = brcmf_sdiod_buff_write(sdiodev, sdiodev->func1,
- sdaddr, pkt);
- } else {
-- err = brcmf_sdiod_buff_read(sdiodev, sdiodev->func[1],
-+ err = brcmf_sdiod_buff_read(sdiodev, sdiodev->func1,
- sdaddr, pkt);
- }
-
-@@ -733,7 +733,7 @@ brcmf_sdiod_ramrw(struct brcmf_sdio_dev
-
- dev_kfree_skb(pkt);
-
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
-
- return err;
- }
-@@ -757,7 +757,7 @@ void brcmf_sdiod_sgtable_alloc(struct br
- uint nents;
- int err;
-
-- func = sdiodev->func[2];
-+ func = sdiodev->func2;
- host = func->card->host;
- sdiodev->sg_support = host->max_segs > 1;
- max_blocks = min_t(uint, host->max_blk_count, 511u);
-@@ -818,17 +818,17 @@ static int brcmf_sdiod_freezer_on(struct
- brcmf_sdio_trigger_dpc(sdiodev->bus);
- wait_event(sdiodev->freezer->thread_freeze,
- atomic_read(expect) == sdiodev->freezer->frozen_count);
-- sdio_claim_host(sdiodev->func[1]);
-+ sdio_claim_host(sdiodev->func1);
- res = brcmf_sdio_sleep(sdiodev->bus, true);
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
- return res;
- }
-
- static void brcmf_sdiod_freezer_off(struct brcmf_sdio_dev *sdiodev)
- {
-- sdio_claim_host(sdiodev->func[1]);
-+ sdio_claim_host(sdiodev->func1);
- brcmf_sdio_sleep(sdiodev->bus, false);
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
- atomic_set(&sdiodev->freezer->freezing, 0);
- complete_all(&sdiodev->freezer->resumed);
- }
-@@ -878,19 +878,19 @@ static int brcmf_sdiod_remove(struct brc
- brcmf_sdiod_freezer_detach(sdiodev);
-
- /* Disable Function 2 */
-- sdio_claim_host(sdiodev->func[2]);
-- sdio_disable_func(sdiodev->func[2]);
-- sdio_release_host(sdiodev->func[2]);
-+ sdio_claim_host(sdiodev->func2);
-+ sdio_disable_func(sdiodev->func2);
-+ sdio_release_host(sdiodev->func2);
-
- /* Disable Function 1 */
-- sdio_claim_host(sdiodev->func[1]);
-- sdio_disable_func(sdiodev->func[1]);
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_claim_host(sdiodev->func1);
-+ sdio_disable_func(sdiodev->func1);
-+ sdio_release_host(sdiodev->func1);
-
- sg_free_table(&sdiodev->sgtable);
- sdiodev->sbwad = 0;
-
-- pm_runtime_allow(sdiodev->func[1]->card->host->parent);
-+ pm_runtime_allow(sdiodev->func1->card->host->parent);
- return 0;
- }
-
-@@ -906,29 +906,27 @@ static int brcmf_sdiod_probe(struct brcm
- {
- int ret = 0;
-
-- sdiodev->num_funcs = 2;
-+ sdio_claim_host(sdiodev->func1);
-
-- sdio_claim_host(sdiodev->func[1]);
--
-- ret = sdio_set_block_size(sdiodev->func[1], SDIO_FUNC1_BLOCKSIZE);
-+ ret = sdio_set_block_size(sdiodev->func1, SDIO_FUNC1_BLOCKSIZE);
- if (ret) {
- brcmf_err("Failed to set F1 blocksize\n");
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
- goto out;
- }
-- ret = sdio_set_block_size(sdiodev->func[2], SDIO_FUNC2_BLOCKSIZE);
-+ ret = sdio_set_block_size(sdiodev->func2, SDIO_FUNC2_BLOCKSIZE);
- if (ret) {
- brcmf_err("Failed to set F2 blocksize\n");
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
- goto out;
- }
-
- /* increase F2 timeout */
-- sdiodev->func[2]->enable_timeout = SDIO_WAIT_F2RDY;
-+ sdiodev->func2->enable_timeout = SDIO_WAIT_F2RDY;
-
- /* Enable Function 1 */
-- ret = sdio_enable_func(sdiodev->func[1]);
-- sdio_release_host(sdiodev->func[1]);
-+ ret = sdio_enable_func(sdiodev->func1);
-+ sdio_release_host(sdiodev->func1);
- if (ret) {
- brcmf_err("Failed to enable F1: err=%d\n", ret);
- goto out;
-@@ -944,7 +942,7 @@ static int brcmf_sdiod_probe(struct brcm
- ret = -ENODEV;
- goto out;
- }
-- brcmf_sdiod_host_fixup(sdiodev->func[2]->card->host);
-+ brcmf_sdiod_host_fixup(sdiodev->func2->card->host);
- out:
- if (ret)
- brcmf_sdiod_remove(sdiodev);
-@@ -1032,16 +1030,15 @@ static int brcmf_ops_sdio_probe(struct s
- /* store refs to functions used. mmc_card does
- * not hold the F0 function pointer.
- */
-- sdiodev->func[0] = NULL;
-- sdiodev->func[1] = func->card->sdio_func[0];
-- sdiodev->func[2] = func;
-+ sdiodev->func1 = func->card->sdio_func[0];
-+ sdiodev->func2 = func;
-
- sdiodev->bus_if = bus_if;
- bus_if->bus_priv.sdio = sdiodev;
- bus_if->proto_type = BRCMF_PROTO_BCDC;
- dev_set_drvdata(&func->dev, bus_if);
-- dev_set_drvdata(&sdiodev->func[1]->dev, bus_if);
-- sdiodev->dev = &sdiodev->func[1]->dev;
-+ dev_set_drvdata(&sdiodev->func1->dev, bus_if);
-+ sdiodev->dev = &sdiodev->func1->dev;
-
- brcmf_sdiod_change_state(sdiodev, BRCMF_SDIOD_DOWN);
-
-@@ -1057,7 +1054,7 @@ static int brcmf_ops_sdio_probe(struct s
-
- fail:
- dev_set_drvdata(&func->dev, NULL);
-- dev_set_drvdata(&sdiodev->func[1]->dev, NULL);
-+ dev_set_drvdata(&sdiodev->func1->dev, NULL);
- kfree(sdiodev);
- kfree(bus_if);
- return err;
-@@ -1086,8 +1083,8 @@ static void brcmf_ops_sdio_remove(struct
- /* only proceed with rest of cleanup if func 1 */
- brcmf_sdiod_remove(sdiodev);
-
-- dev_set_drvdata(&sdiodev->func[1]->dev, NULL);
-- dev_set_drvdata(&sdiodev->func[2]->dev, NULL);
-+ dev_set_drvdata(&sdiodev->func1->dev, NULL);
-+ dev_set_drvdata(&sdiodev->func2->dev, NULL);
-
- kfree(bus_if);
- kfree(sdiodev);
-@@ -1132,7 +1129,7 @@ static int brcmf_ops_sdio_suspend(struct
- else
- sdio_flags |= MMC_PM_WAKE_SDIO_IRQ;
- }
-- if (sdio_set_host_pm_flags(sdiodev->func[1], sdio_flags))
-+ if (sdio_set_host_pm_flags(sdiodev->func1, sdio_flags))
- brcmf_err("Failed to set pm_flags %x\n", sdio_flags);
- return 0;
- }
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
-@@ -979,7 +979,7 @@ static int brcmf_sdio_readshared(struct
- struct sdpcm_shared_le sh_le;
- __le32 addr_le;
-
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- brcmf_sdio_bus_sleep(bus, false, false);
-
- /*
-@@ -1013,7 +1013,7 @@ static int brcmf_sdio_readshared(struct
- if (rv < 0)
- goto fail;
-
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
-
- /* Endianness */
- sh->flags = le32_to_cpu(sh_le.flags);
-@@ -1035,7 +1035,7 @@ static int brcmf_sdio_readshared(struct
- fail:
- brcmf_err("unable to obtain sdpcm_shared info: rv=%d (addr=0x%x)\n",
- rv, addr);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- return rv;
- }
-
-@@ -1157,7 +1157,7 @@ static void brcmf_sdio_rxfail(struct brc
- rtx ? ", send NAK" : "");
-
- if (abort)
-- brcmf_sdiod_abort(bus->sdiodev, bus->sdiodev->func[2]);
-+ brcmf_sdiod_abort(bus->sdiodev, bus->sdiodev->func2);
-
- brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_FRAMECTRL, SFC_RF_TERM,
- &err);
-@@ -1209,7 +1209,7 @@ static void brcmf_sdio_txfail(struct brc
- brcmf_err("sdio error, abort command and terminate frame\n");
- bus->sdcnt.tx_sderrs++;
-
-- brcmf_sdiod_abort(sdiodev, sdiodev->func[2]);
-+ brcmf_sdiod_abort(sdiodev, sdiodev->func2);
- brcmf_sdiod_writeb(sdiodev, SBSDIO_FUNC1_FRAMECTRL, SFC_WF_TERM, NULL);
- bus->sdcnt.f1regdata++;
-
-@@ -1565,10 +1565,10 @@ static u8 brcmf_sdio_rxglom(struct brcmf
- * read directly into the chained packet, or allocate a large
- * packet and and copy into the chain.
- */
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- errcode = brcmf_sdiod_recv_chain(bus->sdiodev,
- &bus->glom, dlen);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- bus->sdcnt.f2rxdata++;
-
- /* On failure, kill the superframe */
-@@ -1576,11 +1576,11 @@ static u8 brcmf_sdio_rxglom(struct brcmf
- brcmf_err("glom read of %d bytes failed: %d\n",
- dlen, errcode);
-
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- brcmf_sdio_rxfail(bus, true, false);
- bus->sdcnt.rxglomfail++;
- brcmf_sdio_free_glom(bus);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- return 0;
- }
-
-@@ -1590,10 +1590,10 @@ static u8 brcmf_sdio_rxglom(struct brcmf
-
- rd_new.seq_num = rxseq;
- rd_new.len = dlen;
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- errcode = brcmf_sdio_hdparse(bus, pfirst->data, &rd_new,
- BRCMF_SDIO_FT_SUPER);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- bus->cur_read.len = rd_new.len_nxtfrm << 4;
-
- /* Remove superframe header, remember offset */
-@@ -1609,10 +1609,10 @@ static u8 brcmf_sdio_rxglom(struct brcmf
-
- rd_new.len = pnext->len;
- rd_new.seq_num = rxseq++;
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- errcode = brcmf_sdio_hdparse(bus, pnext->data, &rd_new,
- BRCMF_SDIO_FT_SUB);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- brcmf_dbg_hex_dump(BRCMF_GLOM_ON(),
- pnext->data, 32, "subframe:\n");
-
-@@ -1621,11 +1621,11 @@ static u8 brcmf_sdio_rxglom(struct brcmf
-
- if (errcode) {
- /* Terminate frame on error */
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- brcmf_sdio_rxfail(bus, true, false);
- bus->sdcnt.rxglomfail++;
- brcmf_sdio_free_glom(bus);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- bus->cur_read.len = 0;
- return 0;
- }
-@@ -1833,7 +1833,7 @@ static uint brcmf_sdio_readframes(struct
-
- rd->len_left = rd->len;
- /* read header first for unknow frame length */
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- if (!rd->len) {
- ret = brcmf_sdiod_recv_buf(bus->sdiodev,
- bus->rxhdr, BRCMF_FIRSTREAD);
-@@ -1843,7 +1843,7 @@ static uint brcmf_sdio_readframes(struct
- ret);
- bus->sdcnt.rx_hdrfail++;
- brcmf_sdio_rxfail(bus, true, true);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- continue;
- }
-
-@@ -1853,7 +1853,7 @@ static uint brcmf_sdio_readframes(struct
-
- if (brcmf_sdio_hdparse(bus, bus->rxhdr, rd,
- BRCMF_SDIO_FT_NORMAL)) {
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- if (!bus->rxpending)
- break;
- else
-@@ -1869,7 +1869,7 @@ static uint brcmf_sdio_readframes(struct
- rd->len_nxtfrm = 0;
- /* treat all packet as event if we don't know */
- rd->channel = SDPCM_EVENT_CHANNEL;
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- continue;
- }
- rd->len_left = rd->len > BRCMF_FIRSTREAD ?
-@@ -1886,7 +1886,7 @@ static uint brcmf_sdio_readframes(struct
- brcmf_err("brcmu_pkt_buf_get_skb failed\n");
- brcmf_sdio_rxfail(bus, false,
- RETRYCHAN(rd->channel));
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- continue;
- }
- skb_pull(pkt, head_read);
-@@ -1894,16 +1894,16 @@ static uint brcmf_sdio_readframes(struct
-
- ret = brcmf_sdiod_recv_pkt(bus->sdiodev, pkt);
- bus->sdcnt.f2rxdata++;
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
-
- if (ret < 0) {
- brcmf_err("read %d bytes from channel %d failed: %d\n",
- rd->len, rd->channel, ret);
- brcmu_pkt_buf_free_skb(pkt);
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- brcmf_sdio_rxfail(bus, true,
- RETRYCHAN(rd->channel));
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- continue;
- }
-
-@@ -1914,7 +1914,7 @@ static uint brcmf_sdio_readframes(struct
- } else {
- memcpy(bus->rxhdr, pkt->data, SDPCM_HDRLEN);
- rd_new.seq_num = rd->seq_num;
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- if (brcmf_sdio_hdparse(bus, bus->rxhdr, &rd_new,
- BRCMF_SDIO_FT_NORMAL)) {
- rd->len = 0;
-@@ -1927,11 +1927,11 @@ static uint brcmf_sdio_readframes(struct
- roundup(rd_new.len, 16) >> 4);
- rd->len = 0;
- brcmf_sdio_rxfail(bus, true, true);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- brcmu_pkt_buf_free_skb(pkt);
- continue;
- }
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- rd->len_nxtfrm = rd_new.len_nxtfrm;
- rd->channel = rd_new.channel;
- rd->dat_offset = rd_new.dat_offset;
-@@ -1947,9 +1947,9 @@ static uint brcmf_sdio_readframes(struct
- rd_new.seq_num);
- /* Force retry w/normal header read */
- rd->len = 0;
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- brcmf_sdio_rxfail(bus, false, true);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- brcmu_pkt_buf_free_skb(pkt);
- continue;
- }
-@@ -1972,9 +1972,9 @@ static uint brcmf_sdio_readframes(struct
- } else {
- brcmf_err("%s: glom superframe w/o "
- "descriptor!\n", __func__);
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- brcmf_sdio_rxfail(bus, false, false);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- }
- /* prepare the descriptor for the next read */
- rd->len = rd->len_nxtfrm << 4;
-@@ -2072,7 +2072,7 @@ static int brcmf_sdio_txpkt_prep_sg(stru
- int ntail, ret;
-
- sdiodev = bus->sdiodev;
-- blksize = sdiodev->func[2]->cur_blksize;
-+ blksize = sdiodev->func2->cur_blksize;
- /* sg entry alignment should be a divisor of block size */
- WARN_ON(blksize % bus->sgentry_align);
-
-@@ -2251,14 +2251,14 @@ static int brcmf_sdio_txpkt(struct brcmf
- if (ret)
- goto done;
-
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- ret = brcmf_sdiod_send_pkt(bus->sdiodev, pktq);
- bus->sdcnt.f2txdata++;
-
- if (ret < 0)
- brcmf_sdio_txfail(bus);
-
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
-
- done:
- brcmf_sdio_txpkt_postp(bus, pktq);
-@@ -2314,10 +2314,11 @@ static uint brcmf_sdio_sendfromq(struct
- /* In poll mode, need to check for other events */
- if (!bus->intr) {
- /* Check device status, signal pending interrupt */
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- intstatus = brcmf_sdiod_readl(bus->sdiodev,
- intstat_addr, &ret);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
-+
- bus->sdcnt.f2txdata++;
- if (ret != 0)
- break;
-@@ -2417,7 +2418,7 @@ static void brcmf_sdio_bus_stop(struct d
- }
-
- if (sdiodev->state != BRCMF_SDIOD_NOMEDIUM) {
-- sdio_claim_host(sdiodev->func[1]);
-+ sdio_claim_host(sdiodev->func1);
-
- /* Enable clock for device interrupts */
- brcmf_sdio_bus_sleep(bus, false, false);
-@@ -2441,13 +2442,13 @@ static void brcmf_sdio_bus_stop(struct d
-
- /* Turn off the bus (F2), free any pending packets */
- brcmf_dbg(INTR, "disable SDIO interrupts\n");
-- sdio_disable_func(sdiodev->func[2]);
-+ sdio_disable_func(sdiodev->func2);
-
- /* Clear any pending interrupts now that F2 is disabled */
- brcmf_sdiod_writel(sdiodev, core->base + SD_REG(intstatus),
- local_hostintmask, NULL);
-
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
- }
- /* Clear the data packet queues */
- brcmu_pktq_flush(&bus->txq, true, NULL, NULL);
-@@ -2522,7 +2523,7 @@ static void brcmf_sdio_dpc(struct brcmf_
-
- brcmf_dbg(TRACE, "Enter\n");
-
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
-
- /* If waiting for HTAVAIL, check status */
- if (!bus->sr_enabled && bus->clkstate == CLK_PENDING) {
-@@ -2585,7 +2586,7 @@ static void brcmf_sdio_dpc(struct brcmf_
- intstatus |= brcmf_sdio_hostmail(bus);
- }
-
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
-
- /* Generally don't ask for these, can get CRC errors... */
- if (intstatus & I_WR_OOSYNC) {
-@@ -2628,7 +2629,7 @@ static void brcmf_sdio_dpc(struct brcmf_
-
- if (bus->ctrl_frame_stat && (bus->clkstate == CLK_AVAIL) &&
- data_ok(bus)) {
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- if (bus->ctrl_frame_stat) {
- err = brcmf_sdio_tx_ctrlframe(bus, bus->ctrl_frame_buf,
- bus->ctrl_frame_len);
-@@ -2636,7 +2637,7 @@ static void brcmf_sdio_dpc(struct brcmf_
- wmb();
- bus->ctrl_frame_stat = false;
- }
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- brcmf_sdio_wait_event_wakeup(bus);
- }
- /* Send queued frames (limit 1 if rx may still be pending) */
-@@ -2652,14 +2653,14 @@ static void brcmf_sdio_dpc(struct brcmf_
- brcmf_err("failed backplane access over SDIO, halting operation\n");
- atomic_set(&bus->intstatus, 0);
- if (bus->ctrl_frame_stat) {
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- if (bus->ctrl_frame_stat) {
- bus->ctrl_frame_err = -ENODEV;
- wmb();
- bus->ctrl_frame_stat = false;
- brcmf_sdio_wait_event_wakeup(bus);
- }
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- }
- } else if (atomic_read(&bus->intstatus) ||
- atomic_read(&bus->ipend) > 0 ||
-@@ -2874,13 +2875,13 @@ brcmf_sdio_bus_txctl(struct device *dev,
- CTL_DONE_TIMEOUT);
- ret = 0;
- if (bus->ctrl_frame_stat) {
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- if (bus->ctrl_frame_stat) {
- brcmf_dbg(SDIO, "ctrl_frame timeout\n");
- bus->ctrl_frame_stat = false;
- ret = -ETIMEDOUT;
- }
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- }
- if (!ret) {
- brcmf_dbg(SDIO, "ctrl_frame complete, err=%d\n",
-@@ -3004,7 +3005,7 @@ static int brcmf_sdio_assert_info(struct
- return 0;
- }
-
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- if (sh->assert_file_addr != 0) {
- error = brcmf_sdiod_ramrw(bus->sdiodev, false,
- sh->assert_file_addr, (u8 *)file, 80);
-@@ -3017,7 +3018,7 @@ static int brcmf_sdio_assert_info(struct
- if (error < 0)
- return error;
- }
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
-
- seq_printf(seq, "dongle assert: %s:%d: assert(%s)\n",
- file, sh->assert_line, expr);
-@@ -3291,7 +3292,7 @@ static int brcmf_sdio_download_firmware(
- int bcmerror;
- u32 rstvec;
-
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- brcmf_sdio_clkctl(bus, CLK_AVAIL, false);
-
- rstvec = get_unaligned_le32(fw->data);
-@@ -3320,7 +3321,7 @@ static int brcmf_sdio_download_firmware(
-
- err:
- brcmf_sdio_clkctl(bus, CLK_SDONLY, false);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- return bcmerror;
- }
-
-@@ -3435,7 +3436,7 @@ static int brcmf_sdio_bus_preinit(struct
- if (sdiodev->sg_support) {
- bus->txglom = false;
- value = 1;
-- pad_size = bus->sdiodev->func[2]->cur_blksize << 1;
-+ pad_size = bus->sdiodev->func2->cur_blksize << 1;
- err = brcmf_iovar_data_set(bus->sdiodev->dev, "bus:rxglom",
- &value, sizeof(u32));
- if (err < 0) {
-@@ -3477,7 +3478,7 @@ static int brcmf_sdio_bus_get_memdump(st
-
- address = bus->ci->rambase;
- offset = err = 0;
-- sdio_claim_host(sdiodev->func[1]);
-+ sdio_claim_host(sdiodev->func1);
- while (offset < mem_size) {
- len = ((offset + MEMBLOCK) < mem_size) ? MEMBLOCK :
- mem_size - offset;
-@@ -3493,7 +3494,7 @@ static int brcmf_sdio_bus_get_memdump(st
- }
-
- done:
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
- return err;
- }
-
-@@ -3550,11 +3551,10 @@ static void brcmf_sdio_bus_watchdog(stru
- if (!bus->dpc_triggered) {
- u8 devpend;
-
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- devpend = brcmf_sdiod_func0_rb(bus->sdiodev,
-- SDIO_CCCR_INTx,
-- NULL);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ SDIO_CCCR_INTx, NULL);
-+ sdio_release_host(bus->sdiodev->func1);
- intstatus = devpend & (INTR_STATUS_FUNC1 |
- INTR_STATUS_FUNC2);
- }
-@@ -3580,13 +3580,13 @@ static void brcmf_sdio_bus_watchdog(stru
- bus->console.count += jiffies_to_msecs(BRCMF_WD_POLL);
- if (bus->console.count >= bus->console_interval) {
- bus->console.count -= bus->console_interval;
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- /* Make sure backplane clock is on */
- brcmf_sdio_bus_sleep(bus, false, false);
- if (brcmf_sdio_readconsole(bus) < 0)
- /* stop on error */
- bus->console_interval = 0;
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- }
- }
- #endif /* DEBUG */
-@@ -3599,11 +3599,11 @@ static void brcmf_sdio_bus_watchdog(stru
- bus->idlecount++;
- if (bus->idlecount > bus->idletime) {
- brcmf_dbg(SDIO, "idle\n");
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- brcmf_sdio_wd_timer(bus, false);
- bus->idlecount = 0;
- brcmf_sdio_bus_sleep(bus, true, false);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- }
- } else {
- bus->idlecount = 0;
-@@ -3773,8 +3773,8 @@ static u32 brcmf_sdio_buscore_read32(voi
- val = brcmf_sdiod_readl(sdiodev, addr, NULL);
-
- if (addr == CORE_CC_REG(SI_ENUM_BASE, chipid) &&
-- (sdiodev->func[1]->device == SDIO_DEVICE_ID_BROADCOM_4339 ||
-- sdiodev->func[1]->device == SDIO_DEVICE_ID_BROADCOM_4335_4339)) {
-+ (sdiodev->func1->device == SDIO_DEVICE_ID_BROADCOM_4339 ||
-+ sdiodev->func1->device == SDIO_DEVICE_ID_BROADCOM_4335_4339)) {
- rev = (val & CID_REV_MASK) >> CID_REV_SHIFT;
- if (rev >= 2) {
- val &= ~CID_ID_MASK;
-@@ -3810,7 +3810,7 @@ brcmf_sdio_probe_attach(struct brcmf_sdi
- u32 drivestrength;
-
- sdiodev = bus->sdiodev;
-- sdio_claim_host(sdiodev->func[1]);
-+ sdio_claim_host(sdiodev->func1);
-
- pr_debug("F1 signature read @0x18000000=0x%4x\n",
- brcmf_sdiod_readl(sdiodev, SI_ENUM_BASE, NULL));
-@@ -3877,8 +3877,8 @@ brcmf_sdio_probe_attach(struct brcmf_sdi
- /* wowl can be supported when KEEP_POWER is true and (WAKE_SDIO_IRQ
- * is true or when platform data OOB irq is true).
- */
-- if ((sdio_get_host_pm_caps(sdiodev->func[1]) & MMC_PM_KEEP_POWER) &&
-- ((sdio_get_host_pm_caps(sdiodev->func[1]) & MMC_PM_WAKE_SDIO_IRQ) ||
-+ if ((sdio_get_host_pm_caps(sdiodev->func1) & MMC_PM_KEEP_POWER) &&
-+ ((sdio_get_host_pm_caps(sdiodev->func1) & MMC_PM_WAKE_SDIO_IRQ) ||
- (sdiodev->settings->bus.sdio.oob_irq_supported)))
- sdiodev->bus_if->wowl_supported = true;
- #endif
-@@ -3917,7 +3917,7 @@ brcmf_sdio_probe_attach(struct brcmf_sdi
- if (err)
- goto fail;
-
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
-
- brcmu_pktq_init(&bus->txq, (PRIOMASK + 1), TXQLEN);
-
-@@ -3938,7 +3938,7 @@ brcmf_sdio_probe_attach(struct brcmf_sdi
- return true;
-
- fail:
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
- return false;
- }
-
-@@ -4044,7 +4044,7 @@ static void brcmf_sdio_firmware_callback
- bus->sdcnt.tickcnt = 0;
- brcmf_sdio_wd_timer(bus, true);
-
-- sdio_claim_host(sdiodev->func[1]);
-+ sdio_claim_host(sdiodev->func1);
-
- /* Make sure backplane clock is on, needed to generate F2 interrupt */
- brcmf_sdio_clkctl(bus, CLK_AVAIL, false);
-@@ -4066,7 +4066,7 @@ static void brcmf_sdio_firmware_callback
- brcmf_sdiod_writel(sdiod, core->base + SD_REG(tosbmailboxdata),
- SDPCM_PROT_VERSION << SMB_DATA_VERSION_SHIFT, NULL);
-
-- err = sdio_enable_func(sdiodev->func[2]);
-+ err = sdio_enable_func(sdiodev->func2);
-
- brcmf_dbg(INFO, "enable F2: err=%d\n", err);
-
-@@ -4081,7 +4081,7 @@ static void brcmf_sdio_firmware_callback
- brcmf_sdiod_writeb(sdiodev, SBSDIO_WATERMARK, 8, &err);
- } else {
- /* Disable F2 again */
-- sdio_disable_func(sdiodev->func[2]);
-+ sdio_disable_func(sdiodev->func2);
- goto release;
- }
-
-@@ -4106,7 +4106,7 @@ static void brcmf_sdio_firmware_callback
- if (err != 0)
- brcmf_sdio_clkctl(bus, CLK_NONE, false);
-
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
-
- err = brcmf_bus_started(dev);
- if (err != 0) {
-@@ -4116,10 +4116,10 @@ static void brcmf_sdio_firmware_callback
- return;
-
- release:
-- sdio_release_host(sdiodev->func[1]);
-+ sdio_release_host(sdiodev->func1);
- fail:
- brcmf_dbg(TRACE, "failed: dev=%s, err=%d\n", dev_name(dev), err);
-- device_release_driver(&sdiodev->func[2]->dev);
-+ device_release_driver(&sdiodev->func2->dev);
- device_release_driver(dev);
- }
-
-@@ -4146,7 +4146,7 @@ struct brcmf_sdio *brcmf_sdio_probe(stru
-
- /* single-threaded workqueue */
- wq = alloc_ordered_workqueue("brcmf_wq/%s", WQ_MEM_RECLAIM,
-- dev_name(&sdiodev->func[1]->dev));
-+ dev_name(&sdiodev->func1->dev));
- if (!wq) {
- brcmf_err("insufficient memory to create txworkqueue\n");
- goto fail;
-@@ -4173,7 +4173,7 @@ struct brcmf_sdio *brcmf_sdio_probe(stru
- init_completion(&bus->watchdog_wait);
- bus->watchdog_tsk = kthread_run(brcmf_sdio_watchdog_thread,
- bus, "brcmf_wdog/%s",
-- dev_name(&sdiodev->func[1]->dev));
-+ dev_name(&sdiodev->func1->dev));
- if (IS_ERR(bus->watchdog_tsk)) {
- pr_warn("brcmf_watchdog thread failed to start\n");
- bus->watchdog_tsk = NULL;
-@@ -4199,7 +4199,7 @@ struct brcmf_sdio *brcmf_sdio_probe(stru
- }
-
- /* Query the F2 block size, set roundup accordingly */
-- bus->blocksize = bus->sdiodev->func[2]->cur_blksize;
-+ bus->blocksize = bus->sdiodev->func2->cur_blksize;
- bus->roundup = min(max_roundup, bus->blocksize);
-
- /* Allocate buffers */
-@@ -4215,17 +4215,17 @@ struct brcmf_sdio *brcmf_sdio_probe(stru
- }
- }
-
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
-
- /* Disable F2 to clear any intermediate frame state on the dongle */
-- sdio_disable_func(bus->sdiodev->func[2]);
-+ sdio_disable_func(bus->sdiodev->func2);
-
- bus->rxflow = false;
-
- /* Done with backplane-dependent accesses, can drop clock... */
- brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, 0, NULL);
-
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
-
- /* ...and initialize clock/power states */
- bus->clkstate = CLK_SDONLY;
-@@ -4277,7 +4277,7 @@ void brcmf_sdio_remove(struct brcmf_sdio
-
- if (bus->ci) {
- if (bus->sdiodev->state != BRCMF_SDIOD_NOMEDIUM) {
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- brcmf_sdio_wd_timer(bus, false);
- brcmf_sdio_clkctl(bus, CLK_AVAIL, false);
- /* Leave the device in state where it is
-@@ -4287,7 +4287,7 @@ void brcmf_sdio_remove(struct brcmf_sdio
- msleep(20);
- brcmf_chip_set_passive(bus->ci);
- brcmf_sdio_clkctl(bus, CLK_NONE, false);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
- }
- brcmf_chip_detach(bus->ci);
- }
-@@ -4334,9 +4334,9 @@ int brcmf_sdio_sleep(struct brcmf_sdio *
- {
- int ret;
-
-- sdio_claim_host(bus->sdiodev->func[1]);
-+ sdio_claim_host(bus->sdiodev->func1);
- ret = brcmf_sdio_bus_sleep(bus, sleep, false);
-- sdio_release_host(bus->sdiodev->func[1]);
-+ sdio_release_host(bus->sdiodev->func1);
-
- return ret;
- }
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h
-@@ -21,9 +21,6 @@
- #include <linux/firmware.h>
- #include "firmware.h"
-
--/* Maximum number of I/O funcs */
--#define NUM_SDIO_FUNCS 3
--
- #define SDIOD_FBR_SIZE 0x100
-
- /* io_en */
-@@ -173,8 +170,8 @@ struct brcmf_sdio;
- struct brcmf_sdiod_freezer;
-
- struct brcmf_sdio_dev {
-- struct sdio_func *func[NUM_SDIO_FUNCS];
-- u8 num_funcs; /* Supported funcs on client */
-+ struct sdio_func *func1;
-+ struct sdio_func *func2;
- u32 sbwad; /* Save backplane window address */
- struct brcmf_core *cc_core; /* chipcommon core info struct */
- struct brcmf_sdio *bus;
-@@ -295,17 +292,17 @@ void brcmf_sdiod_intr_unregister(struct
- /* SDIO device register access interface */
- /* Accessors for SDIO Function 0 */
- #define brcmf_sdiod_func0_rb(sdiodev, addr, r) \
-- sdio_f0_readb((sdiodev)->func[1], (addr), (r))
-+ sdio_f0_readb((sdiodev)->func1, (addr), (r))
-
- #define brcmf_sdiod_func0_wb(sdiodev, addr, v, ret) \
-- sdio_f0_writeb((sdiodev)->func[1], (v), (addr), (ret))
-+ sdio_f0_writeb((sdiodev)->func1, (v), (addr), (ret))
-
- /* Accessors for SDIO Function 1 */
- #define brcmf_sdiod_readb(sdiodev, addr, r) \
-- sdio_readb((sdiodev)->func[1], (addr), (r))
-+ sdio_readb((sdiodev)->func1, (addr), (r))
-
- #define brcmf_sdiod_writeb(sdiodev, addr, v, ret) \
-- sdio_writeb((sdiodev)->func[1], (v), (addr), (ret))
-+ sdio_writeb((sdiodev)->func1, (v), (addr), (ret))
-
- u32 brcmf_sdiod_readl(struct brcmf_sdio_dev *sdiodev, u32 addr, int *ret);
- void brcmf_sdiod_writel(struct brcmf_sdio_dev *sdiodev, u32 addr, u32 data,