2003-07-21 01:28:01 +02:00
|
|
|
/* chips are arbitrary chips (superio, southbridge, etc.)
|
|
|
|
* They have private structures that define chip resources and default
|
|
|
|
* settings. They have four externally visible functions for control.
|
|
|
|
* They have a generic component which applies to all chips for
|
|
|
|
* path, etc.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <device/chip.h>
|
|
|
|
|
|
|
|
void
|
|
|
|
chip_configure(struct chip *root, enum chip_pass pass)
|
|
|
|
{
|
2003-07-21 06:20:08 +02:00
|
|
|
struct chip *c;
|
|
|
|
|
|
|
|
for (c = root; c; c = c->next) {
|
2003-07-23 23:34:46 +02:00
|
|
|
if (c->control && c->control->enable)
|
|
|
|
c->control->enable(c, pass);
|
2003-07-21 06:20:08 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
for (c = root; c; c = c->next) {
|
2003-07-23 23:34:46 +02:00
|
|
|
if (c->children)
|
|
|
|
chip_configure(c->children, pass);
|
2003-07-21 01:28:01 +02:00
|
|
|
}
|
|
|
|
}
|