idp
idr_destroy only frees up unused, cached idp_layers, but this function will remove all id mappings and leave all idp_layers unused.
A typical clean-up sequence for objects stored in an idr tree will use idr_for_each to free all objects, if necessay, then idr_remove_all to remove all ids, and idr_destroy to free up the cached idr_layers.