[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 5/5] xen/arm: Replace early_{printk, panic} call to {printk, panic} call
Now that the console supports earlyprintk, we can get a rid of early_printk and early_panic calls. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> --- Changes in v3: - Replace dt_printk by printk directly Changes in v2: - Update commit title to reflect I also removed early_panic - Remove orphan early_panic in arm64 code - Remove asm/early_printk.h include where it's unecessary Ian, I have removed your ack with the change I made on v3 --- xen/arch/arm/early_printk.c | 33 ---------------- xen/arch/arm/mm.c | 5 +-- xen/arch/arm/setup.c | 28 +++++++------- xen/common/device_tree.c | 74 +++++++++++++++--------------------- xen/drivers/char/dt-uart.c | 9 ++--- xen/drivers/char/exynos4210-uart.c | 13 +++---- xen/drivers/char/omap-uart.c | 13 +++---- xen/drivers/char/pl011.c | 13 +++---- xen/drivers/video/arm_hdlcd.c | 29 +++++++------- xen/include/asm-arm/early_printk.h | 23 ----------- 10 files changed, 81 insertions(+), 159 deletions(-) diff --git a/xen/arch/arm/early_printk.c b/xen/arch/arm/early_printk.c index 8aef152..c85db69 100644 --- a/xen/arch/arm/early_printk.c +++ b/xen/arch/arm/early_printk.c @@ -14,14 +14,10 @@ #include <xen/stdarg.h> #include <xen/string.h> #include <xen/early_printk.h> -#include <asm/early_printk.h> void early_putch(char c); void early_flush(void); -/* Early printk buffer */ -static char __initdata buf[512]; - void early_puts(const char *s) { while (*s != '\0') { @@ -37,32 +33,3 @@ void early_puts(const char *s) */ early_flush(); } - -static void __init early_vprintk(const char *fmt, va_list args) -{ - vsnprintf(buf, sizeof(buf), fmt, args); - early_puts(buf); -} - -void __init early_printk(const char *fmt, ...) -{ - va_list args; - - va_start(args, fmt); - early_vprintk(fmt, args); - va_end(args); -} - -void __init -early_panic(const char *fmt, ...) -{ - va_list args; - - va_start(args, fmt); - early_vprintk(fmt, args); - va_end(args); - - early_printk("\n\nEarly Panic: Stopping\n"); - - while(1); -} diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index 308a798..fba3856 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -37,7 +37,6 @@ #include <public/memory.h> #include <xen/sched.h> #include <xen/vmap.h> -#include <asm/early_printk.h> #include <xsm/xsm.h> #include <xen/pfn.h> @@ -649,8 +648,8 @@ void __init setup_xenheap_mappings(unsigned long base_mfn, xenheap_mfn_start = base_mfn; if ( base_mfn < xenheap_mfn_start ) - early_panic("cannot add xenheap mapping at %lx below heap start %lx", - base_mfn, xenheap_mfn_start); + panic("cannot add xenheap mapping at %lx below heap start %lx", + base_mfn, xenheap_mfn_start); end_mfn = base_mfn + nr_mfns; diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index 9480f42..5434784 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -39,7 +39,6 @@ #include <asm/page.h> #include <asm/current.h> #include <asm/setup.h> -#include <asm/early_printk.h> #include <asm/gic.h> #include <asm/cpufeature.h> #include <asm/platform.h> @@ -346,10 +345,10 @@ static paddr_t __init get_xen_paddr(void) } if ( !paddr ) - early_panic("Not enough memory to relocate Xen"); + panic("Not enough memory to relocate Xen"); - early_printk("Placing Xen at 0x%"PRIpaddr"-0x%"PRIpaddr"\n", - paddr, paddr + min_size); + printk("Placing Xen at 0x%"PRIpaddr"-0x%"PRIpaddr"\n", + paddr, paddr + min_size); early_info.modules.module[MOD_XEN].start = paddr; early_info.modules.module[MOD_XEN].size = min_size; @@ -371,7 +370,7 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size) void *fdt; if ( !early_info.mem.nr_banks ) - early_panic("No memory bank"); + panic("No memory bank"); /* * We are going to accumulate two regions here. @@ -430,8 +429,8 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size) if ( i != early_info.mem.nr_banks ) { - early_printk("WARNING: only using %d out of %d memory banks\n", - i, early_info.mem.nr_banks); + printk("WARNING: only using %d out of %d memory banks\n", + i, early_info.mem.nr_banks); early_info.mem.nr_banks = i; } @@ -465,14 +464,13 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size) } while ( xenheap_pages > 128<<(20-PAGE_SHIFT) ); if ( ! e ) - early_panic("Not not enough space for xenheap"); + panic("Not not enough space for xenheap"); domheap_pages = heap_pages - xenheap_pages; - early_printk("Xen heap: %"PRIpaddr"-%"PRIpaddr" (%lu pages)\n", - e - (pfn_to_paddr(xenheap_pages)), e, - xenheap_pages); - early_printk("Dom heap: %lu pages\n", domheap_pages); + printk("Xen heap: %"PRIpaddr"-%"PRIpaddr" (%lu pages)\n", + e - (pfn_to_paddr(xenheap_pages)), e, xenheap_pages); + printk("Dom heap: %lu pages\n", domheap_pages); setup_xenheap_mappings((e >> PAGE_SHIFT) - xenheap_pages, xenheap_pages); @@ -606,8 +604,8 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size) if ( bank != early_info.mem.nr_banks ) { - early_printk("WARNING: only using %d out of %d memory banks\n", - bank, early_info.mem.nr_banks); + printk("WARNING: only using %d out of %d memory banks\n", + bank, early_info.mem.nr_banks); early_info.mem.nr_banks = bank; } @@ -672,7 +670,7 @@ void __init start_xen(unsigned long boot_phys_offset, fdt_size = device_tree_early_init(device_tree_flattened, fdt_paddr); cmdline = device_tree_bootargs(device_tree_flattened); - early_printk("Command line: %s\n", cmdline); + printk("Command line: %s\n", cmdline); cmdline_parse(cmdline); setup_pagetables(boot_phys_offset, get_xen_paddr()); diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c index 55716a8..f94fbb7 100644 --- a/xen/common/device_tree.c +++ b/xen/common/device_tree.c @@ -23,7 +23,6 @@ #include <xen/cpumask.h> #include <xen/ctype.h> #include <xen/lib.h> -#include <asm/early_printk.h> struct dt_early_info __initdata early_info; const void *device_tree_flattened; @@ -54,21 +53,10 @@ struct dt_alias_prop { static LIST_HEAD(aliases_lookup); -/* Some device tree functions may be called both before and after the - console is initialized. */ -#define dt_printk(fmt, ...) \ - do \ - { \ - if ( system_state == SYS_STATE_early_boot ) \ - early_printk(fmt, ## __VA_ARGS__); \ - else \ - printk(fmt, ## __VA_ARGS__); \ - } while (0) - // #define DEBUG_DT #ifdef DEBUG_DT -# define dt_dprintk(fmt, args...) dt_printk(XENLOG_DEBUG fmt, ##args) +# define dt_dprintk(fmt, args...) printk(XENLOG_DEBUG fmt, ##args) static void dt_dump_addr(const char *s, const __be32 *addr, int na) { dt_dprintk("%s", s); @@ -215,8 +203,8 @@ static int __init device_tree_for_each_node(const void *fdt, if ( depth >= DEVICE_TREE_MAX_DEPTH ) { - dt_printk("Warning: device tree node `%s' is nested too deep\n", - name); + printk("Warning: device tree node `%s' is nested too deep\n", + name); continue; } @@ -277,7 +265,7 @@ static int dump_node(const void *fdt, int node, const char *name, int depth, if ( name[0] == '\0' ) name = "/"; - dt_printk("%s%s:\n", prefix, name); + printk("%s%s:\n", prefix, name); for ( prop = fdt_first_property_offset(fdt, node); prop >= 0; @@ -287,7 +275,7 @@ static int dump_node(const void *fdt, int node, const char *name, int depth, p = fdt_get_property_by_offset(fdt, prop, NULL); - dt_printk("%s %s\n", prefix, fdt_string(fdt, fdt32_to_cpu(p->nameoff))); + printk("%s %s\n", prefix, fdt_string(fdt, fdt32_to_cpu(p->nameoff))); } return 0; @@ -316,15 +304,15 @@ static void __init process_memory_node(const void *fdt, int node, if ( address_cells < 1 || size_cells < 1 ) { - early_printk("fdt: node `%s': invalid #address-cells or #size-cells", - name); + printk("fdt: node `%s': invalid #address-cells or #size-cells", + name); return; } prop = fdt_get_property(fdt, node, "reg", NULL); if ( !prop ) { - early_printk("fdt: node `%s': missing `reg' property\n", name); + printk("fdt: node `%s': missing `reg' property\n", name); return; } @@ -355,16 +343,16 @@ static void __init process_multiboot_node(const void *fdt, int node, else if ( fdt_node_check_compatible(fdt, node, "xen,linux-initrd") == 0) nr = MOD_INITRD; else - early_panic("%s not a known xen multiboot type\n", name); + panic("%s not a known xen multiboot type\n", name); mod = &early_info.modules.module[nr]; prop = fdt_get_property(fdt, node, "reg", &len); if ( !prop ) - early_panic("node %s missing `reg' property\n", name); + panic("node %s missing `reg' property\n", name); if ( len < dt_cells_to_size(address_cells + size_cells) ) - early_panic("fdt: node `%s': `reg` property length is too short\n", + panic("fdt: node `%s': `reg` property length is too short\n", name); cell = (const __be32 *)prop->data; @@ -375,7 +363,7 @@ static void __init process_multiboot_node(const void *fdt, int node, if ( prop ) { if ( len > sizeof(mod->cmdline) ) - early_panic("module %d command line too long\n", nr); + panic("module %d command line too long\n", nr); safe_strcpy(mod->cmdline, prop->data); } @@ -395,7 +383,7 @@ static void __init process_chosen_node(const void *fdt, int node, paddr_t start, end; int len; - dt_printk("Checking for initrd in /chosen\n"); + printk("Checking for initrd in /chosen\n"); prop = fdt_get_property(fdt, node, "linux,initrd-start", &len); if ( !prop ) @@ -403,7 +391,7 @@ static void __init process_chosen_node(const void *fdt, int node, return; if ( len != sizeof(u32) && len != sizeof(u64) ) { - dt_printk("linux,initrd-start property has invalid length %d\n", len); + printk("linux,initrd-start property has invalid length %d\n", len); return; } start = dt_read_number((void *)&prop->data, dt_size_to_cells(len)); @@ -411,24 +399,24 @@ static void __init process_chosen_node(const void *fdt, int node, prop = fdt_get_property(fdt, node, "linux,initrd-end", &len); if ( !prop ) { - dt_printk("linux,initrd-end not present but -start was\n"); + printk("linux,initrd-end not present but -start was\n"); return; } if ( len != sizeof(u32) && len != sizeof(u64) ) { - dt_printk("linux,initrd-end property has invalid length %d\n", len); + printk("linux,initrd-end property has invalid length %d\n", len); return; } end = dt_read_number((void *)&prop->data, dt_size_to_cells(len)); if ( start >= end ) { - dt_printk("linux,initrd limits invalid: %"PRIpaddr" >= %"PRIpaddr"\n", + printk("linux,initrd limits invalid: %"PRIpaddr" >= %"PRIpaddr"\n", start, end); return; } - dt_printk("Initrd %"PRIpaddr"-%"PRIpaddr"\n", start, end); + printk("Initrd %"PRIpaddr"-%"PRIpaddr"\n", start, end); mod->start = start; mod->size = end - start; @@ -458,12 +446,12 @@ static void __init early_print_info(void) int i, nr_rsvd; for ( i = 0; i < mi->nr_banks; i++ ) - early_printk("RAM: %"PRIpaddr" - %"PRIpaddr"\n", + printk("RAM: %"PRIpaddr" - %"PRIpaddr"\n", mi->bank[i].start, mi->bank[i].start + mi->bank[i].size - 1); - early_printk("\n"); + printk("\n"); for ( i = 1 ; i < mods->nr_mods + 1; i++ ) - early_printk("MODULE[%d]: %"PRIpaddr" - %"PRIpaddr" %s\n", + printk("MODULE[%d]: %"PRIpaddr" - %"PRIpaddr" %s\n", i, mods->module[i].start, mods->module[i].start + mods->module[i].size, @@ -476,10 +464,10 @@ static void __init early_print_info(void) continue; /* fdt_get_mem_rsv returns length */ e += s; - early_printk(" RESVD[%d]: %"PRIpaddr" - %"PRIpaddr"\n", + printk(" RESVD[%d]: %"PRIpaddr" - %"PRIpaddr"\n", i, s, e); } - early_printk("\n"); + printk("\n"); } /** @@ -495,7 +483,7 @@ size_t __init device_tree_early_init(const void *fdt, paddr_t paddr) ret = fdt_check_header(fdt); if ( ret < 0 ) - early_panic("No valid device tree\n"); + panic("No valid device tree\n"); mod = &early_info.modules.module[MOD_FDT]; mod->start = paddr; @@ -945,7 +933,7 @@ static int dt_translate_one(const struct dt_device_node *parent, ranges = dt_get_property(parent, rprop, &rlen); if ( ranges == NULL ) { - dt_printk(XENLOG_ERR "DT: no ranges; cannot translate\n"); + printk(XENLOG_ERR "DT: no ranges; cannot translate\n"); return 1; } if ( rlen == 0 ) @@ -1015,7 +1003,7 @@ static u64 __dt_translate_address(const struct dt_device_node *dev, bus->count_cells(dev, &na, &ns); if ( !DT_CHECK_COUNTS(na, ns) ) { - dt_printk(XENLOG_ERR "dt_parse: Bad cell count for device %s\n", + printk(XENLOG_ERR "dt_parse: Bad cell count for device %s\n", dev->full_name); goto bail; } @@ -1044,7 +1032,7 @@ static u64 __dt_translate_address(const struct dt_device_node *dev, pbus = dt_match_bus(parent); if ( pbus == NULL ) { - dt_printk("DT: %s is not a valid bus\n", parent->full_name); + printk("DT: %s is not a valid bus\n", parent->full_name); break; } pbus->count_cells(dev, &pna, &pns); @@ -1516,7 +1504,7 @@ static unsigned long __init unflatten_dt_node(const void *fdt, tag = be32_to_cpup((__be32 *)(*p)); if ( tag != FDT_BEGIN_NODE ) { - dt_printk(XENLOG_WARNING "Weird tag at start of node: %x\n", tag); + printk(XENLOG_WARNING "Weird tag at start of node: %x\n", tag); return mem; } *p += 4; @@ -1718,7 +1706,7 @@ static unsigned long __init unflatten_dt_node(const void *fdt, } if ( tag != FDT_END_NODE ) { - dt_printk(XENLOG_WARNING "Weird tag at end of node: %x\n", tag); + printk(XENLOG_WARNING "Weird tag at end of node: %x\n", tag); return mem; } @@ -1767,10 +1755,10 @@ static void __init __unflatten_device_tree(const void *fdt, start = ((unsigned long)fdt) + fdt_off_dt_struct(fdt); unflatten_dt_node(fdt, mem, &start, NULL, &allnextp, 0); if ( be32_to_cpup((__be32 *)start) != FDT_END ) - dt_printk(XENLOG_WARNING "Weird tag at end of tree: %08x\n", + printk(XENLOG_WARNING "Weird tag at end of tree: %08x\n", *((u32 *)start)); if ( be32_to_cpu(((__be32 *)mem)[size / 4]) != 0xdeadbeef ) - dt_printk(XENLOG_WARNING "End of tree marker overwritten: %08x\n", + printk(XENLOG_WARNING "End of tree marker overwritten: %08x\n", be32_to_cpu(((__be32 *)mem)[size / 4])); *allnextp = NULL; diff --git a/xen/drivers/char/dt-uart.c b/xen/drivers/char/dt-uart.c index d7204fb..fa92b5c 100644 --- a/xen/drivers/char/dt-uart.c +++ b/xen/drivers/char/dt-uart.c @@ -18,7 +18,6 @@ */ #include <asm/device.h> -#include <asm/early_printk.h> #include <asm/types.h> #include <xen/console.h> #include <xen/device_tree.h> @@ -44,7 +43,7 @@ void __init dt_uart_init(void) if ( !console_has("dtuart") || !strcmp(opt_dtuart, "") ) { - early_printk("No console\n"); + printk("No console\n"); return; } @@ -54,7 +53,7 @@ void __init dt_uart_init(void) else options = ""; - early_printk("Looking for UART console %s\n", devpath); + printk("Looking for UART console %s\n", devpath); if ( *devpath == '/' ) dev = dt_find_node_by_path(devpath); else @@ -62,12 +61,12 @@ void __init dt_uart_init(void) if ( !dev ) { - early_printk("Unable to find device \"%s\"\n", devpath); + printk("Unable to find device \"%s\"\n", devpath); return; } ret = device_init(dev, DEVICE_SERIAL, options); if ( ret ) - early_printk("Unable to initialize serial: %d\n", ret); + printk("Unable to initialize serial: %d\n", ret); } diff --git a/xen/drivers/char/exynos4210-uart.c b/xen/drivers/char/exynos4210-uart.c index 150d49b..d49e1fe 100644 --- a/xen/drivers/char/exynos4210-uart.c +++ b/xen/drivers/char/exynos4210-uart.c @@ -24,7 +24,6 @@ #include <xen/init.h> #include <xen/irq.h> #include <xen/mm.h> -#include <asm/early_printk.h> #include <asm/device.h> #include <asm/exynos4210-uart.h> #include <asm/io.h> @@ -314,9 +313,7 @@ static int __init exynos4210_uart_init(struct dt_device_node *dev, u64 addr, size; if ( strcmp(config, "") ) - { - early_printk("WARNING: UART configuration is not supported\n"); - } + printk("WARNING: UART configuration is not supported\n"); uart = &exynos4210_com; @@ -329,22 +326,22 @@ static int __init exynos4210_uart_init(struct dt_device_node *dev, res = dt_device_get_address(dev, 0, &addr, &size); if ( res ) { - early_printk("exynos4210: Unable to retrieve the base" - " address of the UART\n"); + printk("exynos4210: Unable to retrieve the base" + " address of the UART\n"); return res; } res = dt_device_get_irq(dev, 0, &uart->irq); if ( res ) { - early_printk("exynos4210: Unable to retrieve the IRQ\n"); + printk("exynos4210: Unable to retrieve the IRQ\n"); return res; } uart->regs = ioremap_nocache(addr, size); if ( !uart->regs ) { - early_printk("exynos4210: Unable to map the UART memory\n"); + printk("exynos4210: Unable to map the UART memory\n"); return -ENOMEM; } diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c index b29f610..49ae1a4 100644 --- a/xen/drivers/char/omap-uart.c +++ b/xen/drivers/char/omap-uart.c @@ -15,7 +15,6 @@ #include <xen/serial.h> #include <xen/init.h> #include <xen/irq.h> -#include <asm/early_printk.h> #include <xen/device_tree.h> #include <asm/device.h> #include <xen/errno.h> @@ -301,14 +300,14 @@ static int __init omap_uart_init(struct dt_device_node *dev, u64 addr, size; if ( strcmp(config, "") ) - early_printk("WARNING: UART configuration is not supported\n"); + printk("WARNING: UART configuration is not supported\n"); uart = &omap_com; res = dt_property_read_u32(dev, "clock-frequency", &clkspec); if ( !res ) { - early_printk("omap-uart: Unable to retrieve the clock frequency\n"); + printk("omap-uart: Unable to retrieve the clock frequency\n"); return -EINVAL; } @@ -321,22 +320,22 @@ static int __init omap_uart_init(struct dt_device_node *dev, res = dt_device_get_address(dev, 0, &addr, &size); if ( res ) { - early_printk("omap-uart: Unable to retrieve the base" - " address of the UART\n"); + printk("omap-uart: Unable to retrieve the base" + " address of the UART\n"); return res; } res = dt_device_get_irq(dev, 0, &uart->irq); if ( res ) { - early_printk("omap-uart: Unable to retrieve the IRQ\n"); + printk("omap-uart: Unable to retrieve the IRQ\n"); return res; } uart->regs = ioremap_nocache(addr, size); if ( !uart->regs ) { - early_printk("omap-uart: Unable to map the UART memory\n"); + printk("omap-uart: Unable to map the UART memory\n"); return -ENOMEM; } diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c index fe99af6..90bf0c6 100644 --- a/xen/drivers/char/pl011.c +++ b/xen/drivers/char/pl011.c @@ -22,7 +22,6 @@ #include <xen/serial.h> #include <xen/init.h> #include <xen/irq.h> -#include <asm/early_printk.h> #include <xen/device_tree.h> #include <xen/errno.h> #include <asm/device.h> @@ -107,7 +106,7 @@ static void __init pl011_init_preirq(struct serial_port *port) /* Baud rate already set: read it out from the divisor latch. */ divisor = (pl011_read(uart, IBRD) << 6) | (pl011_read(uart, FBRD)); if (!divisor) - early_panic("pl011: No Baud rate configured\n"); + panic("pl011: No Baud rate configured\n"); uart->baud = (uart->clock_hz << 2) / divisor; } /* This write must follow FBRD and IBRD writes. */ @@ -229,7 +228,7 @@ static int __init pl011_uart_init(struct dt_device_node *dev, if ( strcmp(config, "") ) { - early_printk("WARNING: UART configuration is not supported\n"); + printk("WARNING: UART configuration is not supported\n"); } uart = &pl011_com; @@ -243,22 +242,22 @@ static int __init pl011_uart_init(struct dt_device_node *dev, res = dt_device_get_address(dev, 0, &addr, &size); if ( res ) { - early_printk("pl011: Unable to retrieve the base" - " address of the UART\n"); + printk("pl011: Unable to retrieve the base" + " address of the UART\n"); return res; } res = dt_device_get_irq(dev, 0, &uart->irq); if ( res ) { - early_printk("pl011: Unable to retrieve the IRQ\n"); + printk("pl011: Unable to retrieve the IRQ\n"); return res; } uart->regs = ioremap_nocache(addr, size); if ( !uart->regs ) { - early_printk("pl011: Unable to map the UART memory\n"); + printk("pl011: Unable to map the UART memory\n"); return -ENOMEM; } diff --git a/xen/drivers/video/arm_hdlcd.c b/xen/drivers/video/arm_hdlcd.c index 647f22c..2a5f72e 100644 --- a/xen/drivers/video/arm_hdlcd.c +++ b/xen/drivers/video/arm_hdlcd.c @@ -25,7 +25,6 @@ #include <xen/libfdt/libfdt.h> #include <xen/init.h> #include <xen/mm.h> -#include <asm/early_printk.h> #include "font.h" #include "lfb.h" #include "modelines.h" @@ -123,21 +122,21 @@ void __init video_init(void) if ( !dev ) { - early_printk("HDLCD: Cannot find node compatible with \"arm,hdcld\"\n"); + printk("HDLCD: Cannot find node compatible with \"arm,hdcld\"\n"); return; } res = dt_device_get_address(dev, 0, &hdlcd_start, &hdlcd_size); if ( !res ) { - early_printk("HDLCD: Unable to retrieve MMIO base address\n"); + printk("HDLCD: Unable to retrieve MMIO base address\n"); return; } cells = dt_get_property(dev, "framebuffer", &lenp); if ( !cells ) { - early_printk("HDLCD: Unable to retrieve framebuffer property\n"); + printk("HDLCD: Unable to retrieve framebuffer property\n"); return; } @@ -146,13 +145,13 @@ void __init video_init(void) if ( !hdlcd_start ) { - early_printk(KERN_ERR "HDLCD: address missing from device tree, disabling driver\n"); + printk(KERN_ERR "HDLCD: address missing from device tree, disabling driver\n"); return; } if ( !framebuffer_start ) { - early_printk(KERN_ERR "HDLCD: framebuffer address missing from device tree, disabling driver\n"); + printk(KERN_ERR "HDLCD: framebuffer address missing from device tree, disabling driver\n"); return; } @@ -166,13 +165,13 @@ void __init video_init(void) else if ( strlen(mode_string) < strlen("800x600@60") || strlen(mode_string) > sizeof(_mode_string) - 1 ) { - early_printk(KERN_ERR "HDLCD: invalid modeline=%s\n", mode_string); + printk(KERN_ERR "HDLCD: invalid modeline=%s\n", mode_string); return; } else { char *s = strchr(mode_string, '-'); if ( !s ) { - early_printk(KERN_INFO "HDLCD: bpp not found in modeline %s, assume 32 bpp\n", + printk(KERN_INFO "HDLCD: bpp not found in modeline %s, assume 32 bpp\n", mode_string); get_color_masks("32", &c); memcpy(_mode_string, mode_string, strlen(mode_string) + 1); @@ -180,13 +179,13 @@ void __init video_init(void) } else { if ( strlen(s) < 6 ) { - early_printk(KERN_ERR "HDLCD: invalid mode %s\n", mode_string); + printk(KERN_ERR "HDLCD: invalid mode %s\n", mode_string); return; } s++; if ( get_color_masks(s, &c) < 0 ) { - early_printk(KERN_WARNING "HDLCD: unsupported bpp %s\n", s); + printk(KERN_WARNING "HDLCD: unsupported bpp %s\n", s); return; } bytes_per_pixel = simple_strtoll(s, NULL, 10) / 8; @@ -205,23 +204,23 @@ void __init video_init(void) } if ( !videomode ) { - early_printk(KERN_WARNING "HDLCD: unsupported videomode %s\n", - _mode_string); + printk(KERN_WARNING "HDLCD: unsupported videomode %s\n", + _mode_string); return; } if ( framebuffer_size < bytes_per_pixel * videomode->xres * videomode->yres ) { - early_printk(KERN_ERR "HDLCD: the framebuffer is too small, disabling the HDLCD driver\n"); + printk(KERN_ERR "HDLCD: the framebuffer is too small, disabling the HDLCD driver\n"); return; } - early_printk(KERN_INFO "Initializing HDLCD driver\n"); + printk(KERN_INFO "Initializing HDLCD driver\n"); lfb = ioremap_wc(framebuffer_start, framebuffer_size); if ( !lfb ) { - early_printk(KERN_ERR "Couldn't map the framebuffer\n"); + printk(KERN_ERR "Couldn't map the framebuffer\n"); return; } memset(lfb, 0x00, bytes_per_pixel * videomode->xres * videomode->yres); diff --git a/xen/include/asm-arm/early_printk.h b/xen/include/asm-arm/early_printk.h index f5b801e..8c3d6a8 100644 --- a/xen/include/asm-arm/early_printk.h +++ b/xen/include/asm-arm/early_printk.h @@ -18,29 +18,6 @@ #define EARLY_UART_VIRTUAL_ADDRESS \ (FIXMAP_ADDR(FIXMAP_CONSOLE) +(EARLY_UART_BASE_ADDRESS & ~PAGE_MASK)) -#endif - -#ifndef __ASSEMBLY__ - -#ifdef CONFIG_EARLY_PRINTK - -void early_printk(const char *fmt, ...) - __attribute__((format (printf, 1, 2))); -void noreturn early_panic(const char *fmt, ...) - __attribute__((format (printf, 1, 2))); - -#else - -static inline __attribute__((format (printf, 1, 2))) void -early_printk(const char *fmt, ...) -{} - -static inline void noreturn -__attribute__((format (printf, 1, 2))) early_panic(const char *fmt, ...) -{while(1);} - #endif /* !CONFIG_EARLY_PRINTK */ -#endif /* __ASSEMBLY__ */ - #endif -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |