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); |
