diff options
author | Tejun Heo <tj@kernel.org> | 2013-02-27 20:03:50 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-27 22:10:14 -0500 |
commit | fe6e24ec90b753392c3f9ec1fbca196c4e88e511 (patch) | |
tree | 6eb4f3e981bfa583e30bf7898342d88031130ffe /lib | |
parent | c897ff68beec97768c31f9de97de93f77ff2d87e (diff) |
idr: deprecate idr_remove_all()
There was only one legitimate use of idr_remove_all() and a lot more of
incorrect uses (or lack of it). Now that idr_destroy() implies
idr_remove_all() and all the in-kernel users updated not to use it,
there's no reason to keep it around. Mark it deprecated so that we can
later unexport it.
idr_remove_all() is made an inline function calling __idr_remove_all()
to avoid triggering deprecated warning on EXPORT_SYMBOL().
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/idr.c | 10 |
1 files changed, 3 insertions, 7 deletions
@@ -433,11 +433,7 @@ void idr_remove(struct idr *idp, int id) | |||
433 | } | 433 | } |
434 | EXPORT_SYMBOL(idr_remove); | 434 | EXPORT_SYMBOL(idr_remove); |
435 | 435 | ||
436 | /** | 436 | void __idr_remove_all(struct idr *idp) |
437 | * idr_remove_all - remove all ids from the given idr tree | ||
438 | * @idp: idr handle | ||
439 | */ | ||
440 | void idr_remove_all(struct idr *idp) | ||
441 | { | 437 | { |
442 | int n, id, max; | 438 | int n, id, max; |
443 | int bt_mask; | 439 | int bt_mask; |
@@ -470,7 +466,7 @@ void idr_remove_all(struct idr *idp) | |||
470 | } | 466 | } |
471 | idp->layers = 0; | 467 | idp->layers = 0; |
472 | } | 468 | } |
473 | EXPORT_SYMBOL(idr_remove_all); | 469 | EXPORT_SYMBOL(__idr_remove_all); |
474 | 470 | ||
475 | /** | 471 | /** |
476 | * idr_destroy - release all cached layers within an idr tree | 472 | * idr_destroy - release all cached layers within an idr tree |
@@ -487,7 +483,7 @@ EXPORT_SYMBOL(idr_remove_all); | |||
487 | */ | 483 | */ |
488 | void idr_destroy(struct idr *idp) | 484 | void idr_destroy(struct idr *idp) |
489 | { | 485 | { |
490 | idr_remove_all(idp); | 486 | __idr_remove_all(idp); |
491 | 487 | ||
492 | while (idp->id_free_cnt) { | 488 | while (idp->id_free_cnt) { |
493 | struct idr_layer *p = get_from_free_list(idp); | 489 | struct idr_layer *p = get_from_free_list(idp); |