#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:
  *
 
 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
        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)) {