[PATCH] Removal of prom_printf/prom_halt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi David,

This patch should remove the last of the prom_printf/prom_halt code from the driver directories with two exceptions.

If you do not have any issues with the changes, please can you apply them.

I looked at the remaining two files containing prom_printf (drivers/serial/dz.c - only used for debugging, and drivers/video/console/promcon.c - used to display info) and can see no inapropriate uses of prom_printf.

Is I understant it, prom_printf/prom_halt should only be used for debugging code and only where printk/panic does not have the desired effect when used on a kernel booted with -p.

Regards
	Mark Fortescue.
From: Mark Fortescue <mark@xxxxxxxxxxxxxxxxxx>

[SPARC32] Remove prom_printf and prom_halt

prom_printf and prom_halt should only be used as a last resort. If a system is
failing very early on in boot, the -p parameter can (and should) be used so
that generic driver code does not get plouted with architecture specific code.

Signed-off-by: Mark Fortescue <mark@xxxxxxxxxxxxxxxxxx>
---
I only have a CG3 and have been using a similar patch for some time. I made
the changes back in 2.6.8.1 when trying to find out why the CG3 console was
broaken. Black on Black is very dificult to read :).

diff --git a/drivers/video/bw2.c b/drivers/video/bw2.c
index 718b9f8..8fa38df 100644
--- a/drivers/video/bw2.c
+++ b/drivers/video/bw2.c
@@ -269,9 +269,7 @@ static void __devinit bw2_do_default_mode(struct bw2_par *par,
 		return;
 
 	default:
-		prom_printf("bw2: can't handle SR %02x\n",
-			    status);
-		prom_halt();
+		panic("bw2: can't handle SR %02x\n", status);
 	}
 	for ( ; *p; p += 2) {
 		u8 __iomem *regp = &((u8 __iomem *)par->regs)[p[0]];
diff --git a/drivers/video/cg3.c b/drivers/video/cg3.c
index 5741b46..03189d8 100644
--- a/drivers/video/cg3.c
+++ b/drivers/video/cg3.c
@@ -332,9 +332,7 @@ static void __devinit cg3_do_default_mode(struct cg3_par *par)
 			else
 				type = CG3_AT_66HZ;
 		} else {
-			prom_printf("cgthree: can't handle SR %02x\n",
-				    status);
-			prom_halt();
+			panic("cgthree: can't handle SR %02x\n", status);
 			return;
 		}
 	}
diff --git a/drivers/video/cyber2000fb.c b/drivers/video/cyber2000fb.c
index 30ede6e..85c73e1 100644
--- a/drivers/video/cyber2000fb.c
+++ b/drivers/video/cyber2000fb.c
@@ -1512,7 +1512,7 @@ static int cyberpro_pci_enable_mmio(struct cfb_info *cfb)
 
 	iop = ioremap(0x3000000, 0x5000);
 	if (iop == NULL) {
-		prom_printf("iga5000: cannot map I/O\n");
+		printk("iga5000: cannot map I/O\n");
 		return -ENOMEM;
 	}
 

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux