Make thread_saved_pc take a task_struct ptr.
diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h
index 9fdc376..ec48a38 100644
--- a/include/asm-i386/processor.h
+++ b/include/asm-i386/processor.h
@@ -439,9 +439,9 @@
 /*
  * Return saved PC of a blocked thread.
  */
-static inline unsigned long thread_saved_pc(struct thread_info *ti)
+static inline unsigned long thread_saved_pc(struct task_struct *tsk)
 {
-	return ((unsigned long *)ti->task->thread->esp)[3];
+	return ((unsigned long *)tsk->thread->esp)[3];
 }
 
 unsigned long get_wchan(struct task_struct *p);
diff --git a/include/asm-sparc64/processor.h b/include/asm-sparc64/processor.h
index dbeacf2..4e8cbdf 100644
--- a/include/asm-sparc64/processor.h
+++ b/include/asm-sparc64/processor.h
@@ -1,4 +1,4 @@
-/* $Id: processor.h,v 1.82 2002-02-09 19:49:31 davem Exp $
+/* $Id: processor.h,v 1.83 2002-02-10 06:04:33 davem Exp $
  * include/asm-sparc64/processor.h
  *
  * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
@@ -79,8 +79,8 @@
 #ifndef __ASSEMBLY__
 
 /* Return saved PC of a blocked thread. */
-struct thread_info;
-extern unsigned long thread_saved_pc(struct thread_info *);
+struct task_struct;
+extern unsigned long thread_saved_pc(struct task_struct *);
 
 /* On Uniprocessor, even in RMO processes see TSO semantics */
 #ifdef CONFIG_SMP
diff --git a/kernel/sched.c b/kernel/sched.c
index acda87e..6fc59ef 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -1209,12 +1209,12 @@
 	if (p == current)
 		printk(" current  ");
 	else
-		printk(" %08lX ", thread_saved_pc(p->thread_info));
+		printk(" %08lX ", thread_saved_pc(p));
 #else
 	if (p == current)
 		printk("   current task   ");
 	else
-		printk(" %016lx ", thread_saved_pc(p->thread_info));
+		printk(" %016lx ", thread_saved_pc(p));
 #endif
 	{
 		unsigned long * n = (unsigned long *) (p+1);