From: Christian Lütke-Stetzkamp Date: Wed, 4 Apr 2018 20:15:32 +0000 (+0200) Subject: staging: mt7621-mmc: Refactor suspend, resume X-Git-Tag: v4.18-rc1~83^2~635 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=9673d9f6f44bb40b6f821d66f65969d63a167479;p=linux.git 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 Reviewed-by: NeilBrown Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/mt7621-mmc/sd.c b/drivers/staging/mt7621-mmc/sd.c index d7869b665255..5f829f79bfff 100644 --- a/drivers/staging/mt7621-mmc/sd.c +++ b/drivers/staging/mt7621-mmc/sd.c @@ -2907,34 +2907,30 @@ static int msdc_drv_remove(struct platform_device *pdev) /* Fix me: Power Flow */ #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 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); - } +} - 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) { - int ret = 0; - struct mmc_host *mmc = platform_get_drvdata(pdev); - struct msdc_host *host = mmc_priv(mmc); struct pm_message state; state.event = PM_EVENT_RESUME; - if (mmc && (host->hw->flags & MSDC_SYS_SUSPEND)) {/* will set for card */ - msdc_pm(state, (void *)host); - } - - /* This mean WIFI not controller by PM */ - - return ret; + msdc_drv_pm(pdev, state); + return 0; } #endif