All of lore.kernel.org
 help / color / mirror / Atom feed
* fix cg14 with serial console
@ 2005-02-01  4:37 Bob Breuer
  2005-02-01  4:44 ` David S. Miller
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Bob Breuer @ 2005-02-01  4:37 UTC (permalink / raw)
  To: sparclinux

When booting with a serial console and a vsimm installed, the cg14
driver would crash because the driver failed to check the return
value of prom_getproperty().

Here's a patch to fix that and move the SPARC32 conditional out of
the source file and into Kconfig.

Bob


diff -X dontdiff -urp linux-2.6.10-clean/drivers/video/cg14.c linux-2.6.10/drivers/video/cg14.c
--- linux-2.6.10-clean/drivers/video/cg14.c	2005-01-12 00:11:02.000000000 -0600
+++ linux-2.6.10/drivers/video/cg14.c	2005-01-31 22:31:36.000000000 -0600
@@ -469,9 +469,9 @@ static void cg14_init_one(struct sbus_de
  	int is_8mb, linebytes, i;

  	if (!sdev) {
-		prom_getproperty(node, "address",
-				 (char *) &bases[0], sizeof(bases));
-		if (!bases[0]) {
+		if (prom_getproperty(node, "address",
+				     (char *) &bases[0], sizeof(bases)) <= 0
+		    || !bases[0]) {
  			printk(KERN_ERR "cg14: Device is not mapped.\n");
  			return;
  		}
@@ -591,24 +591,20 @@ int __init cg14_init(void)
  {
  	struct sbus_bus *sbus;
  	struct sbus_dev *sdev;
+	int root, node;

  	if (fb_get_options("cg14fb", NULL))
  		return -ENODEV;

-#ifdef CONFIG_SPARC32
-	{
-		int root, node;
-
-		root = prom_getchild(prom_root_node);
-		root = prom_searchsiblings(root, "obio");
-		if (root) {
-			node = prom_searchsiblings(prom_getchild(root),
-						   "cgfourteen");
-			if (node)
-				cg14_init_one(NULL, node, root);
-		}
+	root = prom_getchild(prom_root_node);
+	root = prom_searchsiblings(root, "obio");
+	if (root) {
+		node = prom_searchsiblings(prom_getchild(root),
+					   "cgfourteen");
+		if (node)
+			cg14_init_one(NULL, node, root);
  	}
-#endif
+
  	for_all_sbusdev(sdev, sbus) {
  		if (!strcmp(sdev->prom_name, "cgfourteen"))
  			cg14_init_one(sdev, sdev->prom_node, sbus->prom_node);
diff -X dontdiff -urp linux-2.6.10-clean/drivers/video/Kconfig linux-2.6.10/drivers/video/Kconfig
--- linux-2.6.10-clean/drivers/video/Kconfig	2005-01-12 00:11:01.000000000 -0600
+++ linux-2.6.10/drivers/video/Kconfig	2005-01-31 22:11:23.000000000 -0600
@@ -954,14 +954,14 @@ config FB_FFB

  config FB_TCX
  	bool "TCX (SS4/SS5 only) support"
-	depends on FB_SBUS
+	depends on FB_SBUS && SPARC32
  	help
  	  This is the frame buffer device driver for the TCX 24/8bit frame
  	  buffer.

  config FB_CG14
  	bool "CGfourteen (SX) support"
-	depends on FB_SBUS
+	depends on FB_SBUS && SPARC32
  	help
  	  This is the frame buffer device driver for the CGfourteen frame
  	  buffer on Desktop SPARCsystems with the SX graphics option.



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-02-15 18:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-01  4:37 fix cg14 with serial console Bob Breuer
2005-02-01  4:44 ` David S. Miller
2005-02-05  4:04 ` Bob Breuer
2005-02-05  5:41 ` David S. Miller
2005-02-06 22:23 ` Art Haas
2005-02-15 18:06 ` David S. Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.