diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-11-14 11:14:43 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-11-14 17:10:40 -0500 |
commit | 3686ec5e84977eddc796903177e7e0a122585c11 (patch) | |
tree | caef656dbd5cec37ac404e20f8f76dca44c12205 | |
parent | b61a5eea5904198d45e775c342be010a23decbe3 (diff) |
genetlink: remove genl_register_ops/genl_unregister_ops
genl_register_ops() is still needed for internal registration,
but is no longer available to users of the API.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/net/genetlink.h | 2 | ||||
-rw-r--r-- | net/netlink/genetlink.c | 57 |
2 files changed, 1 insertions, 58 deletions
diff --git a/include/net/genetlink.h b/include/net/genetlink.h index 9b787b62cf16..617d718524b0 100644 --- a/include/net/genetlink.h +++ b/include/net/genetlink.h | |||
@@ -141,8 +141,6 @@ static inline int genl_register_family_with_ops(struct genl_family *family, | |||
141 | } | 141 | } |
142 | 142 | ||
143 | int genl_unregister_family(struct genl_family *family); | 143 | int genl_unregister_family(struct genl_family *family); |
144 | int genl_register_ops(struct genl_family *, struct genl_ops *ops); | ||
145 | int genl_unregister_ops(struct genl_family *, struct genl_ops *ops); | ||
146 | int genl_register_mc_group(struct genl_family *family, | 144 | int genl_register_mc_group(struct genl_family *family, |
147 | struct genl_multicast_group *grp); | 145 | struct genl_multicast_group *grp); |
148 | void genl_unregister_mc_group(struct genl_family *family, | 146 | void genl_unregister_mc_group(struct genl_family *family, |
diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c index 0c741cec4d0d..fbccb45e8cc1 100644 --- a/net/netlink/genetlink.c +++ b/net/netlink/genetlink.c | |||
@@ -283,22 +283,7 @@ static void genl_unregister_mc_groups(struct genl_family *family) | |||
283 | __genl_unregister_mc_group(family, grp); | 283 | __genl_unregister_mc_group(family, grp); |
284 | } | 284 | } |
285 | 285 | ||
286 | /** | 286 | static int genl_register_ops(struct genl_family *family, struct genl_ops *ops) |
287 | * genl_register_ops - register generic netlink operations | ||
288 | * @family: generic netlink family | ||
289 | * @ops: operations to be registered | ||
290 | * | ||
291 | * Registers the specified operations and assigns them to the specified | ||
292 | * family. Either a doit or dumpit callback must be specified or the | ||
293 | * operation will fail. Only one operation structure per command | ||
294 | * identifier may be registered. | ||
295 | * | ||
296 | * See include/net/genetlink.h for more documenation on the operations | ||
297 | * structure. | ||
298 | * | ||
299 | * Returns 0 on success or a negative error code. | ||
300 | */ | ||
301 | int genl_register_ops(struct genl_family *family, struct genl_ops *ops) | ||
302 | { | 287 | { |
303 | int err = -EINVAL; | 288 | int err = -EINVAL; |
304 | 289 | ||
@@ -326,42 +311,6 @@ int genl_register_ops(struct genl_family *family, struct genl_ops *ops) | |||
326 | errout: | 311 | errout: |
327 | return err; | 312 | return err; |
328 | } | 313 | } |
329 | EXPORT_SYMBOL(genl_register_ops); | ||
330 | |||
331 | /** | ||
332 | * genl_unregister_ops - unregister generic netlink operations | ||
333 | * @family: generic netlink family | ||
334 | * @ops: operations to be unregistered | ||
335 | * | ||
336 | * Unregisters the specified operations and unassigns them from the | ||
337 | * specified family. The operation blocks until the current message | ||
338 | * processing has finished and doesn't start again until the | ||
339 | * unregister process has finished. | ||
340 | * | ||
341 | * Note: It is not necessary to unregister all operations before | ||
342 | * unregistering the family, unregistering the family will cause | ||
343 | * all assigned operations to be unregistered automatically. | ||
344 | * | ||
345 | * Returns 0 on success or a negative error code. | ||
346 | */ | ||
347 | int genl_unregister_ops(struct genl_family *family, struct genl_ops *ops) | ||
348 | { | ||
349 | struct genl_ops *rc; | ||
350 | |||
351 | genl_lock_all(); | ||
352 | list_for_each_entry(rc, &family->ops_list, ops_list) { | ||
353 | if (rc == ops) { | ||
354 | list_del(&ops->ops_list); | ||
355 | genl_unlock_all(); | ||
356 | genl_ctrl_event(CTRL_CMD_DELOPS, ops); | ||
357 | return 0; | ||
358 | } | ||
359 | } | ||
360 | genl_unlock_all(); | ||
361 | |||
362 | return -ENOENT; | ||
363 | } | ||
364 | EXPORT_SYMBOL(genl_unregister_ops); | ||
365 | 314 | ||
366 | /** | 315 | /** |
367 | * __genl_register_family - register a generic netlink family | 316 | * __genl_register_family - register a generic netlink family |
@@ -451,10 +400,6 @@ EXPORT_SYMBOL(__genl_register_family); | |||
451 | * See include/net/genetlink.h for more documenation on the operations | 400 | * See include/net/genetlink.h for more documenation on the operations |
452 | * structure. | 401 | * structure. |
453 | * | 402 | * |
454 | * This is equivalent to calling genl_register_family() followed by | ||
455 | * genl_register_ops() for every operation entry in the table taking | ||
456 | * care to unregister the family on error path. | ||
457 | * | ||
458 | * Return 0 on success or a negative error code. | 403 | * Return 0 on success or a negative error code. |
459 | */ | 404 | */ |
460 | int __genl_register_family_with_ops(struct genl_family *family, | 405 | int __genl_register_family_with_ops(struct genl_family *family, |