Lines Matching refs:switchdev_work

313 	struct sparx5_switchdev_event_work *switchdev_work =  in sparx5_switchdev_bridge_fdb_event_work()  local
315 struct net_device *dev = switchdev_work->dev; in sparx5_switchdev_bridge_fdb_event_work()
325 sparx5 = switchdev_work->sparx5; in sparx5_switchdev_bridge_fdb_event_work()
328 sparx5 = switchdev_work->sparx5; in sparx5_switchdev_bridge_fdb_event_work()
332 fdb_info = &switchdev_work->fdb_info; in sparx5_switchdev_bridge_fdb_event_work()
342 switch (switchdev_work->event) { in sparx5_switchdev_bridge_fdb_event_work()
358 kfree(switchdev_work->fdb_info.addr); in sparx5_switchdev_bridge_fdb_event_work()
359 kfree(switchdev_work); in sparx5_switchdev_bridge_fdb_event_work()
372 struct sparx5_switchdev_event_work *switchdev_work; in sparx5_switchdev_event() local
389 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); in sparx5_switchdev_event()
390 if (!switchdev_work) in sparx5_switchdev_event()
393 switchdev_work->dev = dev; in sparx5_switchdev_event()
394 switchdev_work->event = event; in sparx5_switchdev_event()
395 switchdev_work->sparx5 = spx5; in sparx5_switchdev_event()
400 INIT_WORK(&switchdev_work->work, in sparx5_switchdev_event()
402 memcpy(&switchdev_work->fdb_info, ptr, in sparx5_switchdev_event()
403 sizeof(switchdev_work->fdb_info)); in sparx5_switchdev_event()
404 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in sparx5_switchdev_event()
405 if (!switchdev_work->fdb_info.addr) in sparx5_switchdev_event()
408 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in sparx5_switchdev_event()
412 sparx5_schedule_work(&switchdev_work->work); in sparx5_switchdev_event()
418 kfree(switchdev_work); in sparx5_switchdev_event()