Skip to content

Commit

Permalink
net: dsa/mv88e6352: make mv88e6352_wait generic
Browse files Browse the repository at this point in the history
Some busy bits are available in the global register 1, such as the ATU
Busy bit. We may want to use this function to wait for them to change,
so add a new parameter to mv88e6352_wait() instead of hard-coding
REG_GLOBAL2.

In the meantime, since the REG_READ() macro already checks for error,
remove the redundant check for ret < 0.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Vivien Didelot authored and David S. Miller committed Jan 27, 2015
1 parent bb92ea5 commit b8665c6
Showing 1 changed file with 5 additions and 8 deletions.
13 changes: 5 additions & 8 deletions drivers/net/dsa/mv88e6352.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,14 @@
#include <net/dsa.h>
#include "mv88e6xxx.h"

static int mv88e6352_wait(struct dsa_switch *ds, int reg, u16 mask)
static int mv88e6352_wait(struct dsa_switch *ds, int reg, int offset, u16 mask)
{
unsigned long timeout = jiffies + HZ / 10;

while (time_before(jiffies, timeout)) {
int ret;

ret = REG_READ(REG_GLOBAL2, reg);
if (ret < 0)
return ret;

ret = REG_READ(reg, offset);
if (!(ret & mask))
return 0;

Expand All @@ -43,17 +40,17 @@ static int mv88e6352_wait(struct dsa_switch *ds, int reg, u16 mask)

static inline int mv88e6352_phy_wait(struct dsa_switch *ds)
{
return mv88e6352_wait(ds, 0x18, 0x8000);
return mv88e6352_wait(ds, REG_GLOBAL2, 0x18, 0x8000);
}

static inline int mv88e6352_eeprom_load_wait(struct dsa_switch *ds)
{
return mv88e6352_wait(ds, 0x14, 0x0800);
return mv88e6352_wait(ds, REG_GLOBAL2, 0x14, 0x0800);
}

static inline int mv88e6352_eeprom_busy_wait(struct dsa_switch *ds)
{
return mv88e6352_wait(ds, 0x14, 0x8000);
return mv88e6352_wait(ds, REG_GLOBAL2, 0x14, 0x8000);
}

static int __mv88e6352_phy_read(struct dsa_switch *ds, int addr, int regnum)
Expand Down

0 comments on commit b8665c6

Please sign in to comment.