feat: a pseudo shell environment for basic interacting and testing purpose
[lunaix-os.git] / lunaix-os / kernel / device / device.c
index 1512e6f1cb56bf2fc8f402a6243413524140a60d..282f44d27603a49670e7de65a4633440bdd0939e 100644 (file)
@@ -19,6 +19,9 @@ device_add(struct device* parent,
 
     if (parent) {
         assert((parent->dev_type & DEV_MSKIF) == DEV_IFCAT);
 
     if (parent) {
         assert((parent->dev_type & DEV_MSKIF) == DEV_IFCAT);
+        llist_append(&parent->children, &dev->siblings);
+    } else {
+        llist_append(&root_list, &dev->siblings);
     }
 
     size_t strlen =
     }
 
     size_t strlen =
@@ -31,7 +34,7 @@ device_add(struct device* parent,
     dev->dev_type = type;
 
     hstr_rehash(&dev->name, HSTR_FULL_HASH);
     dev->dev_type = type;
 
     hstr_rehash(&dev->name, HSTR_FULL_HASH);
-    llist_append(&root_list, &dev->siblings);
+    llist_init_head(&dev->children);
 
     return dev;
 }
 
     return dev;
 }