summaryrefslogtreecommitdiff
path: root/src/include/device
diff options
context:
space:
mode:
authorGreg Watson <jarrah@users.sourceforge.net>2003-07-20 23:28:01 +0000
committerGreg Watson <jarrah@users.sourceforge.net>2003-07-20 23:28:01 +0000
commitd0580343b6c81697f0050b38ea36ee154d242ac2 (patch)
treeb2c838e68ddf833ddc0b4294a4c98f81daf817e1 /src/include/device
parent9b4336cf418d22551bea09d93e1cee79281b110e (diff)
chip stuff
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@988 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/include/device')
-rw-r--r--src/include/device/chip.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/include/device/chip.h b/src/include/device/chip.h
index ea57ea4b5c..8de91a1129 100644
--- a/src/include/device/chip.h
+++ b/src/include/device/chip.h
@@ -22,6 +22,14 @@ struct lpt_ports {
irq; // irq
};
+enum chip_pass {
+ CHIP_PRE_CONSOLE,
+ CHIP_PRE_DEVICE_ENUMERATE,
+ CHIP_PRE_DEVICE_CONFIGURE,
+ CHIP_PRE_DEVICE_ENABLE,
+ CHIP_PRE_DEVICE_INITIALIZE,
+ CHIP_PRE_BOOT
+};
/* linkages from devices of a type (e.g. superio devices)
@@ -33,10 +41,7 @@ struct chip;
/* there is one of these for each TYPE of chip */
struct chip_control {
- void (*alloc)(struct chip *s);
- void (*pre_pci_init)(struct chip *s);
- void (*init)(struct chip *s);
- void (*finishup)(struct chip *s);
+ void (*enable)(struct chip *, enum chip_pass);
char *path; /* the default path. Can be overridden
* by commands in config
*/
@@ -54,3 +59,5 @@ struct chip {
void *chip_info; /* the dreaded "void *" */
};
+extern struct chip *root;
+extern void chip_configure(struct chip *, enum chip_pass);