summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2007-10-11 20:20:36 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2007-10-11 20:20:36 +0200
commiteadf71abc77bf97cf5aa7dbe206f4778c4b2480d (patch)
treeb777f0f97d094c836300b11cc390ce10678dd417 /arch
parent29fc9471f5b0f18df699f8e47c5a1fbeb5398e9e (diff)
downloadbarebox-eadf71abc77bf97cf5aa7dbe206f4778c4b2480d.tar.gz
barebox-eadf71abc77bf97cf5aa7dbe206f4778c4b2480d.tar.xz
Use Linux kernel list for drivers and devices instead of handmade
list.
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/lib/armlinux.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/arch/arm/lib/armlinux.c b/arch/arm/lib/armlinux.c
index c80a6832df..f4bb814a60 100644
--- a/arch/arm/lib/armlinux.c
+++ b/arch/arm/lib/armlinux.c
@@ -163,19 +163,16 @@ static void setup_memory_tags (void)
{
struct device_d *dev = NULL;
- while (1) {
- dev = get_device_by_type(DEVICE_TYPE_DRAM, dev);
+ list_for_each_entry(dev, &device_list, list) {
+ if (dev->type == DEVICE_TYPE_DRAM) {
+ params->hdr.tag = ATAG_MEM;
+ params->hdr.size = tag_size (tag_mem32);
- if (!dev)
- return;
+ params->u.mem.start = dev->map_base;
+ params->u.mem.size = dev->size;
- params->hdr.tag = ATAG_MEM;
- params->hdr.size = tag_size (tag_mem32);
-
- params->u.mem.start = dev->map_base;
- params->u.mem.size = dev->size;
-
- params = tag_next (params);
+ params = tag_next (params);
+ }
}
}
#endif /* CONFIG_SETUP_MEMORY_TAGS */