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