All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hauke Mehrtens <hauke@hauke-m.de>
To: linville@tuxdriver.com, arend@broadcom.com
Cc: brcm80211-dev-list@broadcom.com, linux-wireless@vger.kernel.org,
	Hauke Mehrtens <hauke@hauke-m.de>
Subject: [PATCH v2 05/18] brcmsmac: remove ai_findcore()
Date: Sat, 30 Jun 2012 15:16:08 +0200	[thread overview]
Message-ID: <1341062181-28071-6-git-send-email-hauke@hauke-m.de> (raw)
In-Reply-To: <1341062181-28071-1-git-send-email-hauke@hauke-m.de>

bcma also stores a pointer to the chipcommon core in its struct,
brcmsmac should use it and not search for the core by its own.

Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 drivers/net/wireless/brcm80211/brcmsmac/aiutils.c |   31 ++++-----------------
 drivers/net/wireless/brcm80211/brcmsmac/aiutils.h |    2 --
 drivers/net/wireless/brcm80211/brcmsmac/pmu.c     |   12 +++++---
 3 files changed, 14 insertions(+), 31 deletions(-)

diff --git a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c b/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
index 2a77698..4abf9b6 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
@@ -590,27 +590,6 @@ void ai_detach(struct si_pub *sih)
 	kfree(sii);
 }
 
-/* return index of coreid or BADIDX if not found */
-struct bcma_device *ai_findcore(struct si_pub *sih, u16 coreid, u16 coreunit)
-{
-	struct bcma_device *core;
-	struct si_info *sii;
-	uint found;
-
-	sii = container_of(sih, struct si_info, pub);
-
-	found = 0;
-
-	list_for_each_entry(core, &sii->icbus->cores, list)
-		if (core->id.id == coreid) {
-			if (found == coreunit)
-				return core;
-			found++;
-		}
-
-	return NULL;
-}
-
 /*
  * read/modify chipcommon core register.
  */
