diff options
Diffstat (limited to 'src/devices')
-rw-r--r-- | src/devices/Config.lb | 1 | ||||
-rw-r--r-- | src/devices/chip.c | 11 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/devices/Config.lb b/src/devices/Config.lb index 3dd2ac3935..199c7da46b 100644 --- a/src/devices/Config.lb +++ b/src/devices/Config.lb @@ -1,3 +1,4 @@ object device.o object device_util.o object pci_device.o +object chip.o diff --git a/src/devices/chip.c b/src/devices/chip.c index d25c92e0d7..e99d731043 100644 --- a/src/devices/chip.c +++ b/src/devices/chip.c @@ -10,6 +10,15 @@ void chip_configure(struct chip *root, enum chip_pass pass) { - while (root) { + struct chip *c; + + for (c = root; c; c = c->next) { + if (root->control && root->control->enable) + root->control->enable(root, pass); + } + + for (c = root; c; c = c->next) { + if (root->children) + chip_configure(root->children, pass); } } |