summaryrefslogtreecommitdiff
path: root/src/devices
diff options
context:
space:
mode:
authorGreg Watson <jarrah@users.sourceforge.net>2003-07-21 04:20:08 +0000
committerGreg Watson <jarrah@users.sourceforge.net>2003-07-21 04:20:08 +0000
commit8275bad6f640d0da5ead72984f1efe32e6172d7d (patch)
tree6bf67678b269cb6ad5ff0365acef72d362dc9607 /src/devices
parent54b3d233ed4a66bc9fbc8af7dd742af7d8f2aca3 (diff)
more chip stuff
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@990 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/Config.lb1
-rw-r--r--src/devices/chip.c11
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);
}
}