74 lines
1.5 KiB
C
74 lines
1.5 KiB
C
/* linux/arm/arm/mach-exynos/include/mach/regs-clock.h
|
|
*
|
|
* Copyright (C) 2013 Samsung Electronics Co., Ltd.
|
|
* http://www.samsung.com
|
|
*
|
|
* EXYNOS5 - Header file for exynos pm support
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef __EXYNOS_PM_H
|
|
#define __EXYNOS_PM_H
|
|
|
|
#include <linux/kernel.h>
|
|
#include <linux/notifier.h>
|
|
|
|
/*
|
|
* Event codes for PM states
|
|
*/
|
|
enum exynos_pm_event {
|
|
/* CPU is entering the LPA state */
|
|
LPA_ENTER,
|
|
|
|
/* CPU failed to enter the LPA state */
|
|
LPA_ENTER_FAIL,
|
|
|
|
/* CPU is exiting the LPA state */
|
|
LPA_EXIT,
|
|
|
|
/* CPU is entering the SICD/SICD_AUD state */
|
|
SICD_ENTER,
|
|
SICD_AUD_ENTER,
|
|
|
|
/* CPU is exiting the SICD/SICD_AUD state */
|
|
SICD_EXIT,
|
|
SICD_AUD_EXIT,
|
|
};
|
|
|
|
#define EXYNOS_PM_PREFIX "EXYNOS-PM:"
|
|
|
|
#ifdef CONFIG_CPU_IDLE
|
|
int exynos_pm_register_notifier(struct notifier_block *nb);
|
|
int exynos_pm_unregister_notifier(struct notifier_block *nb);
|
|
int exynos_pm_notify(enum exynos_pm_event event);
|
|
#else
|
|
static inline int exynos_pm_register_notifier(struct notifier_block *nb)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int exynos_pm_unregister_notifier(struct notifier_block *nb)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int exynos_pm_notify(enum exynos_pm_event event)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif
|
|
|
|
#ifdef CONFIG_EXYNOS_ACPM
|
|
extern u32 acpm_get_mifdn_count(void);
|
|
#else
|
|
static inline u32 acpm_get_mifdn_count(void)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif
|
|
|
|
#endif /* __EXYNOS_PM_H */
|