/* Register selection is normally done via three contiguous bits. However, some boards (such as the MC16/32) use only two bits, plus a separate bit in the glue chip. This sets the SRSX bit (the top bit). See page 4-17 in the Yellow Book for which registers are affected.  */
static void madgemc_setregpage(struct net_device *dev, int page)
/* Register selection is normally done via three contiguous bits. However, some boards (such as the MC16/32) use only two bits, plus a separate bit in the glue chip. This sets the SRSX bit (the top bit). See page 4-17 in the Yellow Book for which registers are affected.  */
static void madgemc_setregpage(struct net_device *dev, int page)
{	static int reg1;
	reg1 = inb(dev->base_addr + MC_CONTROL_REG1);
	if ((page == 0) && (reg1 & MC_CONTROL_REG1_SRSX)) {
		outb(reg1 ^ MC_CONTROL_REG1_SRSX, 
		     dev->base_addr + MC_CONTROL_REG1);
	}
	else if (page == 1) {
		outb(reg1 | MC_CONTROL_REG1_SRSX, 
		     dev->base_addr + MC_CONTROL_REG1);
	}
	reg1 = inb(dev->base_addr + MC_CONTROL_REG1);
	return;
}