Introduce struct drm_edid and start converting struct edid * to struct drm_edid * in the EDID parsing. The rationale for drm_edid is explained in depth in commit message for patch 3. Initially, there's little functional benefit in the series, it's mostly just prep work. It's also intended to be relatively straightforward to review. Later on, we'll add interfaces around drm_edid that let us utilize the actual EDID buffer allocation size as metadata outside of the size contained within the EDID blob. This is a requirement for safely handling HF-EEODB without a huge flag day switch from struct edid usage. See [1] for that work. BR, Jani. [1] https://cgit.freedesktop.org/~jani/drm/log/?h=edid-hfeeodb-2022-05-06 Jani Nikula (25): drm/edid: use else-if in CTA extension parsing drm/edid: convert drm_for_each_detailed_block() to edid iter drm/edid: add struct drm_edid container drm/edid: start propagating drm_edid to lower levels drm/edid: keep propagating drm_edid to display info drm/edid: propagate drm_edid to drm_edid_to_eld() drm/edid: convert drm_edid_connector_update() to drm_edid fully drm/edid: convert struct detailed_mode_closure to drm_edid drm/edid: convert drm_mode_detailed() to drm_edid drm/edid: convert drm_dmt_modes_for_range() to drm_edid drm/edid: convert drm_gtf_modes_for_range() to drm_edid drm/edid: convert drm_cvt_modes_for_range() to drm_edid drm/edid: convert drm_mode_std() and children to drm_edid drm/edid: convert mode_in_range() and drm_monitor_supports_rb() to drm_edid drm/edid: convert get_monitor_name() to drm_edid drm/edid: convert drm_for_each_detailed_block() to drm_edid drm/edid: add drm_edid helper for drm_edid_to_sad() drm/edid: add drm_edid helper for drm_edid_to_speaker_allocation() drm/edid: add drm_edid helper for drm_detect_hdmi_monitor() drm/edid: add drm_edid helper for drm_detect_monitor_audio() drm/edid: convert cea_db_iter_edid_begin() to drm_edid drm/edid: convert drm_edid_iter_begin() to drm_edid drm/edid: add drm_edid helper for drm_update_tile_info() drm/displayid: convert to drm_edid drm/edid: convert version_greater() to drm_edid drivers/gpu/drm/drm_displayid.c | 16 +- drivers/gpu/drm/drm_edid.c | 542 +++++++++++++++++++------------- include/drm/drm_displayid.h | 6 +- include/drm/drm_edid.h | 6 +- 4 files changed, 337 insertions(+), 233 deletions(-) -- 2.30.2