All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Arend van Spriel" <arend@broadcom.com>
To: linville@tuxdriver.com
Cc: linux-wireless@vger.kernel.org, "Arend van Spriel" <arend@broadcom.com>
Subject: [PATCH 08/15] brcm80211: fmac: use specific types in struct brcmf_bus
Date: Thu, 9 Feb 2012 21:09:02 +0100	[thread overview]
Message-ID: <1328818149-4826-9-git-send-email-arend@broadcom.com> (raw)
In-Reply-To: <1328818149-4826-1-git-send-email-arend@broadcom.com>

The fields bus_priv and drvr are defined as void pointer. It is
preferred to have specific types for compiler type checking. To
prepare for other bus types the bus_priv field is defined as a
union containing the sdio bus private structure reference.

Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
---
 .../net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c |    4 ++--
 drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h  |    7 +++++--
 drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c |   10 +++++-----
 3 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c
index b698a76..1d2b74d 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c
@@ -489,7 +489,7 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func,
 		sdiodev->func[0] = func->card->sdio_func[0];
 		sdiodev->func[1] = func;
 		sdiodev->bus_if = bus_if;
-		bus_if->bus_priv = sdiodev;
+		bus_if->bus_priv.sdio = sdiodev;
 		bus_if->type = SDIO_BUS;
 		bus_if->align = BRCMF_SDALIGN;
 		dev_set_drvdata(&func->card->dev, sdiodev);
