chip stuff

git-svn-id: svn://svn.coreboot.org/coreboot/trunk@988 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Greg Watson
2003-07-20 23:28:01 +00:00
parent 9b4336cf41
commit d0580343b6
6 changed files with 157 additions and 85 deletions

View File

@@ -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);