diff options
| -rw-r--r-- | drivers/net/kirkwood_egiga.c | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/kirkwood_egiga.c b/drivers/net/kirkwood_egiga.c index 07a86cd6f..2ad7feac8 100644 --- a/drivers/net/kirkwood_egiga.c +++ b/drivers/net/kirkwood_egiga.c @@ -39,6 +39,7 @@  #include "kirkwood_egiga.h"  #define KIRKWOOD_PHY_ADR_REQUEST 0xee +#define KWGBE_SMI_REG (((struct kwgbe_registers *)KW_EGIGA0_BASE)->smi)  /*   * smi_reg_read - miiphy_read callback function. @@ -76,7 +77,7 @@ static int smi_reg_read(char *devname, u8 phy_adr, u8 reg_ofs, u16 * data)  	/* wait till the SMI is not busy */  	do {  		/* read smi register */ -		smi_reg = KWGBEREG_RD(regs->smi); +		smi_reg = KWGBEREG_RD(KWGBE_SMI_REG);  		if (timeout-- == 0) {  			printf("Err..(%s) SMI busy timeout\n", __FUNCTION__);  			return -EFAULT; @@ -89,14 +90,14 @@ static int smi_reg_read(char *devname, u8 phy_adr, u8 reg_ofs, u16 * data)  		| KWGBE_PHY_SMI_OPCODE_READ;  	/* write the smi register */ -	KWGBEREG_WR(regs->smi, smi_reg); +	KWGBEREG_WR(KWGBE_SMI_REG, smi_reg);  	/*wait till read value is ready */  	timeout = KWGBE_PHY_SMI_TIMEOUT;  	do {  		/* read smi register */ -		smi_reg = KWGBEREG_RD(regs->smi); +		smi_reg = KWGBEREG_RD(KWGBE_SMI_REG);  		if (timeout-- == 0) {  			printf("Err..(%s) SMI read ready timeout\n",  				__FUNCTION__); @@ -107,7 +108,7 @@ static int smi_reg_read(char *devname, u8 phy_adr, u8 reg_ofs, u16 * data)  	/* Wait for the data to update in the SMI register */  	for (timeout = 0; timeout < KWGBE_PHY_SMI_TIMEOUT; timeout++) ; -	*data = (u16) (KWGBEREG_RD(regs->smi) & KWGBE_PHY_SMI_DATA_MASK); +	*data = (u16) (KWGBEREG_RD(KWGBE_SMI_REG) & KWGBE_PHY_SMI_DATA_MASK);  	debug("%s:(adr %d, off %d) value= %04x\n", __FUNCTION__, phy_adr,  		reg_ofs, *data); @@ -150,7 +151,7 @@ static int smi_reg_write(char *devname, u8 phy_adr, u8 reg_ofs, u16 data)  	timeout = KWGBE_PHY_SMI_TIMEOUT;  	do {  		/* read smi register */ -		smi_reg = KWGBEREG_RD(regs->smi); +		smi_reg = KWGBEREG_RD(KWGBE_SMI_REG);  		if (timeout-- == 0) {  			printf("Err..(%s) SMI busy timeout\n", __FUNCTION__);  			return -ETIME; @@ -164,7 +165,7 @@ static int smi_reg_write(char *devname, u8 phy_adr, u8 reg_ofs, u16 data)  	smi_reg &= ~KWGBE_PHY_SMI_OPCODE_READ;  	/* write the smi register */ -	KWGBEREG_WR(regs->smi, smi_reg); +	KWGBEREG_WR(KWGBE_SMI_REG, smi_reg);  	return 0;  }  |