/* Read bytes from the Frequency EEPROM (frequency select cards).  */
static void fee_read(unsigned long ioaddr, u16 o, u16 *b, int n)
/* Read bytes from the Frequency EEPROM (frequency select cards).  */
static void fee_read(unsigned long ioaddr, u16 o, u16 *b, int n)
{
	b += n;
	mmc_out(ioaddr, mmwoff(0, mmw_fee_addr), o + n - 1);
	while (n-- > 0) {
		mmc_out(ioaddr, mmwoff(0, mmw_fee_ctrl),
			MMW_FEE_CTRL_READ);
		fee_wait(ioaddr, 10, 100);
		*--b = ((mmc_in(ioaddr, mmroff(0, mmr_fee_data_h)) << 8) |
			mmc_in(ioaddr, mmroff(0, mmr_fee_data_l)));
	}
}