diff options
Diffstat (limited to 'src/include/device')
-rw-r--r-- | src/include/device/device.h | 6 | ||||
-rw-r--r-- | src/include/device/resource.h | 1 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/include/device/device.h b/src/include/device/device.h index 59dd0815e6..6ac2d10bfc 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -74,11 +74,10 @@ struct device { u8 command; /* Base registers for this device. I/O, MEM and Expansion ROM */ - struct resource resource[MAX_RESOURCES]; - unsigned int resources; + struct resource *resource_list; /* links are (downstream) buses attached to the device, usually a leaf - * device with no children have 0 buses attached and a bridge has 1 bus + * device with no children has 0 buses attached and a bridge has 1 bus */ struct bus link[MAX_LINKS]; /* number of buses attached to the device */ @@ -96,6 +95,7 @@ struct device { extern struct device dev_root; extern struct device *all_devices; /* list of all devices */ +extern struct resource *free_resources; /* Generic device interface functions */ device_t alloc_dev(struct bus *parent, struct device_path *path); diff --git a/src/include/device/resource.h b/src/include/device/resource.h index 5452d4360c..49e218531c 100644 --- a/src/include/device/resource.h +++ b/src/include/device/resource.h @@ -68,6 +68,7 @@ struct resource { resource_t base; /* Base address of the resource */ resource_t size; /* Size of the resource */ resource_t limit; /* Largest valid value base + size -1 */ + struct resource* next; /* Next resource in the list */ unsigned long flags; /* Descriptions of the kind of resource */ unsigned long index; /* Bus specific per device resource id */ unsigned char align; /* Required alignment (log 2) of the resource */ |