diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2007-07-05 18:01:24 +0200 |
---|---|---|
committer | Sascha Hauer <sha@octopus.labnet.pengutronix.de> | 2007-07-05 18:01:24 +0200 |
commit | 55ebf67d3ec2b0727f86a54157a2740e9e8472c3 (patch) | |
tree | 01fde5994de0c51b4701750464c73f750c6b754e /common | |
parent | 4eae36cc43b290ed74929d925987d8f2fe8a888e (diff) | |
download | barebox-55ebf67d3ec2b0727f86a54157a2740e9e8472c3.tar.gz barebox-55ebf67d3ec2b0727f86a54157a2740e9e8472c3.tar.xz |
svn_rev_120
implement initcalls
Diffstat (limited to 'common')
-rw-r--r-- | common/cmd_mem.c | 5 | ||||
-rw-r--r-- | common/mtdpart.c | 14 |
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); |