drm/i915: extract connector update from intel_ddc_get_modes() for reuse

Refactor the connector update part of intel_ddc_get_modes() into a separate
intel_connector_update_modes() function for reuse. No functional changes.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=45881
Tested-by: Alex Ferrando <alferpal@gmail.com>
Cc: stable@vger.kernel.org (for 3.4+3.5)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

authored by Jani Nikula and committed by Daniel Vetter 4eab8136 a843af18

+24 -9
+2
drivers/gpu/drm/i915/intel_drv.h
··· 342 342 int interval; 343 343 }; 344 344 345 + int intel_connector_update_modes(struct drm_connector *connector, 346 + struct edid *edid); 345 347 int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter); 346 348 347 349 extern void intel_attach_force_audio_property(struct drm_connector *connector);
+22 -9
drivers/gpu/drm/i915/intel_modes.c
··· 33 33 #include "i915_drv.h" 34 34 35 35 /** 36 + * intel_connector_update_modes - update connector from edid 37 + * @connector: DRM connector device to use 38 + * @edid: previously read EDID information 39 + */ 40 + int intel_connector_update_modes(struct drm_connector *connector, 41 + struct edid *edid) 42 + { 43 + int ret; 44 + 45 + drm_mode_connector_update_edid_property(connector, edid); 46 + ret = drm_add_edid_modes(connector, edid); 47 + drm_edid_to_eld(connector, edid); 48 + connector->display_info.raw_edid = NULL; 49 + kfree(edid); 50 + 51 + return ret; 52 + } 53 + 54 + /** 36 55 * intel_ddc_get_modes - get modelist from monitor 37 56 * @connector: DRM connector device to use 38 57 * @adapter: i2c adapter ··· 62 43 struct i2c_adapter *adapter) 63 44 { 64 45 struct edid *edid; 65 - int ret = 0; 66 46 67 47 edid = drm_get_edid(connector, adapter); 68 - if (edid) { 69 - drm_mode_connector_update_edid_property(connector, edid); 70 - ret = drm_add_edid_modes(connector, edid); 71 - drm_edid_to_eld(connector, edid); 72 - connector->display_info.raw_edid = NULL; 73 - kfree(edid); 74 - } 48 + if (!edid) 49 + return 0; 75 50 76 - return ret; 51 + return intel_connector_update_modes(connector, edid); 77 52 } 78 53 79 54 static const struct drm_prop_enum_list force_audio_names[] = {