return val;
}
-static void v_EepromWaitBusy(unsigned long iobase)
+static void addi_eeprom_nvram_wait(unsigned long iobase)
{
- unsigned char b_EepromBusy = 0;
+ unsigned char val;
do {
- b_EepromBusy = inb(iobase + 0x3F);
- b_EepromBusy = b_EepromBusy & 0x80;
- } while (b_EepromBusy == 0x80);
+ val = inb(iobase + 0x3F);
+ } while (val & 0x80);
}
static unsigned short w_EepromReadWord(unsigned long iobase,
/* Select the load low address mode */
outb(NVCMD_LOAD_LOW, iobase + 0x3F);
-
- /* Wait on busy */
- v_EepromWaitBusy(iobase);
+ addi_eeprom_nvram_wait(iobase);
/* Load the low address */
outb(b_SelectedAddressLow, iobase + 0x3E);
-
- /* Wait on busy */
- v_EepromWaitBusy(iobase);
+ addi_eeprom_nvram_wait(iobase);
/* Select the load high address mode */
outb(NVCMD_LOAD_HIGH, iobase + 0x3F);
-
- /* Wait on busy */
- v_EepromWaitBusy(iobase);
+ addi_eeprom_nvram_wait(iobase);
/* Load the high address */
outb(b_SelectedAddressHigh, iobase + 0x3E);
-
- /* Wait on busy */
- v_EepromWaitBusy(iobase);
+ addi_eeprom_nvram_wait(iobase);
/* Select the READ mode */
outb(NVCMD_BEGIN_READ, iobase + 0x3F);
-
- /* Wait on busy */
- v_EepromWaitBusy(iobase);
+ addi_eeprom_nvram_wait(iobase);
/* Read data into the EEPROM */
b_ReadByte = inb(iobase + 0x3E);
-
- /* Wait on busy */
- v_EepromWaitBusy(iobase);
+ addi_eeprom_nvram_wait(iobase);
/* Select the upper address part */
if (b_Counter == 0)