summaryrefslogtreecommitdiff
path: root/src/include/device
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/device')
-rw-r--r--src/include/device/device.h6
-rw-r--r--src/include/device/resource.h1
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 */