summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/dsa/Kconfig2
-rw-r--r--drivers/net/dsa/mv88e6060.c40
2 files changed, 2 insertions, 40 deletions
diff --git a/drivers/net/dsa/Kconfig b/drivers/net/dsa/Kconfig
index 71bb3aebded4..82560b710681 100644
--- a/drivers/net/dsa/Kconfig
+++ b/drivers/net/dsa/Kconfig
@@ -41,7 +41,7 @@ config NET_DSA_MT7530
41 41
42config NET_DSA_MV88E6060 42config NET_DSA_MV88E6060
43 tristate "Marvell 88E6060 ethernet switch chip support" 43 tristate "Marvell 88E6060 ethernet switch chip support"
44 depends on NET_DSA && NET_DSA_LEGACY 44 depends on NET_DSA
45 select NET_DSA_TAG_TRAILER 45 select NET_DSA_TAG_TRAILER
46 ---help--- 46 ---help---
47 This enables support for the Marvell 88E6060 ethernet switch 47 This enables support for the Marvell 88E6060 ethernet switch
diff --git a/drivers/net/dsa/mv88e6060.c b/drivers/net/dsa/mv88e6060.c
index 93ed23c5b31f..2a2489b5196d 100644
--- a/drivers/net/dsa/mv88e6060.c
+++ b/drivers/net/dsa/mv88e6060.c
@@ -48,27 +48,6 @@ static enum dsa_tag_protocol mv88e6060_get_tag_protocol(struct dsa_switch *ds,
48 return DSA_TAG_PROTO_TRAILER; 48 return DSA_TAG_PROTO_TRAILER;
49} 49}
50 50
51static const char *mv88e6060_drv_probe(struct device *dsa_dev,
52 struct device *host_dev, int sw_addr,
53 void **_priv)
54{
55 struct mii_bus *bus = dsa_host_dev_to_mii_bus(host_dev);
56 struct mv88e6060_priv *priv;
57 const char *name;
58
59 name = mv88e6060_get_name(bus, sw_addr);
60 if (name) {
61 priv = devm_kzalloc(dsa_dev, sizeof(*priv), GFP_KERNEL);
62 if (!priv)
63 return NULL;
64 *_priv = priv;
65 priv->bus = bus;
66 priv->sw_addr = sw_addr;
67 }
68
69 return name;
70}
71
72static int mv88e6060_switch_reset(struct mv88e6060_priv *priv) 51static int mv88e6060_switch_reset(struct mv88e6060_priv *priv)
73{ 52{
74 int i; 53 int i;
@@ -266,16 +245,11 @@ mv88e6060_phy_write(struct dsa_switch *ds, int port, int regnum, u16 val)
266 245
267static const struct dsa_switch_ops mv88e6060_switch_ops = { 246static const struct dsa_switch_ops mv88e6060_switch_ops = {
268 .get_tag_protocol = mv88e6060_get_tag_protocol, 247 .get_tag_protocol = mv88e6060_get_tag_protocol,
269 .probe = mv88e6060_drv_probe,
270 .setup = mv88e6060_setup, 248 .setup = mv88e6060_setup,
271 .phy_read = mv88e6060_phy_read, 249 .phy_read = mv88e6060_phy_read,
272 .phy_write = mv88e6060_phy_write, 250 .phy_write = mv88e6060_phy_write,
273}; 251};
274 252
275static struct dsa_switch_driver mv88e6060_switch_drv = {
276 .ops = &mv88e6060_switch_ops,
277};
278
279static int mv88e6060_probe(struct mdio_device *mdiodev) 253static int mv88e6060_probe(struct mdio_device *mdiodev)
280{ 254{
281 struct device *dev = &mdiodev->dev; 255 struct device *dev = &mdiodev->dev;
@@ -332,19 +306,7 @@ static struct mdio_driver mv88e6060_driver = {
332 }, 306 },
333}; 307};
334 308
335static int __init mv88e6060_init(void) 309mdio_module_driver(mv88e6060_driver);
336{
337 register_switch_driver(&mv88e6060_switch_drv);
338 return mdio_driver_register(&mv88e6060_driver);
339}
340module_init(mv88e6060_init);
341
342static void __exit mv88e6060_cleanup(void)
343{
344 mdio_driver_unregister(&mv88e6060_driver);
345 unregister_switch_driver(&mv88e6060_switch_drv);
346}
347module_exit(mv88e6060_cleanup);
348 310
349MODULE_AUTHOR("Lennert Buytenhek <buytenh@wantstofly.org>"); 311MODULE_AUTHOR("Lennert Buytenhek <buytenh@wantstofly.org>");
350MODULE_DESCRIPTION("Driver for Marvell 88E6060 ethernet switch chip"); 312MODULE_DESCRIPTION("Driver for Marvell 88E6060 ethernet switch chip");