summaryrefslogtreecommitdiff
path: root/drivers/staging
diff options
context:
space:
mode:
authorRoland Vossen <rvossen@broadcom.com>2011-09-05 08:47:35 (GMT)
committerGreg Kroah-Hartman <gregkh@suse.de>2011-09-06 23:46:30 (GMT)
commit17966e3bb8a3a0d883f4893e515c174ac5980413 (patch)
treef073be865b317ff3889ccfe69238827020b44bcf /drivers/staging
parent94dde6f46df0ab242875d14be9f454b414f1c0fe (diff)
downloadlinux-fsl-qoriq-17966e3bb8a3a0d883f4893e515c174ac5980413.tar.xz
staging: brcm80211: cleaned up softmac srom macro
Substituted macro. Reported-by: Johannes Berg <johannes@sipsolutions.net> Reported-by: Joe Perches <joe@perches.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/brcm80211/brcmsmac/srom.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/staging/brcm80211/brcmsmac/srom.c b/drivers/staging/brcm80211/brcmsmac/srom.c
index c8f6897..5bf0732 100644
--- a/drivers/staging/brcm80211/brcmsmac/srom.c
+++ b/drivers/staging/brcm80211/brcmsmac/srom.c
@@ -28,18 +28,6 @@
#include "otp.h"
#include "srom.h"
-#define SROM_OFFSET(sih) ((sih->ccrev > 31) ? \
- (((sih->cccaps & CC_CAP_SROM) == 0) ? NULL : \
- ((u8 *)curmap + PCI_16KB0_CCREGS_OFFSET + CC_SROM_OTP)) : \
- ((u8 *)curmap + PCI_BAR0_SPROM_OFFSET))
-
-#if defined(BCMDBG)
-/* 500 ms after write enable/disable toggle */
-#define WRITE_ENABLE_DELAY 500
-/* 20 ms between each word write */
-#define WRITE_WORD_DELAY 20
-#endif
-
/*
* SROM CRC8 polynomial value:
*
@@ -792,6 +780,16 @@ static const struct brcms_sromvar perpath_pci_sromvars[] = {
static u8 srom_crc8_table[CRC8_TABLE_SIZE];
+static u16 *srom_window_address(struct si_pub *sih, u8 *curmap)
+{
+ if (sih->ccrev < 32)
+ return (u16 *)(curmap + PCI_BAR0_SPROM_OFFSET);
+ if (sih->cccaps & CC_CAP_SROM)
+ return (u16 *)(curmap + PCI_16KB0_CCREGS_OFFSET + CC_SROM_OTP);
+
+ return NULL;
+}
+
/* Parse SROM and create name=value pairs. 'srom' points to
* the SROM word array. 'off' specifies the offset of the
* first word 'srom' points to, which should be either 0 or
@@ -1147,7 +1145,7 @@ static int initvars_srom_pci(struct si_pub *sih, void *curmap, char **vars,
if (!srom)
return -ENOMEM;
- sromwindow = (u16 *) SROM_OFFSET(sih);
+ sromwindow = srom_window_address(sih, curmap);
crc8_populate_lsb(srom_crc8_table, SROM_CRC8_POLY);
if (ai_is_sprom_available(sih)) {