[LinuxBIOS] [PATCH 2/2] v3: improve printk documentation
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Thu Nov 15 21:32:30 CET 2007
Cleanup printk usage and documentation.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
---
--- LinuxBIOSv3/device/device.c 2007-11-15 17:50:20.000000000 +0100
+++ LinuxBIOSv3/device/device.c 2007-11-15 20:41:32.000000000 +0100
@@ -692,14 +692,14 @@
*
* 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 @@
*
* 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 @@
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");
}
--- LinuxBIOSv3/lib/stage2.c 2007-11-15 17:50:42.000000000 +0100
+++ LinuxBIOSv3/lib/stage2.c 2007-11-15 21:12:54.000000000 +0100
@@ -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 @@
/* 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();
More information about the coreboot
mailing list