diff options
author | Jason Gunthorpe <jgg@mellanox.com> | 2018-09-05 18:21:22 -0400 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2018-09-05 18:21:22 -0400 |
commit | 2c910cb75e1fe6de52d95c8e32caedd1629a33a5 (patch) | |
tree | 94a0eea6f8cde689d11e7583ddd0a930b8785ab4 /include/net/act_api.h | |
parent | 627212c9d49ba2759b699450f5d8f45f73e062fa (diff) | |
parent | b53b1c08a23eb1091982daacb2122f90a7094a77 (diff) |
Merge branch 'uverbs_dev_cleanups' into rdma.git for-next
For dependencies, branch based on rdma.git 'for-rc' of
https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/
Pull 'uverbs_dev_cleanups' from Leon Romanovsky:
====================
Reuse the char device code interfaces to simplify ib_uverbs_device
creation and destruction. As part of this series, we are sending fix to
cleanup path, which was discovered during internal review,
The fix definitely can go to -rc, but it means that this series will be
dependent on rdma-rc.
====================
* branch 'uverbs_dev_cleanups':
RDMA/uverbs: Use device.groups to initialize device attributes
RDMA/uverbs: Use cdev_device_add() instead of cdev_add()
RDMA/core: Depend on device_add() to add device attributes
RDMA/uverbs: Fix error cleanup path of ib_uverbs_add_one()
Resolved conflict in ib_device_unregister_sysfs()
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'include/net/act_api.h')
-rw-r--r-- | include/net/act_api.h | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/include/net/act_api.h b/include/net/act_api.h index 1ad5b19e83a9..970303448c90 100644 --- a/include/net/act_api.h +++ b/include/net/act_api.h | |||
@@ -23,13 +23,11 @@ struct tc_action { | |||
23 | const struct tc_action_ops *ops; | 23 | const struct tc_action_ops *ops; |
24 | __u32 type; /* for backward compat(TCA_OLD_COMPAT) */ | 24 | __u32 type; /* for backward compat(TCA_OLD_COMPAT) */ |
25 | __u32 order; | 25 | __u32 order; |
26 | struct list_head list; | ||
27 | struct tcf_idrinfo *idrinfo; | 26 | struct tcf_idrinfo *idrinfo; |
28 | 27 | ||
29 | u32 tcfa_index; | 28 | u32 tcfa_index; |
30 | refcount_t tcfa_refcnt; | 29 | refcount_t tcfa_refcnt; |
31 | atomic_t tcfa_bindcnt; | 30 | atomic_t tcfa_bindcnt; |
32 | u32 tcfa_capab; | ||
33 | int tcfa_action; | 31 | int tcfa_action; |
34 | struct tcf_t tcfa_tm; | 32 | struct tcf_t tcfa_tm; |
35 | struct gnet_stats_basic_packed tcfa_bstats; | 33 | struct gnet_stats_basic_packed tcfa_bstats; |
@@ -44,7 +42,6 @@ struct tc_action { | |||
44 | #define tcf_index common.tcfa_index | 42 | #define tcf_index common.tcfa_index |
45 | #define tcf_refcnt common.tcfa_refcnt | 43 | #define tcf_refcnt common.tcfa_refcnt |
46 | #define tcf_bindcnt common.tcfa_bindcnt | 44 | #define tcf_bindcnt common.tcfa_bindcnt |
47 | #define tcf_capab common.tcfa_capab | ||
48 | #define tcf_action common.tcfa_action | 45 | #define tcf_action common.tcfa_action |
49 | #define tcf_tm common.tcfa_tm | 46 | #define tcf_tm common.tcfa_tm |
50 | #define tcf_bstats common.tcfa_bstats | 47 | #define tcf_bstats common.tcfa_bstats |
@@ -102,7 +99,6 @@ struct tc_action_ops { | |||
102 | size_t (*get_fill_size)(const struct tc_action *act); | 99 | size_t (*get_fill_size)(const struct tc_action *act); |
103 | struct net_device *(*get_dev)(const struct tc_action *a); | 100 | struct net_device *(*get_dev)(const struct tc_action *a); |
104 | void (*put_dev)(struct net_device *dev); | 101 | void (*put_dev)(struct net_device *dev); |
105 | int (*delete)(struct net *net, u32 index); | ||
106 | }; | 102 | }; |
107 | 103 | ||
108 | struct tc_action_net { | 104 | struct tc_action_net { |
@@ -148,8 +144,6 @@ int tcf_generic_walker(struct tc_action_net *tn, struct sk_buff *skb, | |||
148 | const struct tc_action_ops *ops, | 144 | const struct tc_action_ops *ops, |
149 | struct netlink_ext_ack *extack); | 145 | struct netlink_ext_ack *extack); |
150 | int tcf_idr_search(struct tc_action_net *tn, struct tc_action **a, u32 index); | 146 | int tcf_idr_search(struct tc_action_net *tn, struct tc_action **a, u32 index); |
151 | bool tcf_idr_check(struct tc_action_net *tn, u32 index, struct tc_action **a, | ||
152 | int bind); | ||
153 | int tcf_idr_create(struct tc_action_net *tn, u32 index, struct nlattr *est, | 147 | int tcf_idr_create(struct tc_action_net *tn, u32 index, struct nlattr *est, |
154 | struct tc_action **a, const struct tc_action_ops *ops, | 148 | struct tc_action **a, const struct tc_action_ops *ops, |
155 | int bind, bool cpustats); | 149 | int bind, bool cpustats); |
@@ -158,7 +152,6 @@ void tcf_idr_insert(struct tc_action_net *tn, struct tc_action *a); | |||
158 | void tcf_idr_cleanup(struct tc_action_net *tn, u32 index); | 152 | void tcf_idr_cleanup(struct tc_action_net *tn, u32 index); |
159 | int tcf_idr_check_alloc(struct tc_action_net *tn, u32 *index, | 153 | int tcf_idr_check_alloc(struct tc_action_net *tn, u32 *index, |
160 | struct tc_action **a, int bind); | 154 | struct tc_action **a, int bind); |
161 | int tcf_idr_delete_index(struct tc_action_net *tn, u32 index); | ||
162 | int __tcf_idr_release(struct tc_action *a, bool bind, bool strict); | 155 | int __tcf_idr_release(struct tc_action *a, bool bind, bool strict); |
163 | 156 | ||
164 | static inline int tcf_idr_release(struct tc_action *a, bool bind) | 157 | static inline int tcf_idr_release(struct tc_action *a, bool bind) |