ARM: EXYNOS: Fix build breakge with PM_SLEEP=n
Fix building of exynos_defconfig with disabled PM_SLEEP: CONFIG_PM_SLEEP=n CONFIG_PM_SLEEP_SMP=n CONFIG_SUSPEND=n by moving functions for power up/down of CPU and cluster to platsmp.c The build error messages: arch/arm/mach-exynos/built-in.o: In function `exynos_boot_secondary': arch/arm/mach-exynos/platsmp.c:111: undefined reference to `exynos_cpu_power_state' arch/arm/mach-exynos/platsmp.c:112: undefined reference to `exynos_cpu_power_up' arch/arm/mach-exynos/platsmp.c:116: undefined reference to `exynos_cpu_power_state' make: *** [vmlinux] Error 1 Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com>, Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Родитель
4e9816d012
Коммит
7310d99ffc
|
@ -32,6 +32,72 @@
|
||||||
|
|
||||||
extern void exynos4_secondary_startup(void);
|
extern void exynos4_secondary_startup(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* exynos_core_power_down : power down the specified cpu
|
||||||
|
* @cpu : the cpu to power down
|
||||||
|
*
|
||||||
|
* Power down the specified cpu. The sequence must be finished by a
|
||||||
|
* call to cpu_do_idle()
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void exynos_cpu_power_down(int cpu)
|
||||||
|
{
|
||||||
|
__raw_writel(0, EXYNOS_ARM_CORE_CONFIGURATION(cpu));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* exynos_cpu_power_up : power up the specified cpu
|
||||||
|
* @cpu : the cpu to power up
|
||||||
|
*
|
||||||
|
* Power up the specified cpu
|
||||||
|
*/
|
||||||
|
void exynos_cpu_power_up(int cpu)
|
||||||
|
{
|
||||||
|
__raw_writel(S5P_CORE_LOCAL_PWR_EN,
|
||||||
|
EXYNOS_ARM_CORE_CONFIGURATION(cpu));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* exynos_cpu_power_state : returns the power state of the cpu
|
||||||
|
* @cpu : the cpu to retrieve the power state from
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
int exynos_cpu_power_state(int cpu)
|
||||||
|
{
|
||||||
|
return (__raw_readl(EXYNOS_ARM_CORE_STATUS(cpu)) &
|
||||||
|
S5P_CORE_LOCAL_PWR_EN);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* exynos_cluster_power_down : power down the specified cluster
|
||||||
|
* @cluster : the cluster to power down
|
||||||
|
*/
|
||||||
|
void exynos_cluster_power_down(int cluster)
|
||||||
|
{
|
||||||
|
__raw_writel(0, EXYNOS_COMMON_CONFIGURATION(cluster));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* exynos_cluster_power_up : power up the specified cluster
|
||||||
|
* @cluster : the cluster to power up
|
||||||
|
*/
|
||||||
|
void exynos_cluster_power_up(int cluster)
|
||||||
|
{
|
||||||
|
__raw_writel(S5P_CORE_LOCAL_PWR_EN,
|
||||||
|
EXYNOS_COMMON_CONFIGURATION(cluster));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* exynos_cluster_power_state : returns the power state of the cluster
|
||||||
|
* @cluster : the cluster to retrieve the power state from
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
int exynos_cluster_power_state(int cluster)
|
||||||
|
{
|
||||||
|
return (__raw_readl(EXYNOS_COMMON_STATUS(cluster)) &
|
||||||
|
S5P_CORE_LOCAL_PWR_EN);
|
||||||
|
}
|
||||||
|
|
||||||
static inline void __iomem *cpu_boot_reg_base(void)
|
static inline void __iomem *cpu_boot_reg_base(void)
|
||||||
{
|
{
|
||||||
if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_1_1)
|
if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_1_1)
|
||||||
|
|
|
@ -100,72 +100,6 @@ static int exynos_irq_set_wake(struct irq_data *data, unsigned int state)
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* exynos_core_power_down : power down the specified cpu
|
|
||||||
* @cpu : the cpu to power down
|
|
||||||
*
|
|
||||||
* Power down the specified cpu. The sequence must be finished by a
|
|
||||||
* call to cpu_do_idle()
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void exynos_cpu_power_down(int cpu)
|
|
||||||
{
|
|
||||||
__raw_writel(0, EXYNOS_ARM_CORE_CONFIGURATION(cpu));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* exynos_cpu_power_up : power up the specified cpu
|
|
||||||
* @cpu : the cpu to power up
|
|
||||||
*
|
|
||||||
* Power up the specified cpu
|
|
||||||
*/
|
|
||||||
void exynos_cpu_power_up(int cpu)
|
|
||||||
{
|
|
||||||
__raw_writel(S5P_CORE_LOCAL_PWR_EN,
|
|
||||||
EXYNOS_ARM_CORE_CONFIGURATION(cpu));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* exynos_cpu_power_state : returns the power state of the cpu
|
|
||||||
* @cpu : the cpu to retrieve the power state from
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
int exynos_cpu_power_state(int cpu)
|
|
||||||
{
|
|
||||||
return (__raw_readl(EXYNOS_ARM_CORE_STATUS(cpu)) &
|
|
||||||
S5P_CORE_LOCAL_PWR_EN);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* exynos_cluster_power_down : power down the specified cluster
|
|
||||||
* @cluster : the cluster to power down
|
|
||||||
*/
|
|
||||||
void exynos_cluster_power_down(int cluster)
|
|
||||||
{
|
|
||||||
__raw_writel(0, EXYNOS_COMMON_CONFIGURATION(cluster));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* exynos_cluster_power_up : power up the specified cluster
|
|
||||||
* @cluster : the cluster to power up
|
|
||||||
*/
|
|
||||||
void exynos_cluster_power_up(int cluster)
|
|
||||||
{
|
|
||||||
__raw_writel(S5P_CORE_LOCAL_PWR_EN,
|
|
||||||
EXYNOS_COMMON_CONFIGURATION(cluster));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* exynos_cluster_power_state : returns the power state of the cluster
|
|
||||||
* @cluster : the cluster to retrieve the power state from
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
int exynos_cluster_power_state(int cluster)
|
|
||||||
{
|
|
||||||
return (__raw_readl(EXYNOS_COMMON_STATUS(cluster)) &
|
|
||||||
S5P_CORE_LOCAL_PWR_EN);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define EXYNOS_BOOT_VECTOR_ADDR (samsung_rev() == EXYNOS4210_REV_1_1 ? \
|
#define EXYNOS_BOOT_VECTOR_ADDR (samsung_rev() == EXYNOS4210_REV_1_1 ? \
|
||||||
S5P_INFORM7 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \
|
S5P_INFORM7 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \
|
||||||
(sysram_base_addr + 0x24) : S5P_INFORM0))
|
(sysram_base_addr + 0x24) : S5P_INFORM0))
|
||||||
|
|
Загрузка…
Ссылка в новой задаче