Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/sun4i: hdmi: switch to struct drm_edid

Prefer struct drm_edid based functions over struct edid.

Acked-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/0967dde8ae35cd58ab8ea58397d514bb9df29fd1.1713273659.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

+11 -7
+11 -7
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
··· 214 214 static int sun4i_hdmi_get_modes(struct drm_connector *connector) 215 215 { 216 216 struct sun4i_hdmi *hdmi = drm_connector_to_sun4i_hdmi(connector); 217 - struct edid *edid; 217 + const struct drm_edid *drm_edid; 218 218 int ret; 219 219 220 - edid = drm_get_edid(connector, hdmi->ddc_i2c ?: hdmi->i2c); 221 - if (!edid) 220 + drm_edid = drm_edid_read_ddc(connector, hdmi->ddc_i2c ?: hdmi->i2c); 221 + 222 + drm_edid_connector_update(connector, drm_edid); 223 + cec_s_phys_addr(hdmi->cec_adap, 224 + connector->display_info.source_physical_address, false); 225 + 226 + if (!drm_edid) 222 227 return 0; 223 228 224 229 DRM_DEBUG_DRIVER("Monitor is %s monitor\n", 225 230 connector->display_info.is_hdmi ? "an HDMI" : "a DVI"); 226 231 227 - drm_connector_update_edid_property(connector, edid); 228 - cec_s_phys_addr_from_edid(hdmi->cec_adap, edid); 229 - ret = drm_add_edid_modes(connector, edid); 230 - kfree(edid); 232 + 233 + ret = drm_edid_connector_add_modes(connector); 234 + drm_edid_free(drm_edid); 231 235 232 236 return ret; 233 237 }