Commit 9ed8ba5a authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/bridge: it6505: switch to ->edid_read callback

parent 183ea1e1
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -458,7 +458,7 @@ struct it6505 {
	/* it6505 driver hold option */
	bool enable_drv_hold;

	struct edid *cached_edid;
	const struct drm_edid *cached_edid;
};

struct it6505_step_train_para {
@@ -2263,7 +2263,7 @@ static void it6505_plugged_status_to_codec(struct it6505 *it6505)

static void it6505_remove_edid(struct it6505 *it6505)
{
	kfree(it6505->cached_edid);
	drm_edid_free(it6505->cached_edid);
	it6505->cached_edid = NULL;
}

@@ -3034,14 +3034,15 @@ it6505_bridge_detect(struct drm_bridge *bridge)
	return it6505_detect(it6505);
}

static struct edid *it6505_bridge_get_edid(struct drm_bridge *bridge,
static const struct drm_edid *it6505_bridge_edid_read(struct drm_bridge *bridge,
						      struct drm_connector *connector)
{
	struct it6505 *it6505 = bridge_to_it6505(bridge);
	struct device *dev = it6505->dev;

	if (!it6505->cached_edid) {
		it6505->cached_edid = drm_do_get_edid(connector, it6505_get_edid_block,
		it6505->cached_edid = drm_edid_read_custom(connector,
							   it6505_get_edid_block,
							   it6505);

		if (!it6505->cached_edid) {
@@ -3050,7 +3051,7 @@ static struct edid *it6505_bridge_get_edid(struct drm_bridge *bridge,
		}
	}

	return drm_edid_duplicate(it6505->cached_edid);
	return drm_edid_dup(it6505->cached_edid);
}

static const struct drm_bridge_funcs it6505_bridge_funcs = {
@@ -3065,7 +3066,7 @@ static const struct drm_bridge_funcs it6505_bridge_funcs = {
	.atomic_pre_enable = it6505_bridge_atomic_pre_enable,
	.atomic_post_disable = it6505_bridge_atomic_post_disable,
	.detect = it6505_bridge_detect,
	.get_edid = it6505_bridge_get_edid,
	.edid_read = it6505_bridge_edid_read,
};

static __maybe_unused int it6505_bridge_resume(struct device *dev)