summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2009-02-27 12:42:43 -0500
committerAdam Jackson <ajax@redhat.com>2009-02-27 12:45:19 -0500
commit8c6b4a827624aa70aea94b449fee6d5df8504105 (patch)
tree30b428cb6f6f83355623470352a96892a8ff57d3
parentb030f858f2f1ce1fd27a73ebf7f9ec5db541a668 (diff)
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.
-rw-r--r--hw/xfree86/ddc/xf86DDC.c7
1 files changed, 6 insertions, 1 deletions
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;
}