Re: [PATCH v2 1/2] m68k: Make thread_info.h usable from assembly.

From: Sam Ravnborg
Date: Sun Sep 27 2009 - 07:58:47 EST


On Sun, Sep 27, 2009 at 11:55:55AM +0200, Geert Uytterhoeven wrote:
> On Wed, Sep 16, 2009 at 18:44, Tim Abbott <tabbott@xxxxxxxxxxx> wrote:
> > Signed-off-by: Tim Abbott <tabbott@xxxxxxxxxxx>
> > Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> > Cc: Roman Zippel <zippel@xxxxxxxxxxxxxx>
> > Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx
> > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx>
> > ---
> >  arch/m68k/include/asm/thread_info_mm.h |    2 ++
> >  1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/m68k/include/asm/thread_info_mm.h b/arch/m68k/include/asm/thread_info_mm.h
> > index b6da388..5f36cf1 100644
> > --- a/arch/m68k/include/asm/thread_info_mm.h
> > +++ b/arch/m68k/include/asm/thread_info_mm.h
> > @@ -8,6 +8,7 @@
> >  #include <asm/types.h>
> >  #include <asm/page.h>
> >
> > +#ifndef __ASSEMBLY__
> >  struct thread_info {
> >        struct task_struct      *task;          /* main task structure */
> >        unsigned long           flags;
> > @@ -16,6 +17,7 @@ struct thread_info {
> >        __u32 cpu; /* should always be 0 on m68k */
> >        struct restart_block    restart_block;
> >  };
> > +#endif /* __ASSEMBLY__ */
> >
> >  #define PREEMPT_ACTIVE         0x4000000
>
> This is not sufficient. <asm/thread_info_mm.h> pulls in <asm/current.h>,
> which contains C only. So you also need:
>
> --- a/arch/m68k/include/asm/thread_info_mm.h
> +++ b/arch/m68k/include/asm/thread_info_mm.h
> @@ -4,11 +4,12 @@
> #ifndef ASM_OFFSETS_C
> #include <asm/asm-offsets.h>
> #endif
> -#include <asm/current.h>
> #include <asm/types.h>
> #include <asm/page.h>
>
> #ifndef __ASSEMBLY__
> +#include <asm/current.h>
> +
> struct thread_info {
> struct task_struct *task; /* main task structure */
> unsigned long flags;


upstream m68k does not build for me so I could not test.
But I think the correct fix is to drop the include or current from thread_info.
No-one except m68k needs to include current.h in thread_info.h.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/