Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit feb72f3b authored by Vivek Kutal's avatar Vivek Kutal Committed by Tony Lindgren
Browse files

ARM: OMAP1: Remove omap_sram_idle()



This patch removes omap_sram_idle() that is no longer used.

The function called in pm_idle is omap_sram_suspend, omap_sram_idle() is
not used anywhere in omap1.

Signed-off-by: default avatarVivek Kutal <vivek.kutal@celunite.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 010bb0cf
Loading
Loading
Loading
Loading
+1 −8
Original line number Original line Diff line number Diff line
@@ -95,7 +95,6 @@ static struct kobj_attribute sleep_while_idle_attr =


#endif
#endif


static void (*omap_sram_idle)(void) = NULL;
static void (*omap_sram_suspend)(unsigned long r0, unsigned long r1) = NULL;
static void (*omap_sram_suspend)(unsigned long r0, unsigned long r1) = NULL;


/*
/*
@@ -676,23 +675,17 @@ static int __init omap_pm_init(void)
	 * memory the MPU can see when it wakes up.
	 * memory the MPU can see when it wakes up.
	 */
	 */
	if (cpu_is_omap730()) {
	if (cpu_is_omap730()) {
		omap_sram_idle = omap_sram_push(omap730_idle_loop_suspend,
						omap730_idle_loop_suspend_sz);
		omap_sram_suspend = omap_sram_push(omap730_cpu_suspend,
		omap_sram_suspend = omap_sram_push(omap730_cpu_suspend,
						   omap730_cpu_suspend_sz);
						   omap730_cpu_suspend_sz);
	} else if (cpu_is_omap15xx()) {
	} else if (cpu_is_omap15xx()) {
		omap_sram_idle = omap_sram_push(omap1510_idle_loop_suspend,
						omap1510_idle_loop_suspend_sz);
		omap_sram_suspend = omap_sram_push(omap1510_cpu_suspend,
		omap_sram_suspend = omap_sram_push(omap1510_cpu_suspend,
						   omap1510_cpu_suspend_sz);
						   omap1510_cpu_suspend_sz);
	} else if (cpu_is_omap16xx()) {
	} else if (cpu_is_omap16xx()) {
		omap_sram_idle = omap_sram_push(omap1610_idle_loop_suspend,
						omap1610_idle_loop_suspend_sz);
		omap_sram_suspend = omap_sram_push(omap1610_cpu_suspend,
		omap_sram_suspend = omap_sram_push(omap1610_cpu_suspend,
						   omap1610_cpu_suspend_sz);
						   omap1610_cpu_suspend_sz);
	}
	}


	if (omap_sram_idle == NULL || omap_sram_suspend == NULL) {
	if (omap_sram_suspend == NULL) {
		printk(KERN_ERR "PM not initialized: Missing SRAM support\n");
		printk(KERN_ERR "PM not initialized: Missing SRAM support\n");
		return -ENODEV;
		return -ENODEV;
	}
	}
+0 −161
Original line number Original line Diff line number Diff line
@@ -39,167 +39,6 @@


		.text
		.text


/*
 * Forces OMAP into idle state
 *
 * omapXXXX_idle_loop_suspend()
 *
 * Note: This code get's copied to internal SRAM at boot. When the OMAP
 *	 wakes up it continues execution at the point it went to sleep.
 *
 * Note: Because of slightly different configuration values we have
 *       processor specific functions here.
 */

#if defined(CONFIG_ARCH_OMAP730)
ENTRY(omap730_idle_loop_suspend)

	stmfd	sp!, {r0 - r12, lr}		@ save registers on stack

	@ load base address of ARM_IDLECT1 and ARM_IDLECT2
	mov	r4, #CLKGEN_REG_ASM_BASE & 0xff000000
	orr	r4, r4, #CLKGEN_REG_ASM_BASE & 0x00ff0000
	orr	r4, r4, #CLKGEN_REG_ASM_BASE & 0x0000ff00

	@ turn off clock domains
	@ get ARM_IDLECT2 into r2
	ldrh	r2, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
	mov	r5, #OMAP730_IDLECT2_SLEEP_VAL & 0xff
	orr	r5, r5, #OMAP730_IDLECT2_SLEEP_VAL & 0xff00
	strh	r5, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]

	@ request ARM idle
	@ get ARM_IDLECT1 into r1
	ldrh	r1, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
	orr	r3, r1, #OMAP730_IDLE_LOOP_REQUEST & 0xffff
	strh	r3, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]

	mov	r5, #IDLE_WAIT_CYCLES & 0xff
	orr	r5, r5, #IDLE_WAIT_CYCLES & 0xff00
l_730:	subs	r5, r5, #1
	bne	l_730
/*
 * Let's wait for the next clock tick to wake us up.
 */
	mov	r0, #0
	mcr	p15, 0, r0, c7, c0, 4		@ wait for interrupt
