Lines Matching defs:switchdev_work
1448 struct adin1110_switchdev_event_work *switchdev_work;
1452 switchdev_work = container_of(work, struct adin1110_switchdev_event_work, work);
1453 port_priv = switchdev_work->port_priv;
1457 switch (switchdev_work->event) {
1459 ret = adin1110_fdb_add(port_priv, &switchdev_work->fdb_info);
1462 &switchdev_work->fdb_info);
1465 adin1110_fdb_del(port_priv, &switchdev_work->fdb_info);
1473 kfree(switchdev_work->fdb_info.addr);
1474 kfree(switchdev_work);
1484 struct adin1110_switchdev_event_work *switchdev_work;
1490 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC);
1491 if (WARN_ON(!switchdev_work))
1494 INIT_WORK(&switchdev_work->work, adin1110_switchdev_event_work);
1495 switchdev_work->port_priv = port_priv;
1496 switchdev_work->event = event;
1501 memcpy(&switchdev_work->fdb_info, ptr,
1502 sizeof(switchdev_work->fdb_info));
1503 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC);
1505 if (!switchdev_work->fdb_info.addr)
1508 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr,
1513 kfree(switchdev_work);
1517 queue_work(system_long_wq, &switchdev_work->work);
1522 kfree(switchdev_work);