mirror of https://github.com/torvalds/linux.git
mmc: dw_mmc: exynos: use modern PM macros
Use the modern PM macros for the suspend and resume functions to be automatically dropped by the compiler when CONFIG_PM or CONFIG_PM_SLEEP are disabled, without having to use #ifdef guards. This has the advantage of always compiling these functions in, independently of any Kconfig option. Thanks to that, bugs and other regressions are subsequently easier to catch. Signed-off-by: Jisheng Zhang <jszhang@kernel.org> Link: https://lore.kernel.org/r/20250815013413.28641-36-jszhang@kernel.org Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
9ae88dc98d
commit
a01c660c8f
|
|
@ -189,7 +189,6 @@ static void dw_mci_exynos_set_clksel_timing(struct dw_mci *host, u32 timing)
|
|||
set_bit(DW_MMC_CARD_NO_USE_HOLD, &host->slot->flags);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
static int dw_mci_exynos_runtime_resume(struct device *dev)
|
||||
{
|
||||
struct dw_mci *host = dev_get_drvdata(dev);
|
||||
|
|
@ -203,9 +202,7 @@ static int dw_mci_exynos_runtime_resume(struct device *dev)
|
|||
|
||||
return ret;
|
||||
}
|
||||
#endif /* CONFIG_PM */
|
||||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
/**
|
||||
* dw_mci_exynos_suspend_noirq - Exynos-specific suspend code
|
||||
* @dev: Device to suspend (this device)
|
||||
|
|
@ -265,7 +262,6 @@ static int dw_mci_exynos_resume_noirq(struct device *dev)
|
|||
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_PM_SLEEP */
|
||||
|
||||
static void dw_mci_exynos_config_hs400(struct dw_mci *host, u32 timing)
|
||||
{
|
||||
|
|
@ -712,11 +708,8 @@ static void dw_mci_exynos_remove(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
static const struct dev_pm_ops dw_mci_exynos_pmops = {
|
||||
SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(dw_mci_exynos_suspend_noirq,
|
||||
dw_mci_exynos_resume_noirq)
|
||||
SET_RUNTIME_PM_OPS(dw_mci_runtime_suspend,
|
||||
dw_mci_exynos_runtime_resume,
|
||||
NULL)
|
||||
NOIRQ_SYSTEM_SLEEP_PM_OPS(dw_mci_exynos_suspend_noirq, dw_mci_exynos_resume_noirq)
|
||||
RUNTIME_PM_OPS(dw_mci_runtime_suspend, dw_mci_exynos_runtime_resume, NULL)
|
||||
};
|
||||
|
||||
static struct platform_driver dw_mci_exynos_pltfm_driver = {
|
||||
|
|
@ -726,7 +719,7 @@ static struct platform_driver dw_mci_exynos_pltfm_driver = {
|
|||
.name = "dwmmc_exynos",
|
||||
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
|
||||
.of_match_table = dw_mci_exynos_match,
|
||||
.pm = &dw_mci_exynos_pmops,
|
||||
.pm = pm_ptr(&dw_mci_exynos_pmops),
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -541,6 +541,9 @@ extern void dw_mci_remove(struct dw_mci *host);
|
|||
#ifdef CONFIG_PM
|
||||
extern int dw_mci_runtime_suspend(struct device *device);
|
||||
extern int dw_mci_runtime_resume(struct device *device);
|
||||
#else
|
||||
static inline int dw_mci_runtime_suspend(struct device *device) { return -EOPNOTSUPP; }
|
||||
static inline int dw_mci_runtime_resume(struct device *device) { return -EOPNOTSUPP; }
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue