net: dsa: Pass device pointer to dsa_register_switch
authorFlorian Fainelli <f.fainelli@gmail.com>
Thu, 26 Jan 2017 18:45:51 +0000 (10:45 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 26 Jan 2017 20:43:52 +0000 (15:43 -0500)
In preparation for allowing dsa_register_switch() to be supplied with
device/platform data, pass down a struct device pointer instead of a
struct device_node.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/b53/b53_common.c
drivers/net/dsa/mv88e6xxx/chip.c
drivers/net/dsa/qca8k.c
include/net/dsa.h
net/dsa/dsa2.c

index 5cbb14f6a03b4fa4711fff455ba01f9079e4ea5e..bb210b12ad1b90f9485d1bec96e15973a9feb4fd 100644 (file)
@@ -1894,7 +1894,7 @@ int b53_switch_register(struct b53_device *dev)
 
        pr_info("found switch: %s, rev %i\n", dev->name, dev->core_rev);
 
-       return dsa_register_switch(dev->ds, dev->ds->dev->of_node);
+       return dsa_register_switch(dev->ds, dev->ds->dev);
 }
 EXPORT_SYMBOL(b53_switch_register);
 
index 5668e778ed1de42a0e3678a8f051e0f80607e388..921e5335178663dd3e346033e410d0b85daef07a 100644 (file)
@@ -4356,8 +4356,7 @@ static struct dsa_switch_driver mv88e6xxx_switch_drv = {
        .ops                    = &mv88e6xxx_switch_ops,
 };
 
-static int mv88e6xxx_register_switch(struct mv88e6xxx_chip *chip,
-                                    struct device_node *np)
+static int mv88e6xxx_register_switch(struct mv88e6xxx_chip *chip)
 {
        struct device *dev = chip->dev;
        struct dsa_switch *ds;
@@ -4372,7 +4371,7 @@ static int mv88e6xxx_register_switch(struct mv88e6xxx_chip *chip,
 
        dev_set_drvdata(dev, ds);
 
-       return dsa_register_switch(ds, np);
+       return dsa_register_switch(ds, dev);
 }
 
 static void mv88e6xxx_unregister_switch(struct mv88e6xxx_chip *chip)
@@ -4456,7 +4455,7 @@ static int mv88e6xxx_probe(struct mdio_device *mdiodev)
        if (err)
                goto out_g2_irq;
 
-       err = mv88e6xxx_register_switch(chip, np);
+       err = mv88e6xxx_register_switch(chip);
        if (err)
                goto out_mdio;
 
index 54d270d59eb0d920aed9fd5b706a0951f364179e..c084aa484d2bd100312cd6d2302f86faee5e28b8 100644 (file)
@@ -964,7 +964,7 @@ qca8k_sw_probe(struct mdio_device *mdiodev)
        mutex_init(&priv->reg_mutex);
        dev_set_drvdata(&mdiodev->dev, priv);
 
-       return dsa_register_switch(priv->ds, priv->ds->dev->of_node);
+       return dsa_register_switch(priv->ds, &mdiodev->dev);
 }
 
 static void
index 08b340403927d8ca06726d853514535801b9d96b..92fd795e9573e36c241b688dcbd4cdc20954c98a 100644 (file)
@@ -387,7 +387,7 @@ static inline bool dsa_uses_tagged_protocol(struct dsa_switch_tree *dst)
 }
 
 void dsa_unregister_switch(struct dsa_switch *ds);
-int dsa_register_switch(struct dsa_switch *ds, struct device_node *np);
+int dsa_register_switch(struct dsa_switch *ds, struct device *dev);
 #ifdef CONFIG_PM_SLEEP
 int dsa_switch_suspend(struct dsa_switch *ds);
 int dsa_switch_resume(struct dsa_switch *ds);
index 866222a8f9bf56933acebd8b2f0c44d22091fbae..2cf489c5e90fc08bb42c99d66441f0a3af38456b 100644 (file)
@@ -578,8 +578,9 @@ static struct device_node *dsa_get_ports(struct dsa_switch *ds,
        return ports;
 }
 
-static int _dsa_register_switch(struct dsa_switch *ds, struct device_node *np)
+static int _dsa_register_switch(struct dsa_switch *ds, struct device *dev)
 {
+       struct device_node *np = dev->of_node;
        struct device_node *ports = dsa_get_ports(ds, np);
        struct dsa_switch_tree *dst;
        u32 tree, index;
@@ -659,12 +660,12 @@ out:
        return err;
 }
 
-int dsa_register_switch(struct dsa_switch *ds, struct device_node *np)
+int dsa_register_switch(struct dsa_switch *ds, struct device *dev)
 {
        int err;
 
        mutex_lock(&dsa2_mutex);
-       err = _dsa_register_switch(ds, np);
+       err = _dsa_register_switch(ds, dev);
        mutex_unlock(&dsa2_mutex);
 
        return err;