Lines Matching refs:swdev

40 	struct prestera_switchdev *swdev;  member
228 prestera_bridge_create(struct prestera_switchdev *swdev, struct net_device *dev) in prestera_bridge_create() argument
235 if (vlan_enabled && swdev->bridge_8021q_exists) { in prestera_bridge_create()
245 swdev->bridge_8021q_exists = true; in prestera_bridge_create()
247 err = prestera_hw_bridge_create(swdev->sw, &bridge_id); in prestera_bridge_create()
257 bridge->swdev = swdev; in prestera_bridge_create()
262 list_add(&bridge->head, &swdev->bridge_list); in prestera_bridge_create()
269 struct prestera_switchdev *swdev = bridge->swdev; in prestera_bridge_destroy() local
274 swdev->bridge_8021q_exists = false; in prestera_bridge_destroy()
276 prestera_hw_bridge_delete(swdev->sw, bridge->bridge_id); in prestera_bridge_destroy()
289 struct prestera_bridge *prestera_bridge_by_dev(struct prestera_switchdev *swdev, in prestera_bridge_by_dev() argument
294 list_for_each_entry(bridge, &swdev->bridge_list, head) in prestera_bridge_by_dev()
316 prestera_bridge_port_by_dev(struct prestera_switchdev *swdev, in prestera_bridge_port_by_dev() argument
325 bridge = prestera_bridge_by_dev(swdev, br_dev); in prestera_bridge_port_by_dev()
428 struct prestera_switchdev *swdev = port->sw->swdev; in prestera_port_bridge_join() local
433 bridge = prestera_bridge_by_dev(swdev, upper); in prestera_port_bridge_join()
435 bridge = prestera_bridge_create(swdev, upper); in prestera_port_bridge_join()
511 struct prestera_switchdev *swdev = port->sw->swdev; in prestera_port_bridge_leave() local
515 bridge = prestera_bridge_by_dev(swdev, upper); in prestera_port_bridge_leave()
593 br_port = prestera_bridge_port_by_dev(port->sw->swdev, dev); in prestera_port_attr_br_flags_set()
640 bridge = prestera_bridge_by_dev(sw->swdev, dev); in prestera_port_attr_br_vlan_set()
681 br_port = prestera_bridge_port_by_dev(port->sw->swdev, dev); in presterar_port_attr_stp_state_set()
777 br_port = prestera_bridge_port_by_dev(sw->swdev, port->dev); in prestera_port_fdb_set()
1040 br_port = prestera_bridge_port_by_dev(sw->swdev, dev); in prestera_port_vlans_add()
1089 br_port = prestera_bridge_port_by_dev(sw->swdev, dev); in prestera_port_vlans_del()
1201 static int prestera_switchdev_handler_init(struct prestera_switchdev *swdev) in prestera_switchdev_handler_init() argument
1205 swdev->swdev_nb.notifier_call = prestera_switchdev_event; in prestera_switchdev_handler_init()
1206 err = register_switchdev_notifier(&swdev->swdev_nb); in prestera_switchdev_handler_init()
1210 swdev->swdev_nb_blk.notifier_call = prestera_switchdev_blk_event; in prestera_switchdev_handler_init()
1211 err = register_switchdev_blocking_notifier(&swdev->swdev_nb_blk); in prestera_switchdev_handler_init()
1218 unregister_switchdev_notifier(&swdev->swdev_nb); in prestera_switchdev_handler_init()
1224 static void prestera_switchdev_handler_fini(struct prestera_switchdev *swdev) in prestera_switchdev_handler_fini() argument
1226 unregister_switchdev_blocking_notifier(&swdev->swdev_nb_blk); in prestera_switchdev_handler_fini()
1227 unregister_switchdev_notifier(&swdev->swdev_nb); in prestera_switchdev_handler_fini()
1232 struct prestera_switchdev *swdev; in prestera_switchdev_init() local
1235 swdev = kzalloc(sizeof(*swdev), GFP_KERNEL); in prestera_switchdev_init()
1236 if (!swdev) in prestera_switchdev_init()
1239 sw->swdev = swdev; in prestera_switchdev_init()
1240 swdev->sw = sw; in prestera_switchdev_init()
1242 INIT_LIST_HEAD(&swdev->bridge_list); in prestera_switchdev_init()
1250 err = prestera_switchdev_handler_init(swdev); in prestera_switchdev_init()
1264 kfree(swdev); in prestera_switchdev_init()
1271 struct prestera_switchdev *swdev = sw->swdev; in prestera_switchdev_fini() local
1274 prestera_switchdev_handler_fini(swdev); in prestera_switchdev_fini()
1276 kfree(swdev); in prestera_switchdev_fini()