Lines Matching refs:dfitem
67 struct switchdev_deferred_item *dfitem; in switchdev_deferred_dequeue() local
71 dfitem = NULL; in switchdev_deferred_dequeue()
74 dfitem = list_first_entry(&deferred, in switchdev_deferred_dequeue()
76 list_del(&dfitem->list); in switchdev_deferred_dequeue()
79 return dfitem; in switchdev_deferred_dequeue()
90 struct switchdev_deferred_item *dfitem; in switchdev_deferred_process() local
94 while ((dfitem = switchdev_deferred_dequeue())) { in switchdev_deferred_process()
95 dfitem->func(dfitem->dev, dfitem->data); in switchdev_deferred_process()
96 netdev_put(dfitem->dev, &dfitem->dev_tracker); in switchdev_deferred_process()
97 kfree(dfitem); in switchdev_deferred_process()
115 struct switchdev_deferred_item *dfitem; in switchdev_deferred_enqueue() local
117 dfitem = kmalloc_flex(*dfitem, data, data_len, GFP_ATOMIC); in switchdev_deferred_enqueue()
118 if (!dfitem) in switchdev_deferred_enqueue()
120 dfitem->dev = dev; in switchdev_deferred_enqueue()
121 dfitem->func = func; in switchdev_deferred_enqueue()
122 memcpy(dfitem->data, data, data_len); in switchdev_deferred_enqueue()
123 netdev_hold(dev, &dfitem->dev_tracker, GFP_ATOMIC); in switchdev_deferred_enqueue()
125 list_add_tail(&dfitem->list, &deferred); in switchdev_deferred_enqueue()
446 struct switchdev_deferred_item *dfitem; in switchdev_port_obj_act_is_deferred() local
453 list_for_each_entry(dfitem, &deferred, list) { in switchdev_port_obj_act_is_deferred()
454 if (dfitem->dev != dev) in switchdev_port_obj_act_is_deferred()
457 if ((dfitem->func == switchdev_port_obj_add_deferred && in switchdev_port_obj_act_is_deferred()
459 (dfitem->func == switchdev_port_obj_del_deferred && in switchdev_port_obj_act_is_deferred()
461 if (switchdev_obj_eq((const void *)dfitem->data, obj)) { in switchdev_port_obj_act_is_deferred()