net: dsa: Rename DSA probe function.
[deliverable/linux.git] / drivers / net / dsa / mv88e6131.c
index a92ca651c3990c1353922fadb242e57d8f7e0af9..f5d75fce1e96014b6b2cada875967f1ea647dbd6 100644 (file)
@@ -25,10 +25,13 @@ static const struct mv88e6xxx_switch_id mv88e6131_table[] = {
        { PORT_SWITCH_ID_6185, "Marvell 88E6185" },
 };
 
-static char *mv88e6131_probe(struct device *host_dev, int sw_addr)
+static char *mv88e6131_drv_probe(struct device *dsa_dev,
+                                struct device *host_dev,
+                                int sw_addr, void **priv)
 {
-       return mv88e6xxx_lookup_name(host_dev, sw_addr, mv88e6131_table,
-                                    ARRAY_SIZE(mv88e6131_table));
+       return mv88e6xxx_drv_probe(dsa_dev, host_dev, sw_addr, priv,
+                                  mv88e6131_table,
+                                  ARRAY_SIZE(mv88e6131_table));
 }
 
 static int mv88e6131_setup_global(struct dsa_switch *ds)
@@ -91,6 +94,8 @@ static int mv88e6131_setup(struct dsa_switch *ds)
        struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
        int ret;
 
+       ps->ds = ds;
+
        ret = mv88e6xxx_setup_common(ds);
        if (ret < 0)
                return ret;
@@ -159,8 +164,7 @@ mv88e6131_phy_write(struct dsa_switch *ds,
 
 struct dsa_switch_driver mv88e6131_switch_driver = {
        .tag_protocol           = DSA_TAG_PROTO_DSA,
-       .priv_size              = sizeof(struct mv88e6xxx_priv_state),
-       .probe                  = mv88e6131_probe,
+       .probe                  = mv88e6131_drv_probe,
        .setup                  = mv88e6131_setup,
        .set_addr               = mv88e6xxx_set_addr_direct,
        .phy_read               = mv88e6131_phy_read,
@@ -169,6 +173,17 @@ struct dsa_switch_driver mv88e6131_switch_driver = {
        .get_ethtool_stats      = mv88e6xxx_get_ethtool_stats,
        .get_sset_count         = mv88e6xxx_get_sset_count,
        .adjust_link            = mv88e6xxx_adjust_link,
+       .port_bridge_join       = mv88e6xxx_port_bridge_join,
+       .port_bridge_leave      = mv88e6xxx_port_bridge_leave,
+       .port_vlan_filtering    = mv88e6xxx_port_vlan_filtering,
+       .port_vlan_prepare      = mv88e6xxx_port_vlan_prepare,
+       .port_vlan_add          = mv88e6xxx_port_vlan_add,
+       .port_vlan_del          = mv88e6xxx_port_vlan_del,
+       .port_vlan_dump         = mv88e6xxx_port_vlan_dump,
+       .port_fdb_prepare       = mv88e6xxx_port_fdb_prepare,
+       .port_fdb_add           = mv88e6xxx_port_fdb_add,
+       .port_fdb_del           = mv88e6xxx_port_fdb_del,
+       .port_fdb_dump          = mv88e6xxx_port_fdb_dump,
 };
 
 MODULE_ALIAS("platform:mv88e6085");
This page took 0.168982 seconds and 5 git commands to generate.