From a28726cf516e331a96c0976fb2afb5ff6fb1625a Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Thu, 21 Feb 2008 13:18:53 +0100 Subject: [blackfin]: register handler for booting linux images --- arch/blackfin/lib/blackfin_linux.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'arch/blackfin/lib') diff --git a/arch/blackfin/lib/blackfin_linux.c b/arch/blackfin/lib/blackfin_linux.c index 67963ad385..fdd0091e95 100644 --- a/arch/blackfin/lib/blackfin_linux.c +++ b/arch/blackfin/lib/blackfin_linux.c @@ -34,14 +34,17 @@ #include #include #include +#include +#include #define CMD_LINE_ADDR 0xFF900000 /* L1 scratchpad */ -int do_bootm_linux(struct image_handle *os_handle, struct image_handle *initrd) +static int do_bootm_linux(struct image_data *idata) { int (*appl)(char *cmdline); const char *cmdline = getenv("bootargs"); char *cmdlinedest = (char *) CMD_LINE_ADDR; + struct image_handle *os_handle = idata->os; image_header_t *os_header = &os_handle->header; appl = (int (*)(char *))ntohl(os_header->ih_ep); @@ -62,3 +65,15 @@ int do_bootm_linux(struct image_handle *os_handle, struct image_handle *initrd) return -1; } +static struct image_handler handler = { + .bootm = do_bootm_linux, + .image_type = IH_OS_LINUX, +}; + +static int bfinlinux_register_image_handler(void) +{ + return register_image_handler(&handler); +} + +late_initcall(bfinlinux_register_image_handler); + -- cgit v1.2.3