@@ -498,7 +498,7 @@ static int mcp16502_probe(struct i2c_client *client,
return 0;
}
-#ifdef CONFIG_SUSPEND
+#ifdef CONFIG_PM_SLEEP
static int mcp16502_suspend_noirq(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
@@ -518,10 +518,7 @@ static int mcp16502_resume_noirq(struct device *dev)
return 0;
}
-#else /* !CONFIG_SUSPEND */
-#define mcp16502_suspend NULL
-#define mcp16502_resume NULL
-#endif /* !CONFIG_SUSPEND */
+#endif
#ifdef CONFIG_PM
static const struct dev_pm_ops mcp16502_pm_ops = {
Use #ifdef CONFIG_PM_SLEEP guard around suspend_fn/resume_fn to fix below build error. CC [M] drivers/regulator/mcp16502.o In file included from ./include/linux/device.h:23:0, from ./include/linux/gpio/driver.h:5, from ./include/asm-generic/gpio.h:13, from ./include/linux/gpio.h:62, from drivers/regulator/mcp16502.c:11: drivers/regulator/mcp16502.c:528:32: error: ‘mcp16502_suspend_noirq’ undeclared here (not in a function); did you mean ‘mcp16502_suspend’? SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(mcp16502_suspend_noirq, ^ ./include/linux/pm.h:342:19: note: in definition of macro ‘SET_NOIRQ_SYSTEM_SLEEP_PM_OPS’ .suspend_noirq = suspend_fn, \ ^~~~~~~~~~ drivers/regulator/mcp16502.c:529:10: error: ‘mcp16502_resume_noirq’ undeclared here (not in a function); did you mean ‘mcp16502_suspend_noirq’? mcp16502_resume_noirq) ^ ./include/linux/pm.h:343:18: note: in definition of macro ‘SET_NOIRQ_SYSTEM_SLEEP_PM_OPS’ .resume_noirq = resume_fn, \ ^~~~~~~~~ Signed-off-by: Axel Lin <axel.lin@ingics.com> --- drivers/regulator/mcp16502.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)