K2LL33D SHELL

 Apache/2.4.7 (Ubuntu)
 Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64
 uid=33(www-data) gid=33(www-data) groups=33(www-data)
 safemode : OFF
 MySQL: ON | Perl: ON | cURL: OFF | WGet: ON
  >  / usr / src / linux-headers-3.13.0-24 / include / linux /
server ip : 104.21.89.46

your ip : 172.69.130.131

H O M E


Filename/usr/src/linux-headers-3.13.0-24/include/linux/cpu_pm.h
Size2.78 kb
Permissionrw-r--r--
Ownerroot : root
Create time27-Apr-2025 09:50
Last modified20-Jan-2014 10:40
Last accessed06-Jul-2025 05:30
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
/*
* Copyright (C) 2011 Google, Inc.
*
* Author:
* Colin Cross <[email protected]>
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/

#ifndef _LINUX_CPU_PM_H
#define _LINUX_CPU_PM_H

#include <linux/kernel.h>
#include <linux/notifier.h>

/*
* When a CPU goes to a low power state that turns off power to the CPU's
* power domain, the contents of some blocks (floating point coprocessors,
* interrupt controllers, caches, timers) in the same power domain can
* be lost. The cpm_pm notifiers provide a method for platform idle, suspend,
* and hotplug implementations to notify the drivers for these blocks that
* they may be reset.
*
* All cpu_pm notifications must be called with interrupts disabled.
*
* The notifications are split into two classes: CPU notifications and CPU
* cluster notifications.
*
* CPU notifications apply to a single CPU and must be called on the affected
* CPU. They are used to save per-cpu context for affected blocks.
*
* CPU cluster notifications apply to all CPUs in a single power domain. They
* are used to save any global context for affected blocks, and must be called
* after all the CPUs in the power domain have been notified of the low power
* state.
*/

/*
* Event codes passed as unsigned long val to notifier calls
*/
enum cpu_pm_event {
/* A single cpu is entering a low power state */
CPU_PM_ENTER,

/* A single cpu failed to enter a low power state */
CPU_PM_ENTER_FAILED,

/* A single cpu is exiting a low power state */
CPU_PM_EXIT,

/* A cpu power domain is entering a low power state */
CPU_CLUSTER_PM_ENTER,

/* A cpu power domain failed to enter a low power state */
CPU_CLUSTER_PM_ENTER_FAILED,

/* A cpu power domain is exiting a low power state */
CPU_CLUSTER_PM_EXIT,
};

#ifdef CONFIG_CPU_PM
int cpu_pm_register_notifier(struct notifier_block *nb);
int cpu_pm_unregister_notifier(struct notifier_block *nb);
int cpu_pm_enter(void);
int cpu_pm_exit(void);
int cpu_cluster_pm_enter(void);
int cpu_cluster_pm_exit(void);

#else

static inline int cpu_pm_register_notifier(struct notifier_block *nb)
{
return 0;
}

static inline int cpu_pm_unregister_notifier(struct notifier_block *nb)
{
return 0;
}

static inline int cpu_pm_enter(void)
{
return 0;
}

static inline int cpu_pm_exit(void)
{
return 0;
}

static inline int cpu_cluster_pm_enter(void)
{
return 0;
}

static inline int cpu_cluster_pm_exit(void)
{
return 0;
}
#endif
#endif