> We could add the resources to the end of the list to maintain
> the old order if anyone cares. Since we're using a list, the
> resources are in reverse order.
Since it makes it easier to debug in case there's a problem, here it is.
Signed-off-by: Myles Watson <[email protected]>
Thanks,
Myles
Index: svn/src/devices/device_util.c
===================================================================
--- svn.orig/src/devices/device_util.c
+++ svn/src/devices/device_util.c
@@ -339,7 +339,7 @@ struct resource *probe_resource(device_t
*/
struct resource *new_resource(device_t dev, unsigned index)
{
- struct resource *resource;
+ struct resource *resource, *tail;
/* First move all of the free resources to the end */
compact_resources(dev);
@@ -353,8 +353,14 @@ struct resource *new_resource(device_t d
resource = free_resources;
free_resources = free_resources->next;
memset(resource, 0, sizeof(*resource));
- resource->next = dev->resource_list;
- dev->resource_list = resource;
+ resource->next = NULL;
+ tail = dev->resource_list;
+ if (tail) {
+ while (tail->next) tail = tail->next;
+ tail->next = resource;
+ }
+ else
+ dev->resource_list = resource;
}
/* Initialize the resource values */
if (!(resource->flags & IORESOURCE_FIXED)) {
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot