Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e25001d8 authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

OMAPDSS: HDMI: add hdmi_init_regulator



Separate regulator init code into its own function for clarity.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 00df43b8
Loading
Loading
Loading
Loading
+26 −16
Original line number Diff line number Diff line
@@ -328,23 +328,13 @@ static void hdmi_runtime_put(void)
	WARN_ON(r < 0 && r != -ENOSYS);
}

static int hdmi_init_display(struct omap_dss_device *dssdev)
static int hdmi_init_regulator(void)
{
	int r;

	struct gpio gpios[] = {
		{ hdmi.ct_cp_hpd_gpio, GPIOF_OUT_INIT_LOW, "hdmi_ct_cp_hpd" },
		{ hdmi.ls_oe_gpio, GPIOF_OUT_INIT_LOW, "hdmi_ls_oe" },
		{ hdmi.hpd_gpio, GPIOF_DIR_IN, "hdmi_hpd" },
	};

	DSSDBG("init_display\n");

	dss_init_hdmi_ip_ops(&hdmi.ip_data, omapdss_get_version());

	if (hdmi.vdda_hdmi_dac_reg == NULL) {
	struct regulator *reg;

	if (hdmi.vdda_hdmi_dac_reg != NULL)
		return 0;

	reg = devm_regulator_get(&hdmi.pdev->dev, "vdda_hdmi_dac");

	/* DT HACK: try VDAC to make omapdss work for o4 sdp/panda */
@@ -357,8 +347,28 @@ static int hdmi_init_display(struct omap_dss_device *dssdev)
	}

	hdmi.vdda_hdmi_dac_reg = reg;

	return 0;
}

static int hdmi_init_display(struct omap_dss_device *dssdev)
{
	int r;

	struct gpio gpios[] = {
		{ hdmi.ct_cp_hpd_gpio, GPIOF_OUT_INIT_LOW, "hdmi_ct_cp_hpd" },
		{ hdmi.ls_oe_gpio, GPIOF_OUT_INIT_LOW, "hdmi_ls_oe" },
		{ hdmi.hpd_gpio, GPIOF_DIR_IN, "hdmi_hpd" },
	};

	DSSDBG("init_display\n");

	dss_init_hdmi_ip_ops(&hdmi.ip_data, omapdss_get_version());

	r = hdmi_init_regulator();
	if (r)
		return r;

	r = gpio_request_array(gpios, ARRAY_SIZE(gpios));
	if (r)
		return r;