diff options
author | Jerome Glisse <glisse@freedesktop.org> | 2007-11-09 15:47:24 +0100 |
---|---|---|
committer | Jerome Glisse <glisse@freedesktop.org> | 2007-11-09 15:47:24 +0100 |
commit | ffb89d4c3b6650551aaab06076896540a78faddf (patch) | |
tree | fc71d07e3471f973bc001e3c3bef942af74fe8c7 /linux-core/intel_modes.c | |
parent | d983ed90cb9de559271817e04bddc8b40fc16a0d (diff) |
drm: split edid handling in get_edid & add_edid_mode
This way driver can get_edid in output status detection
(using all workaround which are in get_edid) and then provide
this edid data in get_mode callback of output.
Diffstat (limited to 'linux-core/intel_modes.c')
-rw-r--r-- | linux-core/intel_modes.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/linux-core/intel_modes.c b/linux-core/intel_modes.c index 601770e1..346cf1ac 100644 --- a/linux-core/intel_modes.c +++ b/linux-core/intel_modes.c @@ -50,6 +50,13 @@ bool intel_ddc_probe(struct drm_output *output) int intel_ddc_get_modes(struct drm_output *output) { struct intel_output *intel_output = output->driver_private; + struct edid *edid; + int ret = 0; - return drm_add_edid_modes(output, &intel_output->ddc_bus->adapter); + edid = drm_get_edid(output, &intel_output->ddc_bus->adapter); + if (edid) { + ret = drm_add_edid_modes(output, edid); + kfree(edid); + } + return ret; } |