All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Roland Vossen" <rvossen@broadcom.com>
To: gregkh@suse.de
Cc: devel@linuxdriverproject.org, linux-wireless@vger.kernel.org
Subject: [PATCH 11/30] staging: brcm80211: cleaned up fullmac macro BRCMF_PM_RESUME_RETURN_ERROR
Date: Thu, 1 Sep 2011 11:17:01 +0200	[thread overview]
Message-ID: <1314868640-9425-12-git-send-email-rvossen@broadcom.com> (raw)
In-Reply-To: <1314868640-9425-1-git-send-email-rvossen@broadcom.com>

Macros impacting the code flow are sort of frowned upon. No other macro's
in the source code impact the code flow. Replaced macro by function.

Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Franky Lin <frankyl@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
---
 drivers/staging/brcm80211/brcmfmac/bcmsdh_sdmmc.c |   25 +++++++++++++++------
 1 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/brcm80211/brcmfmac/bcmsdh_sdmmc.c b/drivers/staging/brcm80211/brcmfmac/bcmsdh_sdmmc.c
index a15765b..d3d3890 100644
--- a/drivers/staging/brcm80211/brcmfmac/bcmsdh_sdmmc.c
+++ b/drivers/staging/brcm80211/brcmfmac/bcmsdh_sdmmc.c
@@ -90,17 +90,24 @@ DECLARE_WAIT_QUEUE_HEAD(sdioh_request_buffer_wait);
 			wait_event_timeout(a, false, HZ/100); \
 		} \
 	}	while (0)
-#define BRCMF_PM_RESUME_RETURN_ERROR(a, b)	\
-	do { if (atomic_read(&b->suspend)) return a; } while (0)
 #else
 #define BRCMF_PM_RESUME_WAIT(a, b)
-#define BRCMF_PM_RESUME_RETURN_ERROR(a, b)
 #endif		/* CONFIG_PM_SLEEP */
 
 static int
 brcmf_sdioh_card_regread(struct brcmf_sdio_dev *sdiodev, int func, u32 regaddr,
 			 int regsize, u32 *data);
 
