staging: mt7621-mmc: Refactor suspend, resume
Refactor msdc_drv_{suspend, resume} by adding a new function msdc_drv_pm, that cleans up the code and removes double code. Signed-off-by: Christian Lütke-Stetzkamp <christian@lkamp.de> Reviewed-by: NeilBrown <neil@brown.name> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d364f14bbe
commit
9673d9f6f4
1 changed files with 11 additions and 15 deletions
|
@ -2907,34 +2907,30 @@ static int msdc_drv_remove(struct platform_device *pdev)
|
||||||
|
|
||||||
/* Fix me: Power Flow */
|
/* Fix me: Power Flow */
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
static int msdc_drv_suspend(struct platform_device *pdev, pm_message_t state)
|
|
||||||
|
static void msdc_drv_pm(struct platform_device *pdev, pm_message state)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
|
||||||
struct mmc_host *mmc = platform_get_drvdata(pdev);
|
struct mmc_host *mmc = platform_get_drvdata(pdev);
|
||||||
struct msdc_host *host = mmc_priv(mmc);
|
struct msdc_host *host = mmc_priv(mmc);
|
||||||
|
|
||||||
if (mmc && state.event == PM_EVENT_SUSPEND && (host->hw->flags & MSDC_SYS_SUSPEND)) { /* will set for card */
|
if (mmc && (host->hw->flags & MSDC_SYS_SUSPEND))
|
||||||
msdc_pm(state, (void *)host);
|
msdc_pm(state, (void *)host);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
static int msdc_drv_suspend(struct platform_device *pdev, pm_message_t state)
|
||||||
|
{
|
||||||
|
if (state.event == PM_EVENT_SUSPEND)
|
||||||
|
msdc_drv_pm(pdev, state);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int msdc_drv_resume(struct platform_device *pdev)
|
static int msdc_drv_resume(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
|
||||||
struct mmc_host *mmc = platform_get_drvdata(pdev);
|
|
||||||
struct msdc_host *host = mmc_priv(mmc);
|
|
||||||
struct pm_message state;
|
struct pm_message state;
|
||||||
|
|
||||||
state.event = PM_EVENT_RESUME;
|
state.event = PM_EVENT_RESUME;
|
||||||
if (mmc && (host->hw->flags & MSDC_SYS_SUSPEND)) {/* will set for card */
|
msdc_drv_pm(pdev, state);
|
||||||
msdc_pm(state, (void *)host);
|
return 0;
|
||||||
}
|
|
||||||
|
|
||||||
/* This mean WIFI not controller by PM */
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue