Lines Matching +full:idle +full:- +full:state +full:- +full:name

1 // SPDX-License-Identifier: GPL-2.0-or-later
8 * Based on arch/powerpc/platforms/44x/idle.c:
26 #include <asm/dcr-native.h>
50 const char *name; member
72 /* return old state, to restore later if needed */ in cpm_set()
80 /* save off initial state */ in cpm_idle_wait()
84 /* set wait state MSR */ in cpm_idle_wait()
87 /* return to initial state */ in cpm_idle_wait()
96 /* update CPM_ER state */ in cpm_idle_sleep()
99 /* go to wait state so that CPM0_ER[CPU] can take effect */ in cpm_idle_sleep()
102 /* restore CPM_ER state */ in cpm_idle_sleep()
132 s += sprintf(s, "[%s] ", idle_mode[i].name); in cpm_idle_show()
134 s += sprintf(s, "%s ", idle_mode[i].name); in cpm_idle_show()
137 *(s-1) = '\n'; /* convert the last space to a newline */ in cpm_idle_show()
139 return s - buf; in cpm_idle_show()
151 len = p ? p - buf : n; in cpm_idle_store()
154 if (strncmp(buf, idle_mode[i].name, len) == 0) { in cpm_idle_store()
160 return -EINVAL; in cpm_idle_store()
164 __ATTR(idle, 0644, cpm_idle_show, cpm_idle_store);
173 ret = sysfs_create_file(&dev->kobj, in cpm_idle_config_sysfs()
177 "cpm: failed to create idle sysfs entry\n"); in cpm_idle_config_sysfs()
188 static int cpm_suspend_valid(suspend_state_t state) in cpm_suspend_valid() argument
190 switch (state) { in cpm_suspend_valid()
208 /* go to sleep state */ in cpm_suspend_standby()
215 static int cpm_suspend_enter(suspend_state_t state) in cpm_suspend_enter() argument
217 switch (state) { in cpm_suspend_enter()
235 const char *name) in cpm_get_uint_property() argument
238 const unsigned int *prop = of_get_property(np, name, &len); in cpm_get_uint_property()
259 ret = -EINVAL; in cpm_init()
269 ret = -EINVAL; in cpm_init()
278 ret = -EINVAL; in cpm_init()
288 if (cpm_get_uint_property(np, "er-offset") == 0) { in cpm_init()
300 cpm.unused = cpm_get_uint_property(np, "unused-units"); in cpm_init()
301 cpm.idle_doze = cpm_get_uint_property(np, "idle-doze"); in cpm_init()