From 8c6b4a827624aa70aea94b449fee6d5df8504105 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Fri, 27 Feb 2009 12:42:43 -0500 Subject: [PATCH] DDC: Redo extended device probe slightly. We'll now only mention the E-EDID segment register if the device is actually E-EDID-capable. While we're here, check for DDC/CI and standard EEPROM support too. --- hw/xfree86/ddc/xf86DDC.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/xfree86/ddc/xf86DDC.c b/hw/xfree86/ddc/xf86DDC.c index e3f40ec12..dba14d52a 100644 --- a/hw/xfree86/ddc/xf86DDC.c +++ b/hw/xfree86/ddc/xf86DDC.c @@ -138,8 +138,13 @@ DDC2Init(int scrnIndex, I2CBusPtr pBus) */ pBus->RiseFallTime = 20; - DDC2MakeDevice(pBus, 0x0060, "E-EDID segment register"); dev = DDC2MakeDevice(pBus, 0x00A0, "ddc2"); + if (xf86I2CProbeAddress(pBus, 0x0060)) + DDC2MakeDevice(pBus, 0x0060, "E-EDID segment register"); + if (xf86I2CProbeAddress(pBus, 0x0062)) + DDC2MakeDevice(pBus, 0x0062, "EDID EEPROM interface"); + if (xf86I2CProbeAddress(pBus, 0x006E)) + DDC2MakeDevice(pBus, 0x006E, "DDC control interface"); return dev; }