diff options
author | Vivien Didelot <vivien.didelot@savoirfairelinux.com> | 2017-01-27 15:29:38 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-01-29 18:42:46 -0500 |
commit | 818be8489d6fc8f4cc2c7699bbfd8e1983080f10 (patch) | |
tree | 50b8e511c5aca76d6e4670c681d9de60b6ffcb96 /net/dsa/dsa2.c | |
parent | 26895e299cfb583d304553e9c259e694a7e83397 (diff) |
net: dsa: add ds and index to dsa_port
Add the physical switch instance and port index a DSA port belongs to to
the dsa_port structure.
That can be used later to retrieve information about a physical port
when configuring a switch fabric, or lighten up struct dsa_slave_priv.
Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dsa/dsa2.c')
-rw-r--r-- | net/dsa/dsa2.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index 6e7b3e88b778..9f8cc26be9ea 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c | |||
@@ -670,6 +670,7 @@ struct dsa_switch *dsa_switch_alloc(struct device *dev, size_t n) | |||
670 | { | 670 | { |
671 | size_t size = sizeof(struct dsa_switch) + n * sizeof(struct dsa_port); | 671 | size_t size = sizeof(struct dsa_switch) + n * sizeof(struct dsa_port); |
672 | struct dsa_switch *ds; | 672 | struct dsa_switch *ds; |
673 | int i; | ||
673 | 674 | ||
674 | ds = devm_kzalloc(dev, size, GFP_KERNEL); | 675 | ds = devm_kzalloc(dev, size, GFP_KERNEL); |
675 | if (!ds) | 676 | if (!ds) |
@@ -678,6 +679,11 @@ struct dsa_switch *dsa_switch_alloc(struct device *dev, size_t n) | |||
678 | ds->dev = dev; | 679 | ds->dev = dev; |
679 | ds->num_ports = n; | 680 | ds->num_ports = n; |
680 | 681 | ||
682 | for (i = 0; i < ds->num_ports; ++i) { | ||
683 | ds->ports[i].index = i; | ||
684 | ds->ports[i].ds = ds; | ||
685 | } | ||
686 | |||
681 | return ds; | 687 | return ds; |
682 | } | 688 | } |
683 | EXPORT_SYMBOL_GPL(dsa_switch_alloc); | 689 | EXPORT_SYMBOL_GPL(dsa_switch_alloc); |