Lines Matching refs:switchdev_work

1450 	struct adin1110_switchdev_event_work *switchdev_work;  in adin1110_switchdev_event_work()  local
1454 switchdev_work = container_of(work, struct adin1110_switchdev_event_work, work); in adin1110_switchdev_event_work()
1455 port_priv = switchdev_work->port_priv; in adin1110_switchdev_event_work()
1459 switch (switchdev_work->event) { in adin1110_switchdev_event_work()
1461 ret = adin1110_fdb_add(port_priv, &switchdev_work->fdb_info); in adin1110_switchdev_event_work()
1464 &switchdev_work->fdb_info); in adin1110_switchdev_event_work()
1467 adin1110_fdb_del(port_priv, &switchdev_work->fdb_info); in adin1110_switchdev_event_work()
1475 kfree(switchdev_work->fdb_info.addr); in adin1110_switchdev_event_work()
1476 kfree(switchdev_work); in adin1110_switchdev_event_work()
1486 struct adin1110_switchdev_event_work *switchdev_work; in adin1110_switchdev_event() local
1492 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); in adin1110_switchdev_event()
1493 if (WARN_ON(!switchdev_work)) in adin1110_switchdev_event()
1496 INIT_WORK(&switchdev_work->work, adin1110_switchdev_event_work); in adin1110_switchdev_event()
1497 switchdev_work->port_priv = port_priv; in adin1110_switchdev_event()
1498 switchdev_work->event = event; in adin1110_switchdev_event()
1503 memcpy(&switchdev_work->fdb_info, ptr, in adin1110_switchdev_event()
1504 sizeof(switchdev_work->fdb_info)); in adin1110_switchdev_event()
1505 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in adin1110_switchdev_event()
1507 if (!switchdev_work->fdb_info.addr) in adin1110_switchdev_event()
1510 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in adin1110_switchdev_event()
1515 kfree(switchdev_work); in adin1110_switchdev_event()
1519 queue_work(system_long_wq, &switchdev_work->work); in adin1110_switchdev_event()
1524 kfree(switchdev_work); in adin1110_switchdev_event()