Lines Matching refs:dfitem
38 struct switchdev_deferred_item *dfitem; in switchdev_deferred_dequeue() local
42 dfitem = NULL; in switchdev_deferred_dequeue()
45 dfitem = list_first_entry(&deferred, in switchdev_deferred_dequeue()
47 list_del(&dfitem->list); in switchdev_deferred_dequeue()
50 return dfitem; in switchdev_deferred_dequeue()
61 struct switchdev_deferred_item *dfitem; in switchdev_deferred_process() local
65 while ((dfitem = switchdev_deferred_dequeue())) { in switchdev_deferred_process()
66 dfitem->func(dfitem->dev, dfitem->data); in switchdev_deferred_process()
67 netdev_put(dfitem->dev, &dfitem->dev_tracker); in switchdev_deferred_process()
68 kfree(dfitem); in switchdev_deferred_process()
86 struct switchdev_deferred_item *dfitem; in switchdev_deferred_enqueue() local
88 dfitem = kmalloc(struct_size(dfitem, data, data_len), GFP_ATOMIC); in switchdev_deferred_enqueue()
89 if (!dfitem) in switchdev_deferred_enqueue()
91 dfitem->dev = dev; in switchdev_deferred_enqueue()
92 dfitem->func = func; in switchdev_deferred_enqueue()
93 memcpy(dfitem->data, data, data_len); in switchdev_deferred_enqueue()
94 netdev_hold(dev, &dfitem->dev_tracker, GFP_ATOMIC); in switchdev_deferred_enqueue()
96 list_add_tail(&dfitem->list, &deferred); in switchdev_deferred_enqueue()