aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFranky Lin <frankyl@broadcom.com>2011-12-16 21:37:14 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-12-19 14:40:47 -0500
commit99a0b8ff9105d9b78e7e4e6aaa077264707e4e1c (patch)
treeee895dfe154a4ae8a1fff7a50808a5f48e2a71a7
parenta8a363ac3b0cc947c5153d5b2e46c07bb496958b (diff)
brcm80211: fmac: abstract bus_init interface function pointer
Abstract bus layer brcmf_bus_init function pointer for common layer. This patch 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>
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h5
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c2
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c3
3 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h b/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
index dc022e336b89..5d5f2afed1ff 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
@@ -51,6 +51,8 @@ struct brcmf_bus {
51 /* interface functions pointers */ 51 /* interface functions pointers */
52 /* Stop bus module: clear pending frames, disable data flow */ 52 /* Stop bus module: clear pending frames, disable data flow */
53 void (*brcmf_bus_stop)(struct device *); 53 void (*brcmf_bus_stop)(struct device *);
54 /* Initialize bus module: prepare for communication w/dongle */
55 int (*brcmf_bus_init)(struct device *);
54}; 56};
55 57
56/* 58/*
@@ -97,9 +99,6 @@ extern int brcmf_add_if(struct device *dev, int ifidx,
97/* 99/*
98 * Exported from brcmf bus module (brcmf_usb, brcmf_sdio) 100 * Exported from brcmf bus module (brcmf_usb, brcmf_sdio)
99 */ 101 */
100/* Initialize bus module: prepare for communication w/dongle */
101extern int brcmf_sdbrcm_bus_init(struct device *dev);
102
103/* Send a data frame to the dongle. Callee disposes of txp. */ 102/* Send a data frame to the dongle. Callee disposes of txp. */
104extern int brcmf_sdbrcm_bus_txdata(struct device *dev, struct sk_buff *txp); 103extern int brcmf_sdbrcm_bus_txdata(struct device *dev, struct sk_buff *txp);
105 104
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
index 6c398c422512..62b457545ac6 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
@@ -971,7 +971,7 @@ int brcmf_bus_start(struct device *dev)
971 brcmf_dbg(TRACE, "\n"); 971 brcmf_dbg(TRACE, "\n");
972 972
973 /* Bring up the bus */ 973 /* Bring up the bus */
974 ret = brcmf_sdbrcm_bus_init(dev); 974 ret = bus_if->brcmf_bus_init(dev);
975 if (ret != 0) { 975 if (ret != 0) {
976 brcmf_dbg(ERROR, "brcmf_sdbrcm_bus_init failed %d\n", ret); 976 brcmf_dbg(ERROR, "brcmf_sdbrcm_bus_init failed %d\n", ret);
977 return ret; 977 return ret;
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
index 7817ededcf7d..5089b6444bec 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
@@ -3423,7 +3423,7 @@ brcmf_sdbrcm_download_firmware(struct brcmf_sdio *bus)
3423 return ret; 3423 return ret;
3424} 3424}
3425 3425
3426int brcmf_sdbrcm_bus_init(struct device *dev) 3426static int brcmf_sdbrcm_bus_init(struct device *dev)
3427{ 3427{
3428 struct brcmf_bus *bus_if = dev_get_drvdata(dev); 3428 struct brcmf_bus *bus_if = dev_get_drvdata(dev);
3429 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv; 3429 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv;
@@ -3954,6 +3954,7 @@ void *brcmf_sdbrcm_probe(u32 regsva, struct brcmf_sdio_dev *sdiodev)
3954 3954
3955 /* Assign bus interface call back */ 3955 /* Assign bus interface call back */
3956 bus->sdiodev->bus_if->brcmf_bus_stop = brcmf_sdbrcm_bus_stop; 3956 bus->sdiodev->bus_if->brcmf_bus_stop = brcmf_sdbrcm_bus_stop;
3957 bus->sdiodev->bus_if->brcmf_bus_init = brcmf_sdbrcm_bus_init;
3957 /* Attach to the brcmf/OS/network interface */ 3958 /* Attach to the brcmf/OS/network interface */
3958 ret = brcmf_attach(SDPCM_RESERVE, bus->sdiodev->dev); 3959 ret = brcmf_attach(SDPCM_RESERVE, bus->sdiodev->dev);
3959 if (ret != 0) { 3960 if (ret != 0) {