/** * ulist_free - free dynamically allocated ulist * @ulist: ulist to free * * It is not necessary to call ulist_fini before. */ void ulist_free(struct ulist *ulist) { if (!ulist) return; ulist_fini(ulist); kfree(ulist); }
/** * ulist_reinit - prepare a ulist for reuse * @ulist: ulist to be reused * * Free up all additional memory allocated for the list elements and reinit * the ulist. */ void ulist_reinit(struct ulist *ulist) { ulist_fini(ulist); ulist_init(ulist); }