static struct avl_tree devices;
-static int avl_strcmp(const void *k1, const void *k2, void *ptr)
-{
- return strcmp(k1, k2);
-}
-
static void API_CTOR dev_init(void)
{
avl_init(&devices, avl_strcmp, false, NULL);
dep->dev = NULL;
}
+
+void
+cleanup_devices(void)
+{
+ struct device *dev, *tmp;
+
+ avl_for_each_element_safe(&devices, dev, avl, tmp) {
+ if (!list_empty(&dev->users))
+ continue;
+
+ free_device(dev);
+ }
+}