@@ -686,12 +665,13 @@ ai_clkctl_setdelay(struct si_pub *sih, struct bcma_device *cc)
 /* initialize power control delay registers */
 void ai_clkctl_init(struct si_pub *sih)
 {
+	struct si_info *sii = container_of(sih, struct si_info, pub);
 	struct bcma_device *cc;
 
 	if (!(ai_get_cccaps(sih) & CC_CAP_PWR_CTL))
 		return;
 
-	cc = ai_findcore(sih, BCMA_CORE_CHIPCOMMON, 0);
+	cc = sii->icbus->drv_cc.core;
 	if (cc == NULL)
 		return;
 
@@ -723,7 +703,7 @@ u16 ai_clkctl_fast_pwrup_delay(struct si_pub *sih)
 		return 0;
 
 	fpdelay = 0;
-	cc = ai_findcore(sih, CC_CORE_ID, 0);
+	cc = sii->icbus->drv_cc.core;
 	if (cc) {
 		slowminfreq = ai_slowclk_freq(sih, false, cc);
 		fpdelay = (((bcma_read32(cc, CHIPCREGOFFS(pll_on_delay)) + 2)
@@ -747,7 +727,7 @@ bool ai_clkctl_cc(struct si_pub *sih, enum bcma_clkmode mode)
 
 	sii = container_of(sih, struct si_info, pub);
 
-	cc = ai_findcore(&sii->pub, BCMA_CORE_CHIPCOMMON, 0);
+	cc = sii->icbus->drv_cc.core;
 	bcma_core_set_clockmode(cc, mode);
 	return mode == BCMA_CLKMODE_FAST;
 }
@@ -776,9 +756,10 @@ void ai_pci_down(struct si_pub *sih)
 /* Enable BT-COEX & Ex-PA for 4313 */
 void ai_epa_4313war(struct si_pub *sih)
 {
+	struct si_info *sii = container_of(sih, struct si_info, pub);
 	struct bcma_device *cc;
 
-	cc = ai_findcore(sih, CC_CORE_ID, 0);
+	cc = sii->icbus->drv_cc.core;
 
 	/* EPA Fix */
 	bcma_set32(cc, CHIPCREGOFFS(gpiocontrol), GPIO_CTRL_EPA_EN_MASK);
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.h b/drivers/net/wireless/brcm80211/brcmsmac/aiutils.h
index fb7f439..3a5358c 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.h
+++ b/drivers/net/wireless/brcm80211/brcmsmac/aiutils.h
@@ -182,8 +182,6 @@ struct si_info {
 
 
 /* AMBA Interconnect exported externs */
-extern struct bcma_device *ai_findcore(struct si_pub *sih,
-				       u16 coreid, u16 coreunit);
 extern u32 ai_core_cflags(struct bcma_device *core, u32 mask, u32 val);
 
 /* === exported functions === */
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/pmu.c b/drivers/net/wireless/brcm80211/brcmsmac/pmu.c
index 4931d29..0399a86 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/pmu.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/pmu.c
@@ -142,10 +142,11 @@ static void si_pmu_res_masks(struct si_pub *sih, u32 * pmin, u32 * pmax)
 void si_pmu_spuravoid_pllupdate(struct si_pub *sih, u8 spuravoid)
 {
 	u32 tmp = 0;
+	struct si_info *sii = container_of(sih, struct si_info, pub);
 	struct bcma_device *core;
 
 	/* switch to chipc */
-	core = ai_findcore(sih, BCMA_CORE_CHIPCOMMON, 0);
+	core = sii->icbus->drv_cc.core;
 
 	switch (ai_get_chip_id(sih)) {
 	case BCM43224_CHIP_ID:
@@ -286,10 +287,11 @@ u32 si_pmu_alp_clock(struct si_pub *sih)
 /* initialize PMU */
 void si_pmu_init(struct si_pub *sih)
 {
+	struct si_info *sii = container_of(sih, struct si_info, pub);
 	struct bcma_device *core;
 
 	/* select chipc */
-	core = ai_findcore(sih, BCMA_CORE_CHIPCOMMON, 0);
+	core = sii->icbus->drv_cc.core;
 
 	if (ai_get_pmurev(sih) == 1)
 		bcma_mask32(core, CHIPCREGOFFS(pmucontrol),
@@ -301,11 +303,12 @@ void si_pmu_init(struct si_pub *sih)
 /* initialize PMU resources */
 void si_pmu_res_init(struct si_pub *sih)
 {
+	struct si_info *sii = container_of(sih, struct si_info, pub);
 	struct bcma_device *core;
 	u32 min_mask = 0, max_mask = 0;
 
 	/* select to chipc */
-	core = ai_findcore(sih, BCMA_CORE_CHIPCOMMON, 0);
+	core = sii->icbus->drv_cc.core;
 
 	/* Determine min/max rsrc masks */
 	si_pmu_res_masks(sih, &min_mask, &max_mask);
@@ -328,6 +331,7 @@ void si_pmu_res_init(struct si_pub *sih)
 
 u32 si_pmu_measure_alpclk(struct si_pub *sih)
 {
+	struct si_info *sii = container_of(sih, struct si_info, pub);
 	struct bcma_device *core;
 	u32 alp_khz;
 
@@ -335,7 +339,7 @@ u32 si_pmu_measure_alpclk(struct si_pub *sih)
 		return 0;
 
 	/* Remember original core before switch to chipc */
-	core = ai_findcore(sih, BCMA_CORE_CHIPCOMMON, 0);
+	core = sii->icbus->drv_cc.core;
 
 	if (bcma_read32(core, CHIPCREGOFFS(pmustatus)) & PST_EXTLPOAVAIL) {
 		u32 ilp_ctr, alp_hz;
-- 
1.7.9.5


  parent reply	other threads:[~2012-06-30 13:17 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-30 13:16 [PATCH v2 00/18] brcmsmac: update to get SoCs working Hauke Mehrtens
2012-06-30 13:16 ` [PATCH v2 01/18] brcmsmac: remove PCIE() macro Hauke Mehrtens
2012-07-03  7:07   ` Arend van Spriel
2012-06-30 13:16 ` [PATCH v2 02/18] brcmsmac: remove PCI_FORCEHT() macro Hauke Mehrtens
2012-06-30 13:16 ` [PATCH v2 03/18] brcmsmac: remove ai_get_buscore{type,rev}() Hauke Mehrtens
2012-06-30 13:16 ` [PATCH v2 04/18] brcmsmac: use container_of instead of cast Hauke Mehrtens
2012-06-30 13:16 ` Hauke Mehrtens [this message]
2012-06-30 13:16 ` [PATCH v2 06/18] brcmsmac: remove si_pmu_init() and si_pmu_res_init() Hauke Mehrtens
2012-06-30 13:16 ` [PATCH v2 07/18] brcmsmac: remove si_pmu_spuravoid_pllupdate() Hauke Mehrtens
2012-06-30 13:16 ` [PATCH v2 08/18] brcmsmac: remove some redundant chip common workarounds Hauke Mehrtens
2012-06-30 13:16 ` [PATCH v2 09/18] brcmsmac: use core id constants from bcma Hauke Mehrtens
2012-06-30 13:16 ` [PATCH v2 10/18] brcmsmac: use chip and package " Hauke Mehrtens
2012-06-30 13:16 ` [PATCH v2 11/18] brcmsmac: remove some unnessessacry casts and void pointer Hauke Mehrtens
2012-07-01 23:59   ` Julian Calaby
2012-07-02  7:54     ` Dominique Martinet
2012-07-02 17:44       ` Hauke Mehrtens
2012-07-02 23:01         ` Julian Calaby
2012-06-30 13:16 ` [PATCH v2 12/18] brcmsmac: add a conditions for core rev 17 again Hauke Mehrtens
2012-07-03  7:06   ` Arend van Spriel
2012-06-30 13:16 ` [PATCH v2 13/18] brcmsmac: add some workarounds for other chips again Hauke Mehrtens
2012-07-03  7:08   ` Arend van Spriel
2012-06-30 13:16 ` [PATCH v2 14/18] brcmsmac: extend xmtfifo_sz array Hauke Mehrtens
2012-07-02  0:01   ` Julian Calaby
2012-07-02 18:15     ` [PATCH v3 " Hauke Mehrtens
2012-07-03  7:08   ` [PATCH v2 " Arend van Spriel
2012-06-30 13:16 ` [PATCH v2 15/18] brcmsmac: fix DMA on SoCs Hauke Mehrtens
2012-07-03  7:10   ` Arend van Spriel
2012-06-30 13:16 ` [PATCH v2 16/18] brcmsmac: extend brcms_c_chipmatch() to also handle non PCIe devices Hauke Mehrtens
2012-07-03  7:11   ` Arend van Spriel
2012-06-30 13:16 ` [PATCH v2 17/18] brcmsmac: fix read in write_phy_reg Hauke Mehrtens
2012-06-30 13:16 ` [PATCH v2 18/18] brcmsmac: handle non PCI devices in the phy code Hauke Mehrtens
2012-07-03  7:11   ` Arend van Spriel
2012-07-02  0:04 ` [PATCH v2 00/18] brcmsmac: update to get SoCs working Julian Calaby
2012-07-03  7:13 ` Arend van Spriel
2012-07-06 18:35   ` John W. Linville
2012-07-08 19:10     ` Arend van Spriel

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=1341062181-28071-6-git-send-email-hauke@hauke-m.de \
    --to=hauke@hauke-m.de \
    --cc=arend@broadcom.com \
    --cc=brcm80211-dev-list@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.