diff options
author | Roland Vossen <rvossen@broadcom.com> | 2011-09-05 08:47:35 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-09-06 23:46:30 (GMT) |
commit | 17966e3bb8a3a0d883f4893e515c174ac5980413 (patch) | |
tree | f073be865b317ff3889ccfe69238827020b44bcf /drivers/staging | |
parent | 94dde6f46df0ab242875d14be9f454b414f1c0fe (diff) | |
download | linux-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.c | 24 |
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)) { |