summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2007-07-05 18:01:24 +0200
committerSascha Hauer <sha@octopus.labnet.pengutronix.de>2007-07-05 18:01:24 +0200
commit55ebf67d3ec2b0727f86a54157a2740e9e8472c3 (patch)
tree01fde5994de0c51b4701750464c73f750c6b754e /common
parent4eae36cc43b290ed74929d925987d8f2fe8a888e (diff)
downloadbarebox-55ebf67d3ec2b0727f86a54157a2740e9e8472c3.tar.gz
barebox-55ebf67d3ec2b0727f86a54157a2740e9e8472c3.tar.xz
svn_rev_120
implement initcalls
Diffstat (limited to 'common')
-rw-r--r--common/cmd_mem.c5
-rw-r--r--common/mtdpart.c14
2 files changed, 14 insertions, 5 deletions
diff --git a/common/cmd_mem.c b/common/cmd_mem.c
index 978c21c256..ab58f28ef0 100644
--- a/common/cmd_mem.c
+++ b/common/cmd_mem.c
@@ -29,6 +29,7 @@
#include <common.h>
#include <command.h>
+#include <init.h>
#include <driver.h>
#include <malloc.h>
@@ -770,7 +771,7 @@ struct driver_d ram_drv = {
.write = mem_write,
};
-int mem_init(void)
+static int mem_init(void)
{
rw_buf = malloc(RW_BUF_SIZE);
if(!rw_buf) {
@@ -784,6 +785,8 @@ int mem_init(void)
return 0;
}
+device_initcall(mem_init);
+
U_BOOT_CMD(
md, 3, 0, do_mem_md,
"md - memory display\n",
diff --git a/common/mtdpart.c b/common/mtdpart.c
index e967ae7975..2fc1c5e0f9 100644
--- a/common/mtdpart.c
+++ b/common/mtdpart.c
@@ -1,6 +1,7 @@
#include <common.h>
#include <command.h>
+#include <init.h>
#include <driver.h>
#include <malloc.h>
@@ -11,6 +12,8 @@ struct partition {
struct device_d *parent;
struct device_d device;
+
+ char name[16];
};
#if 0
@@ -60,7 +63,7 @@ int mtd_part_do_parse_one (struct partition *part, const char *str, char **endp)
return -1;
}
- memcpy(buf, str, end - str);
+ memcpy(part->name, str, end - str);
end++;
}
@@ -77,7 +80,6 @@ int mtd_part_do_parse_one (struct partition *part, const char *str, char **endp)
strcpy(part->device.name, "partition");
part->device.size = size;
-// printf("part: name=%10s size=0x%08x %s\n", part->device.name, size, ro ? "ro":"");
return 0;
}
@@ -187,7 +189,10 @@ U_BOOT_CMD(
int part_probe (struct device_d *dev)
{
-// printf("%s: devname: %s devid: %s drvname: %s\n",__FUNCTION__, dev->name, dev->id, dev->driver->name);
+ struct partition *part = dev->platform_data;
+
+ printf("registering partition %s on device %s (size=0x%08x, name=%s)\n",
+ dev->id, part->parent->id, dev->size, part->name);
return 0;
}
@@ -223,8 +228,9 @@ static struct driver_d part_driver = {
.erase = part_erase,
};
-int partition_init(void)
+static int partition_init(void)
{
return register_driver(&part_driver);
}
+device_initcall(partition_init);