+static bool
+brcmf_pm_resume_error(struct brcmf_sdio_dev *sdiodev)
+{
+	bool is_err = false;
+#ifdef CONFIG_PM_SLEEP
+	is_err = atomic_read(&sdiodev->suspend);
+#endif
+	return is_err;
+}
+
 static int brcmf_sdioh_enablefuncs(struct brcmf_sdio_dev *sdiodev)
 {
 	int err_ret;
@@ -249,7 +256,8 @@ brcmf_sdioh_request_byte(struct brcmf_sdio_dev *sdiodev, uint rw, uint func,
 	brcmf_dbg(INFO, "rw=%d, func=%d, addr=0x%05x\n", rw, func, regaddr);
 
 	BRCMF_PM_RESUME_WAIT(sdioh_request_byte_wait, sdiodev);
-	BRCMF_PM_RESUME_RETURN_ERROR(-EIO, sdiodev);
+	if (brcmf_pm_resume_error(sdiodev))
+		return -EIO;
 	if (rw) {		/* CMD52 Write */
 		if (func == 0) {
 			/* Can only directly write to some F0 registers.
@@ -351,7 +359,8 @@ brcmf_sdioh_request_word(struct brcmf_sdio_dev *sdiodev, uint cmd_type, uint rw,
 		  cmd_type, rw, func, addr, nbytes);
 
 	BRCMF_PM_RESUME_WAIT(sdioh_request_word_wait, sdiodev);
-	BRCMF_PM_RESUME_RETURN_ERROR(-EIO, sdiodev);
+	if (brcmf_pm_resume_error(sdiodev))
+		return -EIO;
 	/* Claim host controller */
 	sdio_claim_host(sdiodev->func[func]);
 
@@ -400,7 +409,8 @@ brcmf_sdioh_request_packet(struct brcmf_sdio_dev *sdiodev, uint fix_inc,
 	brcmf_dbg(TRACE, "Enter\n");
 
 	BRCMF_PM_RESUME_WAIT(sdioh_request_packet_wait, sdiodev);
-	BRCMF_PM_RESUME_RETURN_ERROR(-EIO, sdiodev);
+	if (brcmf_pm_resume_error(sdiodev))
+		return -EIO;
 
 	/* Claim host controller */
 	sdio_claim_host(sdiodev->func[func]);
@@ -477,7 +487,8 @@ brcmf_sdioh_request_buffer(struct brcmf_sdio_dev *sdiodev, uint pio_dma,
 	brcmf_dbg(TRACE, "Enter\n");
 
 	BRCMF_PM_RESUME_WAIT(sdioh_request_buffer_wait, sdiodev);
-	BRCMF_PM_RESUME_RETURN_ERROR(-EIO, sdiodev);
+	if (brcmf_pm_resume_error(sdiodev))
+		return -EIO;
 	/* Case 1: we don't have a packet. */
 	if (pkt == NULL) {
 		brcmf_dbg(DATA, "Creating new %s Packet, len=%d\n",
-- 
1.7.4.1



  parent reply	other threads:[~2011-09-01  9:17 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-01  9:16 [PATCH 00/30] first response to mainline patch#2 comments Roland Vossen
2011-09-01  9:16 ` [PATCH 01/30] staging: brcm80211: removed static function declarations in aiutils.c Roland Vossen
2011-09-01  9:16 ` [PATCH 02/30] staging: brcm80211: removed static function declarations in alloc.c Roland Vossen
2011-09-01  9:16 ` [PATCH 03/30] staging: brcm80211: removed static function declarations in ampdu.c Roland Vossen
2011-09-01  9:16 ` [PATCH 04/30] staging: brcm80211: removed static function declarations in antsel.c Roland Vossen
2011-09-01  9:16 ` [PATCH 05/30] staging: brcm80211: removed static function declarations in channel.c Roland Vossen
2011-09-01  9:16 ` [PATCH 06/30] staging: brcm80211: removed static function declarations in dma.c Roland Vossen
2011-09-01  9:16 ` [PATCH 07/30] staging: brcm80211: removed static function declarations in mac80211_if.c Roland Vossen
2011-09-01  9:16 ` [PATCH 08/30] staging: brcm80211: removed static function declarations in 3 files Roland Vossen
2011-09-01  9:16 ` [PATCH 09/30] staging: brcm80211: use min_t() instead of min() Roland Vossen
2011-09-01  9:17 ` [PATCH 10/30] staging: brcm80211: remove static function prototypes from main.c Roland Vossen
2011-09-01  9:17 ` Roland Vossen [this message]
2011-09-01  9:17 ` [PATCH 12/30] staging: brcm80211: replaced fullmac BRCMF_PM_RESUME_WAIT macro with function Roland Vossen
2011-09-01  9:17 ` [PATCH 13/30] staging: brcm80211: consolidate SHOW_EVENTS code under BCMDBG in fullmac Roland Vossen
2011-09-01  9:17 ` [PATCH 14/30] staging: brcm80211: remove duplicate set sb window address function Roland Vossen
2011-09-01  9:17 ` [PATCH 15/30] staging: brcm80211: remove function wrapper of getting sb window address Roland Vossen
2011-09-01  9:17 ` [PATCH 16/30] staging: brcm80211: remove unused sdioh data mode code in fullmac Roland Vossen
2011-09-01  9:17 ` [PATCH 17/30] staging: brcm80211: remove unused sdioh command type " Roland Vossen
2011-09-01  9:17 ` [PATCH 18/30] staging: brcm80211: remove static function declaration in bcmsdh_sdmmc Roland Vossen
2011-09-01  9:17 ` [PATCH 19/30] staging: brcm80211: remove static function declaration in dhd_linux Roland Vossen
2011-09-01  9:17 ` [PATCH 20/30] staging: brcm80211: use static qualifier for local symbols in brcmfmac Roland Vossen
2011-09-01  9:17 ` [PATCH 21/30] staging: brcm80211: reduce sparse messages on brcmsmac sources Roland Vossen
2011-09-01  9:17 ` [PATCH 22/30] staging: brcm80211: remove sparse warnings from mac80211_if.c Roland Vossen
2011-09-01  9:17 ` [PATCH 23/30] staging: brcm80211: use static qualifier for local symbols in brcmsmac Roland Vossen
2011-09-01  9:17 ` [PATCH 24/30] staging: brcm80211: removed redundant macro's in softmac Roland Vossen
2011-09-01  9:17 ` [PATCH 25/30] staging: brcm80211: removed redundant SI_INFO() macro from softmac Roland Vossen
2011-09-01  9:17 ` [PATCH 26/30] staging: brcm80211: macro cleanup in softmac aiutils.h Roland Vossen
2011-09-01  9:17 ` [PATCH 27/30] staging: brcm80211: macro cleanup in softmac ampdu.c Roland Vossen
2011-09-01  9:17 ` [PATCH 28/30] staging: brcm80211: cleaned up softmac channel related macro's Roland Vossen
2011-09-01  9:17 ` [PATCH 29/30] staging: brcm80211: cleaned up several softmac macro's Roland Vossen
2011-09-01  9:17 ` [PATCH 30/30] staging: brcm80211: cleaned up several main.h/main.c related macro's Roland Vossen

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=1314868640-9425-12-git-send-email-rvossen@broadcom.com \
    --to=rvossen@broadcom.com \
    --cc=devel@linuxdriverproject.org \
    --cc=gregkh@suse.de \
    --cc=linux-wireless@vger.kernel.org \
    /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.