mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-10 18:07:46 +00:00
On Tue, Oct 31, Hugh Dickins wrote:
> +++ linux/include/asm-powerpc/current.h 2006-10-30 19:27:05.000000000 +0000
> +static inline struct task_struct *get_current(void)
> +{
> + struct task_struct *task;
> +
> + __asm__ __volatile__("ld %0,%1(13)"
> + : "=r" (task)
> + : "i" (offsetof(struct paca_struct, __current)));
This breaks compile of 2.6.18.8:
CC [M] drivers/media/video/pwc/pwc-uncompress.o
In file included from /home/olaf/kernel/linux-2.6.18.8/drivers/media/video/pwc/pwc-uncompress.c:29:
include2/asm/current.h: In function 'get_current':
include2/asm/current.h:23: warning: implicit declaration of function 'offsetof'
include2/asm/current.h:23: error: expected expression before 'struct'
make[5]: *** [drivers/media/video/pwc/pwc-uncompress.o] Error 1
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
41 lines
835 B
C
41 lines
835 B
C
#ifndef _ASM_POWERPC_CURRENT_H
|
|
#define _ASM_POWERPC_CURRENT_H
|
|
#ifdef __KERNEL__
|
|
|
|
/*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version
|
|
* 2 of the License, or (at your option) any later version.
|
|
*/
|
|
|
|
struct task_struct;
|
|
|
|
#ifdef __powerpc64__
|
|
#include <linux/stddef.h>
|
|
#include <asm/paca.h>
|
|
|
|
static inline struct task_struct *get_current(void)
|
|
{
|
|
struct task_struct *task;
|
|
|
|
__asm__ __volatile__("ld %0,%1(13)"
|
|
: "=r" (task)
|
|
: "i" (offsetof(struct paca_struct, __current)));
|
|
|
|
return task;
|
|
}
|
|
#define current get_current()
|
|
|
|
#else
|
|
|
|
/*
|
|
* We keep `current' in r2 for speed.
|
|
*/
|
|
register struct task_struct *current asm ("r2");
|
|
|
|
#endif
|
|
|
|
#endif /* __KERNEL__ */
|
|
#endif /* _ASM_POWERPC_CURRENT_H */
|