Lines Matching +full:vsc7512 +full:- +full:switch
1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
3 * Copyright 2021-2022 Innovative Advantage Inc.
68 struct device *dev = &pdev->dev; in ocelot_ext_probe()
76 return -ENOMEM; in ocelot_ext_probe()
80 ocelot = &felix->ocelot; in ocelot_ext_probe()
81 ocelot->dev = dev; in ocelot_ext_probe()
83 ocelot->num_flooding_pgids = 1; in ocelot_ext_probe()
85 felix->info = &vsc7512_info; in ocelot_ext_probe()
89 err = -ENOMEM; in ocelot_ext_probe()
90 dev_err_probe(dev, err, "Failed to allocate DSA switch\n"); in ocelot_ext_probe()
94 ds->dev = dev; in ocelot_ext_probe()
95 ds->num_ports = felix->info->num_ports; in ocelot_ext_probe()
96 ds->num_tx_queues = felix->info->num_tx_queues; in ocelot_ext_probe()
98 ds->ops = &felix_switch_ops; in ocelot_ext_probe()
99 ds->priv = ocelot; in ocelot_ext_probe()
100 felix->ds = ds; in ocelot_ext_probe()
101 felix->tag_proto = DSA_TAG_PROTO_OCELOT; in ocelot_ext_probe()
105 dev_err_probe(dev, err, "Failed to register DSA switch\n"); in ocelot_ext_probe()
120 struct felix *felix = dev_get_drvdata(&pdev->dev); in ocelot_ext_remove()
125 dsa_unregister_switch(felix->ds); in ocelot_ext_remove()
127 kfree(felix->ds); in ocelot_ext_remove()
133 struct felix *felix = dev_get_drvdata(&pdev->dev); in ocelot_ext_shutdown()
138 dsa_switch_shutdown(felix->ds); in ocelot_ext_shutdown()
140 dev_set_drvdata(&pdev->dev, NULL); in ocelot_ext_shutdown()
144 { .compatible = "mscc,vsc7512-switch" },
151 .name = "ocelot-ext-switch",
160 MODULE_DESCRIPTION("External Ocelot Switch driver");