aboutsummaryrefslogtreecommitdiffstats
path: root/net/dsa
diff options
context:
space:
mode:
Diffstat (limited to 'net/dsa')
-rw-r--r--net/dsa/mv88e6060.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/dsa/mv88e6060.c b/net/dsa/mv88e6060.c
index 83277f463af7..8f4ff5a2c813 100644
--- a/net/dsa/mv88e6060.c
+++ b/net/dsa/mv88e6060.c
@@ -18,7 +18,7 @@
18 18
19static int reg_read(struct dsa_switch *ds, int addr, int reg) 19static int reg_read(struct dsa_switch *ds, int addr, int reg)
20{ 20{
21 return mdiobus_read(ds->master_mii_bus, addr, reg); 21 return mdiobus_read(ds->master_mii_bus, ds->pd->sw_addr + addr, reg);
22} 22}
23 23
24#define REG_READ(addr, reg) \ 24#define REG_READ(addr, reg) \
@@ -34,7 +34,8 @@ static int reg_read(struct dsa_switch *ds, int addr, int reg)
34 34
35static int reg_write(struct dsa_switch *ds, int addr, int reg, u16 val) 35static int reg_write(struct dsa_switch *ds, int addr, int reg, u16 val)
36{ 36{
37 return mdiobus_write(ds->master_mii_bus, addr, reg, val); 37 return mdiobus_write(ds->master_mii_bus, ds->pd->sw_addr + addr,
38 reg, val);
38} 39}
39 40
40#define REG_WRITE(addr, reg, val) \ 41#define REG_WRITE(addr, reg, val) \
@@ -50,7 +51,7 @@ static char *mv88e6060_probe(struct mii_bus *bus, int sw_addr)
50{ 51{
51 int ret; 52 int ret;
52 53
53 ret = mdiobus_read(bus, REG_PORT(0), 0x03); 54 ret = mdiobus_read(bus, sw_addr + REG_PORT(0), 0x03);
54 if (ret >= 0) { 55 if (ret >= 0) {
55 ret &= 0xfff0; 56 ret &= 0xfff0;
56 if (ret == 0x0600) 57 if (ret == 0x0600)