@@ -530,7 +530,7 @@ static void brcmf_ops_sdio_remove(struct sdio_func *func)
 
 	if (func->num == 2) {
 		bus_if = dev_get_drvdata(&func->dev);
-		sdiodev = bus_if->bus_priv;
+		sdiodev = bus_if->bus_priv.sdio;
 		brcmf_dbg(TRACE, "F2 found, calling brcmf_sdio_remove...\n");
 		brcmf_sdio_remove(sdiodev);
 		dev_set_drvdata(&func->card->dev, NULL);
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h b/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
index ad9be24..567a966 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
@@ -39,8 +39,11 @@ struct dngl_stats {
 /* interface structure between common and bus layer */
 struct brcmf_bus {
 	u8 type;		/* bus type */
-	void *bus_priv;		/* pointer to bus private structure */
-	void *drvr;		/* pointer to driver pub structure brcmf_pub */
+	union {
+		/* pointer to sdio private structure */
+		struct brcmf_sdio_dev *sdio;
+	} bus_priv;
+	struct brcmf_pub *drvr;	/* pointer to driver pub structure brcmf_pub */
 	enum brcmf_bus_state state;
 	uint maxctl;		/* Max size rxctl request from proto to bus */
 	bool drvr_up;		/* Status flag of driver up/down */
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
index 6e4b5e8..b20029e 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
@@ -2277,7 +2277,7 @@ static void brcmf_sdbrcm_bus_stop(struct device *dev)
 	uint retries;
 	int err;
 	struct brcmf_bus *bus_if = dev_get_drvdata(dev);
-	struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv;
+	struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio;
 	struct brcmf_sdio *bus = sdiodev->bus;
 
 	brcmf_dbg(TRACE, "Enter\n");
@@ -2627,7 +2627,7 @@ static int brcmf_sdbrcm_bus_txdata(struct device *dev, struct sk_buff *pkt)
 	int ret = -EBADE;
 	uint datalen, prec;
 	struct brcmf_bus *bus_if = dev_get_drvdata(dev);
-	struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv;
+	struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio;
 	struct brcmf_sdio *bus = sdiodev->bus;
 
 	brcmf_dbg(TRACE, "Enter\n");
@@ -2869,7 +2869,7 @@ brcmf_sdbrcm_bus_txctl(struct device *dev, unsigned char *msg, uint msglen)
 	u8 doff = 0;
 	int ret = -1;
 	struct brcmf_bus *bus_if = dev_get_drvdata(dev);
-	struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv;
+	struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio;
 	struct brcmf_sdio *bus = sdiodev->bus;
 
 	brcmf_dbg(TRACE, "Enter\n");
@@ -2978,7 +2978,7 @@ brcmf_sdbrcm_bus_rxctl(struct device *dev, unsigned char *msg, uint msglen)
 	uint rxlen = 0;
 	bool pending;
 	struct brcmf_bus *bus_if = dev_get_drvdata(dev);
-	struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv;
+	struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio;
 	struct brcmf_sdio *bus = sdiodev->bus;
 
 	brcmf_dbg(TRACE, "Enter\n");
@@ -3389,7 +3389,7 @@ brcmf_sdbrcm_download_firmware(struct brcmf_sdio *bus)
 static int brcmf_sdbrcm_bus_init(struct device *dev)
 {
 	struct brcmf_bus *bus_if = dev_get_drvdata(dev);
-	struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv;
+	struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio;
 	struct brcmf_sdio *bus = sdiodev->bus;
 	unsigned long timeout;
 	uint retries = 0;
-- 
1.7.5.4



  parent reply	other threads:[~2012-02-09 20:09 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-09 20:08 [PATCH 00/15] brcm80211: resolve brcmsmac issues and brcmfmac usb support Arend van Spriel
2012-02-09 20:08 ` [PATCH 01/15] brcm80211: update the maintainers listed for brcm80211 drivers Arend van Spriel
2012-02-10  7:26   ` Rafał Miłecki
2012-02-09 20:08 ` [PATCH 02/15] brcm80211: smac: fix unintended fallthru in wlc_phy_radio_init_2057() Arend van Spriel
2012-02-09 20:08 ` [PATCH 03/15] brcm80211: smac: remove redundant assignments from txpwrctrl_pwr_setup_nphy Arend van Spriel
2012-02-09 20:08 ` [PATCH 04/15] brcm80211: smac: fix endless retry of A-MPDU transmissions Arend van Spriel
2012-02-09 20:08 ` [PATCH 05/15] brcm80211: smac: remove smatch warnings from brcmsmac code Arend van Spriel
2012-02-09 20:09 ` [PATCH 06/15] brcm80211: fmac: resolve smatch issues in brcmfmac code Arend van Spriel
2012-02-09 20:09 ` [PATCH 07/15] brcm80211: fmac: make sure cancel_work_sync only called after INIT_WORK Arend van Spriel
2012-02-09 20:09 ` Arend van Spriel [this message]
2012-02-09 20:09 ` [PATCH 09/15] brcm80211: fmac: move module entry points to dhd_linux.c Arend van Spriel
2012-02-09 23:50   ` Julian Calaby
2012-02-10  9:11     ` Arend van Spriel
2012-02-09 20:09 ` [PATCH 10/15] brcm80211: fmac: only return success in brcmf_sdbrcm_bus_init() when true Arend van Spriel
2012-02-09 20:09 ` [PATCH 11/15] brcm80211: fmac: update bus state in common driver part Arend van Spriel
2012-02-09 20:09 ` [PATCH 12/15] brcm80211: fmac: change allocation flag in brcmf_enq_event() function Arend van Spriel
2012-02-09 20:09 ` [PATCH 13/15] brcm80211: fmac: use spinlock calls saving irq flags in brcmf_enq_event() Arend van Spriel
2012-02-09 20:09 ` [PATCH 14/15] brcm80211: fmac: add USB support for bcm43235/6/8 chipsets Arend van Spriel
2012-02-23 18:10   ` Rafał Miłecki
2012-02-23 18:46     ` Rafał Miłecki
2012-02-23 21:20       ` Arend van Spriel
2012-02-24  6:16         ` Rafał Miłecki
2012-02-24  9:47           ` Arend van Spriel
2012-02-09 20:09 ` [PATCH 15/15] brcm80211: fmac: make sdio firmware filename specific Arend van Spriel
2012-02-22 17:12 ` [PATCH 00/15] brcm80211: resolve brcmsmac issues and brcmfmac usb support Arend van Spriel
2012-02-22 19:14   ` John W. Linville

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1328818149-4826-9-git-send-email-arend@broadcom.com \
    --to=arend@broadcom.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.