/* This moves the modes from the @connector probed_modes list to the actual mode list. It compares the probed mode against the current list and only adds different modes. All modes unverified after this point will be removed by the prune invalid modes.  */
void drm_mode_connector_list_update(struct drm_connector *connector)
/* This moves the modes from the @connector probed_modes list to the actual mode list. It compares the probed mode against the current list and only adds different modes. All modes unverified after this point will be removed by the prune invalid modes.  */
void drm_mode_connector_list_update(struct drm_connector *connector)
{
	struct drm_display_mode *mode;
	struct drm_display_mode *pmode, *pt;
	int found_it;
	list_for_each_entry_safe(pmode, pt, &connector->probed_modes,
				 head) {
		found_it = 0;
		list_for_each_entry(mode, &connector->modes, head) {
			if (drm_mode_equal(pmode, mode)) {
				found_it = 1;
				mode->status = pmode->status;
				mode->type |= pmode->type;
				list_del(&pmode->head);
				drm_mode_destroy(connector->dev, pmode);
				break;
			}
		}
		if (!found_it) {
			list_move_tail(&pmode->head, &connector->modes);
		}
	}
}