Commit | Line | Data |
---|---|---|
d2912cb1 | 1 | // SPDX-License-Identifier: GPL-2.0-only |
8c4300c2 FE |
2 | /* |
3 | * Copyright 2016 NXP Semiconductors | |
8c4300c2 FE |
4 | */ |
5 | ||
6 | #include <linux/kernel.h> | |
7 | #include <linux/suspend.h> | |
8 | #include <linux/io.h> | |
9 | ||
10 | static int imx25_suspend_enter(suspend_state_t state) | |
11 | { | |
12 | if (!IS_ENABLED(CONFIG_PM)) | |
13 | return 0; | |
14 | ||
15 | switch (state) { | |
16 | case PM_SUSPEND_MEM: | |
17 | cpu_do_idle(); | |
18 | break; | |
19 | default: | |
20 | return -EINVAL; | |
21 | } | |
22 | ||
23 | return 0; | |
24 | } | |
25 | ||
26 | static const struct platform_suspend_ops imx25_suspend_ops = { | |
27 | .enter = imx25_suspend_enter, | |
28 | .valid = suspend_valid_only_mem, | |
29 | }; | |
30 | ||
31 | void __init imx25_pm_init(void) | |
32 | { | |
33 | suspend_set_ops(&imx25_suspend_ops); | |
34 | } |