Lines Matching refs:trans

39 void switchdev_trans_item_enqueue(struct switchdev_trans *trans,  in switchdev_trans_item_enqueue()  argument
45 list_add_tail(&tritem->list, &trans->item_list); in switchdev_trans_item_enqueue()
50 __switchdev_trans_item_dequeue(struct switchdev_trans *trans) in __switchdev_trans_item_dequeue() argument
54 if (list_empty(&trans->item_list)) in __switchdev_trans_item_dequeue()
56 tritem = list_first_entry(&trans->item_list, in __switchdev_trans_item_dequeue()
67 void *switchdev_trans_item_dequeue(struct switchdev_trans *trans) in switchdev_trans_item_dequeue() argument
71 tritem = __switchdev_trans_item_dequeue(trans); in switchdev_trans_item_dequeue()
77 static void switchdev_trans_init(struct switchdev_trans *trans) in switchdev_trans_init() argument
79 INIT_LIST_HEAD(&trans->item_list); in switchdev_trans_init()
82 static void switchdev_trans_items_destroy(struct switchdev_trans *trans) in switchdev_trans_items_destroy() argument
86 while ((tritem = __switchdev_trans_item_dequeue(trans))) in switchdev_trans_items_destroy()
91 struct switchdev_trans *trans) in switchdev_trans_items_warn_destroy() argument
93 WARN(!list_empty(&trans->item_list), "%s: transaction item queue is not empty.\n", in switchdev_trans_items_warn_destroy()
95 switchdev_trans_items_destroy(trans); in switchdev_trans_items_warn_destroy()
221 struct switchdev_trans *trans) in __switchdev_port_attr_set() argument
229 err = ops->switchdev_port_attr_set(dev, attr, trans); in __switchdev_port_attr_set()
242 err = __switchdev_port_attr_set(lower_dev, attr, trans); in __switchdev_port_attr_set()
257 struct switchdev_trans trans; in switchdev_port_attr_set_now() local
260 switchdev_trans_init(&trans); in switchdev_port_attr_set_now()
269 trans.ph_prepare = true; in switchdev_port_attr_set_now()
270 err = __switchdev_port_attr_set(dev, attr, &trans); in switchdev_port_attr_set_now()
278 switchdev_trans_items_destroy(&trans); in switchdev_port_attr_set_now()
288 trans.ph_prepare = false; in switchdev_port_attr_set_now()
289 err = __switchdev_port_attr_set(dev, attr, &trans); in switchdev_port_attr_set_now()
292 switchdev_trans_items_warn_destroy(dev, &trans); in switchdev_port_attr_set_now()
358 struct switchdev_trans *trans) in __switchdev_port_obj_add() argument
366 return ops->switchdev_port_obj_add(dev, obj, trans); in __switchdev_port_obj_add()
374 err = __switchdev_port_obj_add(lower_dev, obj, trans); in __switchdev_port_obj_add()
385 struct switchdev_trans trans; in switchdev_port_obj_add_now() local
390 switchdev_trans_init(&trans); in switchdev_port_obj_add_now()
399 trans.ph_prepare = true; in switchdev_port_obj_add_now()
400 err = __switchdev_port_obj_add(dev, obj, &trans); in switchdev_port_obj_add_now()
408 switchdev_trans_items_destroy(&trans); in switchdev_port_obj_add_now()
418 trans.ph_prepare = false; in switchdev_port_obj_add_now()
419 err = __switchdev_port_obj_add(dev, obj, &trans); in switchdev_port_obj_add_now()
421 switchdev_trans_items_warn_destroy(dev, &trans); in switchdev_port_obj_add_now()