Commit 56426faa authored by Marek Vasut's avatar Marek Vasut
Browse files

drm/bridge: tc358775: Convert to drm_of_get_data_lanes_count_ep



Convert driver to use this new helper to standardize
OF "data-lanes" parsing.

Reviewed-by: default avatarAndrzej Hajda <andrzej.hajda@intel.com>
Signed-off-by: default avatarMarek Vasut <marex@denx.de>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Maxime Ripard <maxime@cerno.tech>
Cc: Robert Foss <robert.foss@linaro.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
To: dri-devel@lists.freedesktop.org
Link: https://patchwork.freedesktop.org/patch/msgid/20220524010522.528569-7-marex@denx.de
parent d8609fd1
Loading
Loading
Loading
Loading
+5 −16
Original line number Diff line number Diff line
@@ -529,8 +529,7 @@ static int tc358775_parse_dt(struct device_node *np, struct tc_data *tc)
	struct device_node *endpoint;
	struct device_node *parent;
	struct device_node *remote;
	struct property *prop;
	int len = 0;
	int dsi_lanes;

	/*
	 * To get the data-lanes of dsi, we need to access the dsi0_out of port1
@@ -544,25 +543,15 @@ static int tc358775_parse_dt(struct device_node *np, struct tc_data *tc)
		of_node_put(endpoint);
		if (parent) {
			/* dsi0 port 1 */
			endpoint = of_graph_get_endpoint_by_regs(parent, 1, -1);
			dsi_lanes = drm_of_get_data_lanes_count_ep(parent, 1, -1, 1, 4);
			of_node_put(parent);
			if (endpoint) {
				prop = of_find_property(endpoint, "data-lanes",
							&len);
				of_node_put(endpoint);
				if (!prop) {
					dev_err(tc->dev,
						"failed to find data lane\n");
					return -EPROBE_DEFER;
				}
			}
		}
	}

	tc->num_dsi_lanes = len / sizeof(u32);
	if (dsi_lanes < 0)
		return dsi_lanes;

	if (tc->num_dsi_lanes < 1 || tc->num_dsi_lanes > 4)
		return -EINVAL;
	tc->num_dsi_lanes = dsi_lanes;

	tc->host_node = of_graph_get_remote_node(np, 0, 0);
	if (!tc->host_node)