mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 21:51:40 +00:00
net: dsa: mv88e6xxx: Split mv88e6xxx_reg_read and mv88e6xxx_reg_write
Split mv88e6xxx_reg_read and mv88e6xxx_reg_write into two functions each, one to acquire smi_mutex and one to get struct mii_bus *bus from struct dsa_switch *ds and to call the actual read/write function. Reviewed-by: Andrew Lunn <andrew@lunn.ch> Tested-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
366f0a0f98
commit
8d6d09e7a0
@ -72,19 +72,16 @@ int __mv88e6xxx_reg_read(struct mii_bus *bus, int sw_addr, int addr, int reg)
|
||||
return ret & 0xffff;
|
||||
}
|
||||
|
||||
int mv88e6xxx_reg_read(struct dsa_switch *ds, int addr, int reg)
|
||||
/* Must be called with SMI mutex held */
|
||||
static int _mv88e6xxx_reg_read(struct dsa_switch *ds, int addr, int reg)
|
||||
{
|
||||
struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
|
||||
struct mii_bus *bus = dsa_host_dev_to_mii_bus(ds->master_dev);
|
||||
int ret;
|
||||
|
||||
if (bus == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&ps->smi_mutex);
|
||||
ret = __mv88e6xxx_reg_read(bus, ds->pd->sw_addr, addr, reg);
|
||||
mutex_unlock(&ps->smi_mutex);
|
||||
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@ -94,6 +91,18 @@ int mv88e6xxx_reg_read(struct dsa_switch *ds, int addr, int reg)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int mv88e6xxx_reg_read(struct dsa_switch *ds, int addr, int reg)
|
||||
{
|
||||
struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
|
||||
int ret;
|
||||
|
||||
mutex_lock(&ps->smi_mutex);
|
||||
ret = _mv88e6xxx_reg_read(ds, addr, reg);
|
||||
mutex_unlock(&ps->smi_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int __mv88e6xxx_reg_write(struct mii_bus *bus, int sw_addr, int addr,
|
||||
int reg, u16 val)
|
||||
{
|
||||
@ -125,11 +134,11 @@ int __mv88e6xxx_reg_write(struct mii_bus *bus, int sw_addr, int addr,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mv88e6xxx_reg_write(struct dsa_switch *ds, int addr, int reg, u16 val)
|
||||
/* Must be called with SMI mutex held */
|
||||
static int _mv88e6xxx_reg_write(struct dsa_switch *ds, int addr, int reg,
|
||||
u16 val)
|
||||
{
|
||||
struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
|
||||
struct mii_bus *bus = dsa_host_dev_to_mii_bus(ds->master_dev);
|
||||
int ret;
|
||||
|
||||
if (bus == NULL)
|
||||
return -EINVAL;
|
||||
@ -137,8 +146,16 @@ int mv88e6xxx_reg_write(struct dsa_switch *ds, int addr, int reg, u16 val)
|
||||
dev_dbg(ds->master_dev, "-> addr: 0x%.2x reg: 0x%.2x val: 0x%.4x\n",
|
||||
addr, reg, val);
|
||||
|
||||
return __mv88e6xxx_reg_write(bus, ds->pd->sw_addr, addr, reg, val);
|
||||
}
|
||||
|
||||
int mv88e6xxx_reg_write(struct dsa_switch *ds, int addr, int reg, u16 val)
|
||||
{
|
||||
struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
|
||||
int ret;
|
||||
|
||||
mutex_lock(&ps->smi_mutex);
|
||||
ret = __mv88e6xxx_reg_write(bus, ds->pd->sw_addr, addr, reg, val);
|
||||
ret = _mv88e6xxx_reg_write(ds, addr, reg, val);
|
||||
mutex_unlock(&ps->smi_mutex);
|
||||
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user