[PATCH 08/16] viafb: Do not probe for LVDS/TMDS on OLPC XO-1.5

Jonathan Corbet <[email protected]> Thu, 8 Apr 2010 11:15:38 -0600
Newsgroups gmane.linux.kernel,gmane.linux.fbdev.devel
Message-ID <[email protected]>
From: Chris Ball <[email protected]>

The i2c transactions involved in detecting LVDS (9 seconds) and TMDS
(16 seconds) add an extra 25 seconds to viafb load time on the XO-1.5.

[jc: minor merge conflict fixed]
Signed-off-by: Chris Ball <[email protected]>
---
 drivers/video/via/hw.c  |    4 ++++
 drivers/video/via/lcd.c |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/video/via/hw.c b/drivers/video/via/hw.c
index 7be462e..47ba09a 100644
--- a/drivers/video/via/hw.c
+++ b/drivers/video/via/hw.c
@@ -2054,6 +2054,10 @@ static void init_gfx_chip_info(struct pci_dev *pdev,
 
 static void init_tmds_chip_info(void)
 {
+#ifdef CONFIG_OLPC_XO_1_5
+	if (machine_is_olpc())
+		return;
+#endif
 	viafb_tmds_trasmitter_identify();
 
 	if (INTERFACE_NONE == viaparinfo->chip_info->tmds_chip_info.
diff --git a/drivers/video/via/lcd.c b/drivers/video/via/lcd.c
index e0e2310..37a9746 100644
--- a/drivers/video/via/lcd.c
+++ b/drivers/video/via/lcd.c
@@ -208,6 +208,10 @@ static bool lvds_identify_integratedlvds(void)
 
 int viafb_lvds_trasmitter_identify(void)
 {
+#ifdef CONFIG_OLPC_XO_1_5
+	if (machine_is_olpc())
+		return FAIL;
+#endif
 	viaparinfo->shared->i2c_stuff.i2c_port = I2CPORTINDEX;
 	if (viafb_lvds_identify_vt1636()) {
 		viaparinfo->chip_info->lvds_chip_info.i2c_port = I2CPORTINDEX;
-- 
1.7.0.1