Lines Matching refs:dev

10 static inline bool netdev_trylock(struct net_device *dev)  in netdev_trylock()  argument
12 return mutex_trylock(&dev->lock); in netdev_trylock()
15 static inline void netdev_assert_locked(const struct net_device *dev) in netdev_assert_locked() argument
17 lockdep_assert_held(&dev->lock); in netdev_assert_locked()
21 netdev_assert_locked_or_invisible(const struct net_device *dev) in netdev_assert_locked_or_invisible() argument
23 if (dev->reg_state == NETREG_REGISTERED || in netdev_assert_locked_or_invisible()
24 dev->reg_state == NETREG_UNREGISTERING) in netdev_assert_locked_or_invisible()
25 netdev_assert_locked(dev); in netdev_assert_locked_or_invisible()
28 static inline bool netdev_need_ops_lock(const struct net_device *dev) in netdev_need_ops_lock() argument
30 bool ret = dev->request_ops_lock || !!dev->queue_mgmt_ops; in netdev_need_ops_lock()
33 ret |= !!dev->netdev_ops->net_shaper_ops; in netdev_need_ops_lock()
39 static inline void netdev_lock_ops(struct net_device *dev) in netdev_lock_ops() argument
41 if (netdev_need_ops_lock(dev)) in netdev_lock_ops()
42 netdev_lock(dev); in netdev_lock_ops()
45 static inline void netdev_unlock_ops(struct net_device *dev) in netdev_unlock_ops() argument
47 if (netdev_need_ops_lock(dev)) in netdev_unlock_ops()
48 netdev_unlock(dev); in netdev_unlock_ops()
51 static inline void netdev_lock_ops_to_full(struct net_device *dev) in netdev_lock_ops_to_full() argument
53 if (netdev_need_ops_lock(dev)) in netdev_lock_ops_to_full()
54 netdev_assert_locked(dev); in netdev_lock_ops_to_full()
56 netdev_lock(dev); in netdev_lock_ops_to_full()
59 static inline void netdev_unlock_full_to_ops(struct net_device *dev) in netdev_unlock_full_to_ops() argument
61 if (netdev_need_ops_lock(dev)) in netdev_unlock_full_to_ops()
62 netdev_assert_locked(dev); in netdev_unlock_full_to_ops()
64 netdev_unlock(dev); in netdev_unlock_full_to_ops()
67 static inline void netdev_ops_assert_locked(const struct net_device *dev) in netdev_ops_assert_locked() argument
69 if (netdev_need_ops_lock(dev)) in netdev_ops_assert_locked()
70 lockdep_assert_held(&dev->lock); in netdev_ops_assert_locked()
76 netdev_ops_assert_locked_or_invisible(const struct net_device *dev) in netdev_ops_assert_locked_or_invisible() argument
78 if (dev->reg_state == NETREG_REGISTERED || in netdev_ops_assert_locked_or_invisible()
79 dev->reg_state == NETREG_UNREGISTERING) in netdev_ops_assert_locked_or_invisible()
80 netdev_ops_assert_locked(dev); in netdev_ops_assert_locked_or_invisible()
83 static inline void netdev_lock_ops_compat(struct net_device *dev) in netdev_lock_ops_compat() argument
85 if (netdev_need_ops_lock(dev)) in netdev_lock_ops_compat()
86 netdev_lock(dev); in netdev_lock_ops_compat()
91 static inline void netdev_unlock_ops_compat(struct net_device *dev) in netdev_unlock_ops_compat() argument
93 if (netdev_need_ops_lock(dev)) in netdev_unlock_ops_compat()
94 netdev_unlock(dev); in netdev_unlock_ops_compat()
113 #define netdev_lockdep_set_classes(dev) \ argument
121 (dev)->qdisc_tx_busylock = &qdisc_tx_busylock_key; \
122 lockdep_set_class(&(dev)->addr_list_lock, \
124 lockdep_set_class(&(dev)->lock, \
126 lock_set_cmp_fn(&dev->lock, netdev_lock_cmp_fn, NULL); \
127 for (i = 0; i < (dev)->num_tx_queues; i++) \
128 lockdep_set_class(&(dev)->_tx[i]._xmit_lock, \
132 #define netdev_lock_dereference(p, dev) \ argument
133 rcu_dereference_protected(p, lockdep_is_held(&(dev)->lock))