summaryrefslogtreecommitdiffstats
path: root/net/dsa
diff options
context:
space:
mode:
authorFlorian Fainelli <f.fainelli@gmail.com>2014-08-28 02:04:50 +0200
committerDavid S. Miller <davem@davemloft.net>2014-08-28 07:59:40 +0200
commitbd47497a0171b96264927e3377254db13b9fe3e3 (patch)
tree6fe8f9e9f9bcb592390b86af28a9fe01a5fafd78 /net/dsa
parentnet: dsa: provide a switch device device tree node pointer (diff)
downloadlinux-bd47497a0171b96264927e3377254db13b9fe3e3.tar.xz
linux-bd47497a0171b96264927e3377254db13b9fe3e3.zip
net: dsa: retain a per-port device_node pointer
We will later use the per-port device_node pointer to fetch a bunch of port-specific properties. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dsa')
-rw-r--r--net/dsa/dsa.c2
-rw-r--r--net/dsa/slave.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
index a28ef432d016..6a5bae673037 100644
--- a/net/dsa/dsa.c
+++ b/net/dsa/dsa.c
@@ -432,6 +432,8 @@ static int dsa_of_probe(struct platform_device *pdev)
if (!port_name)
continue;
+ cd->port_dn[port_index] = port;
+
cd->port_names[port_index] = kstrdup(port_name,
GFP_KERNEL);
if (!cd->port_names[port_index]) {
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index ad1a913533aa..5688c34253e5 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -354,6 +354,7 @@ dsa_slave_create(struct dsa_switch *ds, struct device *parent,
}
SET_NETDEV_DEV(slave_dev, parent);
+ slave_dev->dev.of_node = ds->pd->port_dn[port];
slave_dev->vlan_features = master->vlan_features;
p = netdev_priv(slave_dev);