static u16 mdio_read(struct net_device *net_dev, int phy_id, int location) 
static int mdio_read(struct net_device *net_dev, int phy_id, int location) 
static u16 mdio_read(struct net_device *net_dev, int phy_id, int location){	long mdio_addr = net_dev->base_addr + mear;	int mii_cmd = MIIread|(phy_id<<MIIpmdShift)|(location<<MIIregShift);	u16 retval = 0;	int i;	mdio_reset(mdio_addr);	mdio_idle(mdio_addr);	for (i = 15; i >= 0; i--) {		int dataval = (mii_cmd & (1 << i)) ? MDDIR | MDIO : MDDIR;		outl(dataval, mdio_addr);		mdio_delay();		outl(dataval | MDC, mdio_addr);		mdio_delay();	}	/* Read the 16 data bits. */	for (i = 16; i > 0; i--) {		outl(0, mdio_addr);		mdio_delay();		retval = (retval << 1) | ((inl(mdio_addr) & MDIO) ? 1 : 0);		outl(MDC, mdio_addr);		mdio_delay();	}	outl(0x00, mdio_addr);	return retval;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/da369b01d49b34803265096eb92a2d6da61cf0d0/sis900.c/clean/drivers/net/sis900.c