From d0580343b6c81697f0050b38ea36ee154d242ac2 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Sun, 20 Jul 2003 23:28:01 +0000 Subject: chip stuff git-svn-id: svn://svn.coreboot.org/coreboot/trunk@988 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/include/device/chip.h | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/include/device') 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); -- cgit v1.2.3