Now that the driver will always be notified that the role is deleted
before the ring is deleted, then we don't need to duplicate the logic of
cleaning the resources also in the delete function.
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
const struct switchdev_obj_mrp *mrp)
{
struct ocelot_port *ocelot_port = ocelot->ports[port];
- int i;
if (!ocelot_port)
return -EOPNOTSUPP;
if (ocelot_port->mrp_ring_id != mrp->ring_id)
return 0;
- ocelot_mrp_del_vcap(ocelot, port);
- ocelot_mrp_del_vcap(ocelot, port + ocelot->num_phys_ports);
-
ocelot_port->mrp_ring_id = 0;
- for (i = 0; i < ocelot->num_phys_ports; ++i) {
- ocelot_port = ocelot->ports[i];
-
- if (!ocelot_port)
- continue;
-
- if (ocelot_port->mrp_ring_id != 0)
- goto out;
- }
-
- ocelot_mrp_del_mac(ocelot, ocelot->ports[port]);
-out:
return 0;
}
EXPORT_SYMBOL(ocelot_mrp_del);