diff options
author | John Crispin <john@phrozen.org> | 2016-09-19 13:28:01 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-09-20 08:47:44 (GMT) |
commit | 092183df0fa1f4b49baad3a980c55d55de07dfb7 (patch) | |
tree | 5e3c4a89f506bf3c488204ccf519e772c9944cde /net/dsa | |
parent | 06f8ec9041f02d44bb0b75d47668e2fe00d5e0c3 (diff) | |
download | linux-092183df0fa1f4b49baad3a980c55d55de07dfb7.tar.xz |
net-next: dsa: make the set_addr() operation optional
Only 1 of the 3 drivers currently has a set_addr() operation. Make the
set_addr() callback optional to reduce the amount of empty stubs inside
the drivers.
Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dsa')
-rw-r--r-- | net/dsa/dsa.c | 8 | ||||
-rw-r--r-- | net/dsa/dsa2.c | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index 66e31ac..a6902c1 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c @@ -378,9 +378,11 @@ static int dsa_switch_setup_one(struct dsa_switch *ds, struct device *parent) if (ret < 0) goto out; - ret = ops->set_addr(ds, dst->master_netdev->dev_addr); - if (ret < 0) - goto out; + if (ops->set_addr) { + ret = ops->set_addr(ds, dst->master_netdev->dev_addr); + if (ret < 0) + goto out; + } if (!ds->slave_mii_bus && ops->phy_read) { ds->slave_mii_bus = devm_mdiobus_alloc(parent); diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index cffc19e..f8a7d9a 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -304,9 +304,11 @@ static int dsa_ds_apply(struct dsa_switch_tree *dst, struct dsa_switch *ds) if (err < 0) return err; - err = ds->ops->set_addr(ds, dst->master_netdev->dev_addr); - if (err < 0) - return err; + if (ds->ops->set_addr) { + err = ds->ops->set_addr(ds, dst->master_netdev->dev_addr); + if (err < 0) + return err; + } if (!ds->slave_mii_bus && ds->ops->phy_read) { ds->slave_mii_bus = devm_mdiobus_alloc(ds->dev); |