aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-11-14 11:14:43 -0500
committerDavid S. Miller <davem@davemloft.net>2013-11-14 17:10:40 -0500
commit3686ec5e84977eddc796903177e7e0a122585c11 (patch)
treecaef656dbd5cec37ac404e20f8f76dca44c12205
parentb61a5eea5904198d45e775c342be010a23decbe3 (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.h2
-rw-r--r--net/netlink/genetlink.c57
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
143int genl_unregister_family(struct genl_family *family); 143int genl_unregister_family(struct genl_family *family);
144int genl_register_ops(struct genl_family *, struct genl_ops *ops);
145int genl_unregister_ops(struct genl_family *, struct genl_ops *ops);
146int genl_register_mc_group(struct genl_family *family, 144int genl_register_mc_group(struct genl_family *family,
147 struct genl_multicast_group *grp); 145 struct genl_multicast_group *grp);
148void genl_unregister_mc_group(struct genl_family *family, 146void 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/** 286static 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 */
301int 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)
326errout: 311errout:
327 return err; 312 return err;
328} 313}
329EXPORT_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 */
347int 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}
364EXPORT_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 */
460int __genl_register_family_with_ops(struct genl_family *family, 405int __genl_register_family_with_ops(struct genl_family *family,