X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fppc%2Fboot%2Fsimple%2Fmisc-embedded.c;h=10219eeca054c22f24b1693c14de80f035ec8349;hb=refs%2Fheads%2Fvserver;hp=e13e7e4009077ef709e08571f072a5cac21e7029;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/arch/ppc/boot/simple/misc-embedded.c b/arch/ppc/boot/simple/misc-embedded.c index e13e7e400..10219eeca 100644 --- a/arch/ppc/boot/simple/misc-embedded.c +++ b/arch/ppc/boot/simple/misc-embedded.c @@ -6,7 +6,6 @@ * Currently maintained by: Tom Rini */ -#include #include #include #include @@ -22,7 +21,6 @@ #endif #include "nonstdio.h" -#include "zlib.h" /* The linker tells us where the image is. */ extern char __image_begin, __image_end; @@ -72,6 +70,14 @@ extern void flush_instruction_cache(void); extern void gunzip(void *, int, unsigned char *, int *); extern void embed_config(bd_t **bp); +/* Weak function for boards which don't need to build the + * board info struct because they are using PPCBoot/U-Boot. + */ +void __attribute__ ((weak)) +embed_config(bd_t **bdp) +{ +} + unsigned long load_kernel(unsigned long load_addr, int num_words, unsigned long cksum, bd_t *bp) { @@ -83,7 +89,7 @@ load_kernel(unsigned long load_addr, int num_words, unsigned long cksum, bd_t *b * initialize the serial console port. */ embed_config(&bp); -#if defined(CONFIG_SERIAL_CONSOLE) || defined(CONFIG_SERIAL_8250_CONSOLE) +#if defined(CONFIG_SERIAL_CPM_CONSOLE) || defined(CONFIG_SERIAL_8250_CONSOLE) com_port = serial_init(0, bp); #endif @@ -211,7 +217,7 @@ load_kernel(unsigned long load_addr, int num_words, unsigned long cksum, bd_t *b puts("done.\n"); { struct bi_record *rec; - unsigned long initrd_loc; + unsigned long initrd_loc = 0; unsigned long rec_loc = _ALIGN((unsigned long)(zimage_size) + (1 << 20) - 1, (1 << 20)); rec = (struct bi_record *)rec_loc; @@ -260,7 +266,9 @@ load_kernel(unsigned long load_addr, int num_words, unsigned long cksum, bd_t *b rec = (struct bi_record *)((unsigned long)rec + rec->size); } puts("Now booting the kernel\n"); +#if defined(CONFIG_SERIAL_CPM_CONSOLE) || defined(CONFIG_SERIAL_8250_CONSOLE) serial_close(com_port); +#endif return (unsigned long)hold_residual; }