From fe31d1970c9126dce4defe26768b0c2ccc1313d9 Mon Sep 17 00:00:00 2001 From: Carl-Daniel Hailfinger Date: Tue, 20 Nov 2007 18:20:53 +0000 Subject: [PATCH] Cleanup printk usage and documentation. Drop the second banner as it was an artifact from the time when we needed stage2 phase 1 code to make printk work. Signed-off-by: Carl-Daniel Hailfinger Acked-by: Uwe Hermann git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@512 f3766cd6-281f-0410-b1cd-43a5c92072e9 --- device/device.c | 8 ++++---- lib/stage2.c | 23 +++-------------------- 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/device/device.c b/device/device.c index 80eac82f86..aa81802ded 100644 --- a/device/device.c +++ b/device/device.c @@ -692,14 +692,14 @@ int reset_bus(struct bus *bus) * * Starting at the first device on the global device link list, * walk the list and call the device's phase1() method to do very - * early setup. phase1 should only be used for devices that CAN NOT use - * printk(), or that are part of making printk() work. + * early setup. */ void dev_phase1(void) { struct device *dev; post_code(0x31); + printk(BIOS_DEBUG, "Phase 1: Very early setup...\n"); for (dev = all_devices; dev; dev = dev->next) { if (dev->ops && dev->ops->phase1_set_device_operations) { dev->ops->phase1_set_device_operations(dev); @@ -715,7 +715,7 @@ void dev_phase1(void) * * Starting at the first device on the global device link list, * walk the list and call the device's phase2() method to do - * early setup. You can use printk() in phase 2 methods. + * early setup. */ void dev_phase2(void) { @@ -729,7 +729,7 @@ void dev_phase2(void) printk(BIOS_SPEW, "Calling phase2 phase2_setup_scan_bus..."); dev->ops->phase2_setup_scan_bus(dev); - printk(BIOS_SPEW, " DONE"); + printk(BIOS_SPEW, " done"); } printk(BIOS_SPEW, "\n"); } diff --git a/lib/stage2.c b/lib/stage2.c index eb644a6825..122c9cdce4 100644 --- a/lib/stage2.c +++ b/lib/stage2.c @@ -34,6 +34,7 @@ * LinuxBIOS is divided into pre-DRAM part and DRAM part. The stages before * this part are stage 0 and stage 1. This part contains stage 2, which * consists of phases 1 through 6. + * printk has been set up in stage 1 and is working. * * Device Enumeration: in the dev_enumerate() phase. * @@ -45,29 +46,11 @@ int stage2(void) /* TODO: Add comment. */ void show_all_devs(void); - static const char console_test[] = - "\n\nLinuxBIOS-" - LINUXBIOS_VERSION - LINUXBIOS_EXTRA_VERSION - " " - LINUXBIOS_BUILD - " booting...\n"; - post_code(0x20); - - /* TODO: Explain why we use printk here although it is claimed to be - * impossible according to the documentation. The "has to be done - * before printk can be used" comment below seems to suggest the same. - * However, we already enable serial in arch/x86/stage1.c:stage1_main() - * when we call hardware_stage1(); uart_init(); console_init(); - * Why test the console again if it already is tested in stage 1? - */ - printk(BIOS_NOTICE, console_test); - dev_init(); - /* Console init, also ANYTHING that has to be done - * before printk can be used. + /* Phase 1 was console init and making printk work. Both functions are + * now performed by stage 1 code. Phase 1 is now without purpose. */ post_code(0x30); dev_phase1();