ppc: Create a stack frame for wait_ticks()

wait_ticks() calls get_ticks() without building a back chain which
makes gdb unhappy when doing back trace. This can also cause
improper memory accesses.

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
diff --git a/arch/powerpc/lib/ticks.S b/arch/powerpc/lib/ticks.S
index b8d25b7..1781039 100644
--- a/arch/powerpc/lib/ticks.S
+++ b/arch/powerpc/lib/ticks.S
@@ -47,7 +47,9 @@
  */
 	.globl	wait_ticks
 wait_ticks:
-	mflr	r8		/* save link register */
+	stwu	r1, -16(r1)
+	mflr	r0		/* save link register */
+	stw	r0, 20(r1)	/* Use r0 or GDB will be unhappy */
 	mr	r7, r3		/* save tick count */
 	bl	get_ticks	/* Get start time */
 
@@ -61,5 +63,6 @@
 	subfe.	r3, r3, r6
 	bge	1b		/* Loop until time expired */
 
-	mtlr	r8		/* restore link register */
+	mtlr	r0		/* restore link register */
+	addi	r1,r1,16
 	blr