public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [Patch]: Fix rivafb's OF parsing
@ 2004-06-01  4:16 Guido Guenther
  2004-06-01  4:28 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 17+ messages in thread
From: Guido Guenther @ 2004-06-01  4:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Benjamin Herrenschmidt

[-- Attachment #1: Type: text/plain, Size: 359 bytes --]

Hi,
the attached patch fixes the EDID parsing for PPC on rivafb. It actually
finds the EDID info in the OF Tree now. I grabbed this from BenHs Tree as
of 2.6.5-rc3. The current code has no chance to work since it doesn't
walk the device tree.
This helps rivafb on PPC at least a bit further...
Cheers,
 -- Guido

signed-off-by: Guido Günther <agx@sigxpu.org>

[-- Attachment #2: revert-rivafb-edid-changes.diff --]
[-- Type: text/plain, Size: 1234 bytes --]

--- ../linux-2.6.7-rc2.orig/drivers/video/riva/fbdev.c	2004-05-30 11:40:32.000000000 -0300
+++ drivers/video/riva/fbdev.c	2004-06-01 00:57:37.060599712 -0300
@@ -1620,14 +1632,27 @@
 	struct riva_par *par = (struct riva_par *) info->par;
 	struct device_node *dp;
 	unsigned char *pedid = NULL;
+        unsigned char *disptype = NULL;
+        static char *propnames[] = {
+        	"DFP,EDID", "LCD,EDID", "EDID", "EDID1", "EDID,B", "EDID,A", NULL };
+        int i;  
 
 	dp = pci_device_to_OF_node(pd);
-	pedid = (unsigned char *)get_property(dp, "EDID,B", 0);
-
-	if (pedid) {
+        for (; dp != NULL; dp = dp->child) {
+               	disptype = (unsigned char *)get_property(dp, "display-type", NULL);
+                if (disptype == NULL)
+                	continue;
+                if (strncmp(disptype, "LCD", 3) != 0)
+                	continue;
+                for (i = 0; propnames[i] != NULL; ++i) {
+                        pedid = (unsigned char *)
+                                get_property(dp, propnames[i], NULL);
+                        if (pedid != NULL) {
 		par->EDID = pedid;
 		return 1;
-	} else
+                        }
+                }
+        }
 		return 0;
 }
 #endif /* CONFIG_PPC_OF */

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

end of thread, other threads:[~2004-07-09 21:34 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-01  4:16 [Patch]: Fix rivafb's OF parsing Guido Guenther
2004-06-01  4:28 ` Benjamin Herrenschmidt
2004-06-01 13:53   ` Guido Guenther
2004-06-02  9:57     ` Herbert Xu
2004-06-03 22:40     ` Benjamin Herrenschmidt
2004-06-04 15:49       ` Guido Guenther
2004-06-16  7:03     ` [Patch]: Fix rivafb's NV_ARCH_ Guido Guenther
2004-06-20 19:25       ` Guido Guenther
2004-06-20 22:05         ` Giuseppe Bilotta
2004-06-21  4:11         ` Benjamin Herrenschmidt
2004-06-21  7:11           ` Guido Guenther
2004-06-21 15:36             ` Benjamin Herrenschmidt
2004-06-21 19:51               ` Guido Guenther
2004-07-09 11:25               ` [Patch]: Fix rivafb's NV_ARCH_, cleanup DEBUG, backlight control on ppc Guido Guenther
2004-07-09 21:33                 ` Antonino A. Daplas
2004-06-23 19:35         ` [Patch]: Fix rivafb's NV_ARCH_ jsimmons
2004-06-24  6:55           ` Guido Guenther

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox