summaryrefslogtreecommitdiff
path: root/util/sconfig/sconfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'util/sconfig/sconfig.h')
-rw-r--r--util/sconfig/sconfig.h69
1 files changed, 51 insertions, 18 deletions
diff --git a/util/sconfig/sconfig.h b/util/sconfig/sconfig.h
index 2bb816d5ef..f9137fa7ac 100644
--- a/util/sconfig/sconfig.h
+++ b/util/sconfig/sconfig.h
@@ -78,50 +78,83 @@ struct chip {
};
struct device;
+struct bus {
+ /* Instance/ID of the bus under the device. */
+ int id;
+
+ /* Pointer to device to which this bus belongs. */
+ struct device *dev;
+
+ /* Pointer to list of children. */
+ struct device *children;
+
+ /* Pointer to next bus for the device. */
+ struct bus *next_bus;
+};
+
struct device {
+ /* Monotonically increasing ID for the device. */
int id;
+
+ /* Indicates whether this device is enabled. */
int enabled;
- int used;
- int multidev;
- int link;
+
+ /* Indicates number of resources for the device. */
int rescnt;
+
+ /* Subsystem IDs for the device. */
int subsystem_vendor;
int subsystem_device;
int inherit_subsystem;
+
+ /* Name of ops structure for the device. */
char *ops;
+
+ /* Name of this device. */
char *name;
+
+ /* Path of this device. */
char *path;
int path_a;
int path_b;
+
+ /* Type of bus that exists under this device. */
int bustype;
+
+ /* PCI IRQ info. */
struct pci_irq_info pci_irq_info[4];
- struct device *parent;
- struct device *next;
- struct device *children;
- struct device *latestchild;
- struct device *next_sibling;
+ /* Pointer to bus of parent on which this device resides. */
+ struct bus *parent;
+
+ /* Pointer to next child under the same parent. */
struct device *sibling;
+
+ /* Pointer to resources for this device. */
struct resource *res;
+ /* Pointer to chip instance for this device. */
struct chip_instance *chip_instance;
-};
-
-extern struct device *head;
-void fold_in(struct device *parent);
+ /* Pointer to list of buses under this device. */
+ struct bus *bus;
+ /* Pointer to last bus under this device. */
+ struct bus *last_bus;
+};
-void postprocess_devtree(void);
+extern struct bus *root_parent;
-struct device *new_device(struct device *parent,
+struct device *new_device(struct bus *parent,
struct chip_instance *chip_instance,
const int bustype, const char *devnum,
int enabled);
-void alias_siblings(struct device *d);
-void add_resource(struct device *dev, int type, int index, int base);
-void add_pci_subsystem_ids(struct device *dev, int vendor, int device,
+
+void add_resource(struct bus *bus, int type, int index, int base);
+
+void add_pci_subsystem_ids(struct bus *bus, int vendor, int device,
int inherit);
-void add_ioapic_info(struct device *dev, int apicid, const char *_srcpin,
+
+void add_ioapic_info(struct bus *bus, int apicid, const char *_srcpin,
int irqpin);
void yyrestart(FILE *input_file);