Пример #1
0
static int mfc_suspend(struct platform_device *pdev, pm_message_t state)
{
	int ret = 0;

	mutex_lock(&mfc_mutex);

	if (!mfc_is_running()) {
		mutex_unlock(&mfc_mutex);
		return 0;
	}
	clk_enable(mfc_sclk);

	ret = mfc_set_sleep();
	if (ret != MFCINST_RET_OK) {
		clk_disable(mfc_sclk);
		mutex_unlock(&mfc_mutex);
		return ret;
	}

	clk_disable(mfc_sclk);

	mutex_unlock(&mfc_mutex);

	return 0;
}
Пример #2
0
static int mfc_suspend(struct platform_device *pdev, pm_message_t state)
{
	int ret = 0;

#if	ENABLE_MONITORING_MFC_DD
	mfc_info("mfc_suspend......#1\n");
#endif

	mutex_lock(&mfc_mutex);

	if (!mfc_is_running())
	{
#if	ENABLE_MONITORING_MFC_DD
		mfc_info("mfc_suspend......#2-0\n");
#endif
		mutex_unlock(&mfc_mutex);
		return 0;
	}

#if	Frame_Base_Power_CTR_ON
	if (s5pv210_pd_enable("mfc_pd") < 0) {
		printk(KERN_ERR "[Error]The power is not on for mfc\n");
		return -1;
	}
	clk_enable(mfc_clk);
#endif

#if	ENABLE_MONITORING_MFC_DD
	mfc_info("mfc_suspend......#2-1\n");
#endif

	ret = mfc_set_sleep();
	if(ret != MFCINST_RET_OK){
		mutex_unlock(&mfc_mutex);
		return ret;
	}

#if	Frame_Base_Power_CTR_ON
	clk_disable(mfc_clk);
#endif

	mutex_unlock(&mfc_mutex);

	return 0;
}