xref: /linux/drivers/gpu/drm/gma500/psb_intel_modes.c (revision fcab107abe1ab5be9dbe874baa722372da8f4f73)
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * Copyright (c) 2007 Intel Corporation
4  *
5  * Authers: Jesse Barnes <jesse.barnes@intel.com>
6  */
7 
8 #include <linux/i2c.h>
9 
10 #include <drm/drm_edid.h>
11 
12 #include "psb_intel_drv.h"
13 
14 /**
15  * psb_intel_ddc_get_modes - get modelist from monitor
16  * @connector: DRM connector device to use
17  * @adapter:   Associated I2C adaptor
18  *
19  * Fetch the EDID information from @connector using the DDC bus.
20  */
21 int psb_intel_ddc_get_modes(struct drm_connector *connector,
22 			    struct i2c_adapter *adapter)
23 {
24 	struct edid *edid;
25 	int ret = 0;
26 
27 	edid = drm_get_edid(connector, adapter);
28 	if (edid) {
29 		drm_connector_update_edid_property(connector, edid);
30 		ret = drm_add_edid_modes(connector, edid);
31 		kfree(edid);
32 	}
33 	return ret;
34 }
35