/* Each EDID block contains a bitmap of the supported "established modes" list (defined above). Tease them out and add them to the global modes list.  */
static int add_established_modes(struct drm_connector *connector, struct edid *edid)
/* Each EDID block contains a bitmap of the supported "established modes" list (defined above). Tease them out and add them to the global modes list.  */
static int add_established_modes(struct drm_connector *connector, struct edid *edid)
{
	struct drm_device *dev = connector->dev;
	unsigned long est_bits = edid->established_timings.t1 |
		(edid->established_timings.t2 << 8) |
		((edid->established_timings.mfg_rsvd & 0x80) << 9);
	int i, modes = 0;
	for (i = 0; i <= EDID_EST_TIMINGS; i++)
		if (est_bits & (1<<i)) {
			struct drm_display_mode *newmode;
			newmode = drm_mode_duplicate(dev, &edid_est_modes[i]);
			if (newmode) {
				drm_mode_probed_add(connector, newmode);
				modes++;
			}
		}
	return modes;
}