diff options
author | Franky Lin <frankyl@broadcom.com> | 2011-12-16 21:37:14 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-12-19 14:40:47 -0500 |
commit | 99a0b8ff9105d9b78e7e4e6aaa077264707e4e1c (patch) | |
tree | ee895dfe154a4ae8a1fff7a50808a5f48e2a71a7 | |
parent | a8a363ac3b0cc947c5153d5b2e46c07bb496958b (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.h | 5 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 3 |
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 */ | ||
101 | extern 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. */ |
104 | extern int brcmf_sdbrcm_bus_txdata(struct device *dev, struct sk_buff *txp); | 103 | extern 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 | ||
3426 | int brcmf_sdbrcm_bus_init(struct device *dev) | 3426 | static 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) { |