/*
 * omap730_idle_loop_suspend()'s resume point.
 *
 * It will just start executing here, so we'll restore stuff from the
 * stack, reset the ARM_IDLECT1 and ARM_IDLECT2.
 */

	@ restore ARM_IDLECT1 and ARM_IDLECT2 and return
	@ r1 has ARM_IDLECT1 and r2 still has ARM_IDLECT2
	strh	r2, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
	strh	r1, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]

	ldmfd	sp!, {r0 - r12, pc}		@ restore regs and return

ENTRY(omap730_idle_loop_suspend_sz)
	.word	. - omap730_idle_loop_suspend
#endif /* CONFIG_ARCH_OMAP730 */

#ifdef CONFIG_ARCH_OMAP15XX
ENTRY(omap1510_idle_loop_suspend)

	stmfd	sp!, {r0 - r12, lr}		@ save registers on stack

	@ load base address of ARM_IDLECT1 and ARM_IDLECT2
	mov	r4, #CLKGEN_REG_ASM_BASE & 0xff000000
	orr	r4, r4, #CLKGEN_REG_ASM_BASE & 0x00ff0000
	orr	r4, r4, #CLKGEN_REG_ASM_BASE & 0x0000ff00

	@ turn off clock domains
	@ get ARM_IDLECT2 into r2
	ldrh	r2, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
	mov	r5, #OMAP1510_IDLE_CLOCK_DOMAINS & 0xff
	orr	r5, r5, #OMAP1510_IDLE_CLOCK_DOMAINS & 0xff00
	strh	r5, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]

	@ request ARM idle
	@ get ARM_IDLECT1 into r1
	ldrh	r1, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
	orr	r3, r1, #OMAP1510_IDLE_LOOP_REQUEST & 0xffff
	strh	r3, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]

	mov	r5, #IDLE_WAIT_CYCLES & 0xff
	orr	r5, r5, #IDLE_WAIT_CYCLES & 0xff00
l_1510:	subs	r5, r5, #1
	bne	l_1510
/*
 * Let's wait for the next clock tick to wake us up.
 */
	mov	r0, #0
	mcr	p15, 0, r0, c7, c0, 4		@ wait for interrupt
/*
 * omap1510_idle_loop_suspend()'s resume point.
 *
 * It will just start executing here, so we'll restore stuff from the
 * stack, reset the ARM_IDLECT1 and ARM_IDLECT2.
 */

	@ restore ARM_IDLECT1 and ARM_IDLECT2 and return
	@ r1 has ARM_IDLECT1 and r2 still has ARM_IDLECT2
	strh	r2, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
	strh	r1, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]

	ldmfd	sp!, {r0 - r12, pc}		@ restore regs and return

ENTRY(omap1510_idle_loop_suspend_sz)
	.word	. - omap1510_idle_loop_suspend
#endif /* CONFIG_ARCH_OMAP15XX */

#if defined(CONFIG_ARCH_OMAP16XX)
ENTRY(omap1610_idle_loop_suspend)

	stmfd	sp!, {r0 - r12, lr}		@ save registers on stack

	@ load base address of ARM_IDLECT1 and ARM_IDLECT2
	mov	r4, #CLKGEN_REG_ASM_BASE & 0xff000000
	orr	r4, r4, #CLKGEN_REG_ASM_BASE & 0x00ff0000
	orr	r4, r4, #CLKGEN_REG_ASM_BASE & 0x0000ff00

	@ turn off clock domains
	@ get ARM_IDLECT2 into r2
	ldrh	r2, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
	mov	r5, #OMAP1610_IDLECT2_SLEEP_VAL & 0xff
	orr	r5, r5, #OMAP1610_IDLECT2_SLEEP_VAL & 0xff00
	strh	r5, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]

	@ request ARM idle
	@ get ARM_IDLECT1 into r1
	ldrh	r1, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
	orr	r3, r1, #OMAP1610_IDLE_LOOP_REQUEST & 0xffff
	strh	r3, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]

	mov	r5, #IDLE_WAIT_CYCLES & 0xff
	orr	r5, r5, #IDLE_WAIT_CYCLES & 0xff00
l_1610:	subs	r5, r5, #1
	bne	l_1610
/*
 * Let's wait for the next clock tick to wake us up.
 */
	mov	r0, #0
	mcr	p15, 0, r0, c7, c0, 4		@ wait for interrupt
/*
 * omap1610_idle_loop_suspend()'s resume point.
 *
 * It will just start executing here, so we'll restore stuff from the
 * stack, reset the ARM_IDLECT1 and ARM_IDLECT2.
 */

	@ restore ARM_IDLECT1 and ARM_IDLECT2 and return
	@ r1 has ARM_IDLECT1 and r2 still has ARM_IDLECT2
	strh	r2, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
	strh	r1, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]

	ldmfd	sp!, {r0 - r12, pc}		@ restore regs and return

ENTRY(omap1610_idle_loop_suspend_sz)
	.word	. - omap1610_idle_loop_suspend
#endif /* CONFIG_ARCH_OMAP16XX */


/*
/*
 * Forces OMAP into deep sleep state
 * Forces OMAP into deep sleep state