mfd: stmfx: Remove #ifdef guards for PM related functions
Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to handle the .suspend/.resume callbacks. These macros allow the suspend and resume functions to be automatically dropped by the compiler when CONFIG_SUSPEND is 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: Paul Cercueil <paul@crapouillou.net> Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
Родитель
69bbab9183
Коммит
4d8a6ae23a
|
@ -473,7 +473,6 @@ static void stmfx_remove(struct i2c_client *client)
|
||||||
stmfx_chip_exit(client);
|
stmfx_chip_exit(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PM_SLEEP
|
|
||||||
static int stmfx_suspend(struct device *dev)
|
static int stmfx_suspend(struct device *dev)
|
||||||
{
|
{
|
||||||
struct stmfx *stmfx = dev_get_drvdata(dev);
|
struct stmfx *stmfx = dev_get_drvdata(dev);
|
||||||
|
@ -539,9 +538,8 @@ static int stmfx_resume(struct device *dev)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static SIMPLE_DEV_PM_OPS(stmfx_dev_pm_ops, stmfx_suspend, stmfx_resume);
|
static DEFINE_SIMPLE_DEV_PM_OPS(stmfx_dev_pm_ops, stmfx_suspend, stmfx_resume);
|
||||||
|
|
||||||
static const struct of_device_id stmfx_of_match[] = {
|
static const struct of_device_id stmfx_of_match[] = {
|
||||||
{ .compatible = "st,stmfx-0300", },
|
{ .compatible = "st,stmfx-0300", },
|
||||||
|
@ -553,7 +551,7 @@ static struct i2c_driver stmfx_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "stmfx-core",
|
.name = "stmfx-core",
|
||||||
.of_match_table = stmfx_of_match,
|
.of_match_table = stmfx_of_match,
|
||||||
.pm = &stmfx_dev_pm_ops,
|
.pm = pm_sleep_ptr(&stmfx_dev_pm_ops),
|
||||||
},
|
},
|
||||||
.probe_new = stmfx_probe,
|
.probe_new = stmfx_probe,
|
||||||
.remove = stmfx_remove,
|
.remove = stmfx_remove,
|
||||||
|
|
|
@ -113,10 +113,8 @@ struct stmfx {
|
||||||
struct irq_domain *irq_domain;
|
struct irq_domain *irq_domain;
|
||||||
struct mutex lock; /* IRQ bus lock */
|
struct mutex lock; /* IRQ bus lock */
|
||||||
u8 irq_src;
|
u8 irq_src;
|
||||||
#ifdef CONFIG_PM
|
|
||||||
u8 bkp_sysctrl;
|
u8 bkp_sysctrl;
|
||||||
u8 bkp_irqoutpin;
|
u8 bkp_irqoutpin;
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
int stmfx_function_enable(struct stmfx *stmfx, u32 func);
|
int stmfx_function_enable(struct stmfx *stmfx, u32 func);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче