コード例 #1
0
static int dss_get_clocks(void)
{
	int r;

	core.dss_ick = NULL;
	core.dss1_fck = NULL;
	core.dss2_fck = NULL;
	core.dss_54m_fck = NULL;
	core.dss_96m_fck = NULL;

	r = dss_get_clock(&core.dss_ick, "ick");
	if (r)
		goto err;

	r = dss_get_clock(&core.dss1_fck, "dss1_fck");
	if (r)
		goto err;

	r = dss_get_clock(&core.dss2_fck, "dss2_fck");
	if (r)
		goto err;

	r = dss_get_clock(&core.dss_54m_fck, "tv_fck");
	if (r)
		goto err;

	r = dss_get_clock(&core.dss_96m_fck, "video_fck");
	if (r)
		goto err;

	return 0;

err:
	if (core.dss_ick)
		clk_put(core.dss_ick);
	if (core.dss1_fck)
		clk_put(core.dss1_fck);
	if (core.dss2_fck)
		clk_put(core.dss2_fck);
	if (core.dss_54m_fck)
		clk_put(core.dss_54m_fck);
	if (core.dss_96m_fck)
		clk_put(core.dss_96m_fck);

	return r;
}
コード例 #2
0
static int dss_get_clocks(void)
{
	int r;

	core.dss_ick = NULL;
	core.dss1_fck = NULL;
	core.dss2_fck = NULL;
	core.dss_54m_fck = NULL;
	core.dss_96m_fck = NULL;

	if (cpu_is_omap44xx()) {
		r = dss_get_clock(&core.dss_ick, "dss_sys_clk");
		if (r)
			goto err;

		r = dss_get_clock(&core.dss1_fck, "dss_dss_clk");
		if (r)
			goto err;

		r = dss_get_clock(&core.dss2_fck, "dss_dss_clk");
		if (r)
			goto err;

		r = dss_get_clock(&core.dss_54m_fck, "dss_tv_clk");
		if (r)
			goto err;

		r = dss_get_clock(&core.dss_96m_fck, "dss_48mhz_clk");
		if (r)
			goto err;

	} else {

		r = dss_get_clock(&core.dss_ick, "ick");
		if (r)
			goto err;

		r = dss_get_clock(&core.dss1_fck, "dss1_fck");
		if (r)
			goto err;

		r = dss_get_clock(&core.dss2_fck, "dss2_alwon_fck");
		if (r)
			goto err;

		r = dss_get_clock(&core.dss_54m_fck, "dss_tv_fck");
		if (r)
			goto err;

		r = dss_get_clock(&core.dss_96m_fck, "dss_96m_fck");
		if (r)
			goto err;
	}

	return 0;

err:
	if (core.dss_ick)
		clk_put(core.dss_ick);
	if (core.dss1_fck)
		clk_put(core.dss1_fck);
	if (core.dss2_fck)
		clk_put(core.dss2_fck);
	if (core.dss_54m_fck)
		clk_put(core.dss_54m_fck);
	if (core.dss_96m_fck)
		clk_put(core.dss_96m_fck);

	return r;
}