lkml.org 
[lkml]   [2012]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 05/35] Disintegrate asm/system.h for Blackfin [ver #2]
    From
    On Tue, Mar 13, 2012 at 7:36 AM, David Howells <dhowells@redhat.com> wrote:
    > Disintegrate asm/system.h for Blackfin.
    >
    > Signed-off-by: David Howells <dhowells@redhat.com>
    > cc: uclinux-dist-devel@blackfin.uclinux.org

    Thanks, i'll apply it.

    > ---
    >
    >  arch/blackfin/include/asm/atomic.h      |    2
    >  arch/blackfin/include/asm/barrier.h     |   48 ++++++++
    >  arch/blackfin/include/asm/cmpxchg.h     |  132 +++++++++++++++++++++
    >  arch/blackfin/include/asm/exec.h        |    1
    >  arch/blackfin/include/asm/irq_handler.h |    1
    >  arch/blackfin/include/asm/switch_to.h   |   39 ++++++
    >  arch/blackfin/include/asm/system.h      |  197 +------------------------------
    >  arch/blackfin/kernel/asm-offsets.c      |    1
    >  arch/blackfin/kernel/ipipe.c            |    1
    >  arch/blackfin/kernel/kgdb_test.c        |    1
    >  arch/blackfin/kernel/process.c          |    1
    >  arch/blackfin/kernel/ptrace.c           |    1
    >  arch/blackfin/kernel/reboot.c           |    1
    >  arch/blackfin/kernel/setup.c            |    1
    >  arch/blackfin/kernel/trace.c            |    1
    >  arch/blackfin/kernel/traps.c            |    1
    >  16 files changed, 233 insertions(+), 196 deletions(-)
    >  create mode 100644 arch/blackfin/include/asm/barrier.h
    >  create mode 100644 arch/blackfin/include/asm/cmpxchg.h
    >  create mode 100644 arch/blackfin/include/asm/exec.h
    >  create mode 100644 arch/blackfin/include/asm/switch_to.h
    >
    > diff --git a/arch/blackfin/include/asm/atomic.h b/arch/blackfin/include/asm/atomic.h
    > index 54c6e28..c8db653 100644
    > --- a/arch/blackfin/include/asm/atomic.h
    > +++ b/arch/blackfin/include/asm/atomic.h
    > @@ -7,6 +7,8 @@
    >  #ifndef __ARCH_BLACKFIN_ATOMIC__
    >  #define __ARCH_BLACKFIN_ATOMIC__
    >
    > +#include <asm/cmpxchg.h>
    > +
    >  #ifdef CONFIG_SMP
    >
    >  #include <linux/linkage.h>
    > diff --git a/arch/blackfin/include/asm/barrier.h b/arch/blackfin/include/asm/barrier.h
    > new file mode 100644
    > index 0000000..ebb1895
    > --- /dev/null
    > +++ b/arch/blackfin/include/asm/barrier.h
    > @@ -0,0 +1,48 @@
    > +/*
    > + * Copyright 2004-2009 Analog Devices Inc.
    > + *               Tony Kou (tonyko@lineo.ca)
    > + *
    > + * Licensed under the GPL-2 or later
    > + */
    > +
    > +#ifndef _BLACKFIN_BARRIER_H
    > +#define _BLACKFIN_BARRIER_H
    > +
    > +#include <asm/cache.h>
    > +
    > +#define nop()  __asm__ __volatile__ ("nop;\n\t" : : )
    > +
    > +/*
    > + * Force strict CPU ordering.
    > + */
    > +#ifdef CONFIG_SMP
    > +
    > +#ifdef __ARCH_SYNC_CORE_DCACHE
    > +/* Force Core data cache coherence */
    > +# define mb()  do { barrier(); smp_check_barrier(); smp_mark_barrier(); } while (0)
    > +# define rmb() do { barrier(); smp_check_barrier(); } while (0)
    > +# define wmb() do { barrier(); smp_mark_barrier(); } while (0)
    > +# define read_barrier_depends()        do { barrier(); smp_check_barrier(); } while (0)
    > +#else
    > +# define mb()  barrier()
    > +# define rmb() barrier()
    > +# define wmb() barrier()
    > +# define read_barrier_depends()        do { } while (0)
    > +#endif
    > +
    > +#else /* !CONFIG_SMP */
    > +
    > +#define mb()   barrier()
    > +#define rmb()  barrier()
    > +#define wmb()  barrier()
    > +#define read_barrier_depends() do { } while (0)
    > +
    > +#endif /* !CONFIG_SMP */
    > +
    > +#define smp_mb()  mb()
    > +#define smp_rmb() rmb()
    > +#define smp_wmb() wmb()
    > +#define set_mb(var, value) do { var = value; mb(); } while (0)
    > +#define smp_read_barrier_depends()     read_barrier_depends()
    > +
    > +#endif /* _BLACKFIN_BARRIER_H */
    > diff --git a/arch/blackfin/include/asm/cmpxchg.h b/arch/blackfin/include/asm/cmpxchg.h
    > new file mode 100644
    > index 0000000..ba2484f
    > --- /dev/null
    > +++ b/arch/blackfin/include/asm/cmpxchg.h
    > @@ -0,0 +1,132 @@
    > +/*
    > + * Copyright 2004-2011 Analog Devices Inc.
    > + *
    > + * Licensed under the GPL-2 or later.
    > + */
    > +
    > +#ifndef __ARCH_BLACKFIN_CMPXCHG__
    > +#define __ARCH_BLACKFIN_CMPXCHG__
    > +
    > +#ifdef CONFIG_SMP
    > +
    > +#include <linux/linkage.h>
    > +
    > +asmlinkage unsigned long __raw_xchg_1_asm(volatile void *ptr, unsigned long value);
    > +asmlinkage unsigned long __raw_xchg_2_asm(volatile void *ptr, unsigned long value);
    > +asmlinkage unsigned long __raw_xchg_4_asm(volatile void *ptr, unsigned long value);
    > +asmlinkage unsigned long __raw_cmpxchg_1_asm(volatile void *ptr,
    > +                                       unsigned long new, unsigned long old);
    > +asmlinkage unsigned long __raw_cmpxchg_2_asm(volatile void *ptr,
    > +                                       unsigned long new, unsigned long old);
    > +asmlinkage unsigned long __raw_cmpxchg_4_asm(volatile void *ptr,
    > +                                       unsigned long new, unsigned long old);
    > +
    > +static inline unsigned long __xchg(unsigned long x, volatile void *ptr,
    > +                                  int size)
    > +{
    > +       unsigned long tmp;
    > +
    > +       switch (size) {
    > +       case 1:
    > +               tmp = __raw_xchg_1_asm(ptr, x);
    > +               break;
    > +       case 2:
    > +               tmp = __raw_xchg_2_asm(ptr, x);
    > +               break;
    > +       case 4:
    > +               tmp = __raw_xchg_4_asm(ptr, x);
    > +               break;
    > +       }
    > +
    > +       return tmp;
    > +}
    > +
    > +/*
    > + * Atomic compare and exchange.  Compare OLD with MEM, if identical,
    > + * store NEW in MEM.  Return the initial value in MEM.  Success is
    > + * indicated by comparing RETURN with OLD.
    > + */
    > +static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
    > +                                     unsigned long new, int size)
    > +{
    > +       unsigned long tmp;
    > +
    > +       switch (size) {
    > +       case 1:
    > +               tmp = __raw_cmpxchg_1_asm(ptr, new, old);
    > +               break;
    > +       case 2:
    > +               tmp = __raw_cmpxchg_2_asm(ptr, new, old);
    > +               break;
    > +       case 4:
    > +               tmp = __raw_cmpxchg_4_asm(ptr, new, old);
    > +               break;
    > +       }
    > +
    > +       return tmp;
    > +}
    > +#define cmpxchg(ptr, o, n) \
    > +       ((__typeof__(*(ptr)))__cmpxchg((ptr), (unsigned long)(o), \
    > +               (unsigned long)(n), sizeof(*(ptr))))
    > +
    > +#else /* !CONFIG_SMP */
    > +
    > +#include <mach/blackfin.h>
    > +#include <asm/irqflags.h>
    > +
    > +struct __xchg_dummy {
    > +       unsigned long a[100];
    > +};
    > +#define __xg(x) ((volatile struct __xchg_dummy *)(x))
    > +
    > +static inline unsigned long __xchg(unsigned long x, volatile void *ptr,
    > +                                  int size)
    > +{
    > +       unsigned long tmp = 0;
    > +       unsigned long flags;
    > +
    > +       flags = hard_local_irq_save();
    > +
    > +       switch (size) {
    > +       case 1:
    > +               __asm__ __volatile__
    > +                       ("%0 = b%2 (z);\n\t"
    > +                        "b%2 = %1;\n\t"
    > +                        : "=&d" (tmp) : "d" (x), "m" (*__xg(ptr)) : "memory");
    > +               break;
    > +       case 2:
    > +               __asm__ __volatile__
    > +                       ("%0 = w%2 (z);\n\t"
    > +                        "w%2 = %1;\n\t"
    > +                        : "=&d" (tmp) : "d" (x), "m" (*__xg(ptr)) : "memory");
    > +               break;
    > +       case 4:
    > +               __asm__ __volatile__
    > +                       ("%0 = %2;\n\t"
    > +                        "%2 = %1;\n\t"
    > +                        : "=&d" (tmp) : "d" (x), "m" (*__xg(ptr)) : "memory");
    > +               break;
    > +       }
    > +       hard_local_irq_restore(flags);
    > +       return tmp;
    > +}
    > +
    > +#include <asm-generic/cmpxchg-local.h>
    > +
    > +/*
    > + * cmpxchg_local and cmpxchg64_local are atomic wrt current CPU. Always make
    > + * them available.
    > + */
    > +#define cmpxchg_local(ptr, o, n)                                              \
    > +       ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\
    > +                       (unsigned long)(n), sizeof(*(ptr))))
    > +#define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n))
    > +
    > +#include <asm-generic/cmpxchg.h>
    > +
    > +#endif /* !CONFIG_SMP */
    > +
    > +#define xchg(ptr, x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), sizeof(*(ptr))))
    > +#define tas(ptr) ((void)xchg((ptr), 1))
    > +
    > +#endif /* __ARCH_BLACKFIN_CMPXCHG__ */
    > diff --git a/arch/blackfin/include/asm/exec.h b/arch/blackfin/include/asm/exec.h
    > new file mode 100644
    > index 0000000..54c2e1d
    > --- /dev/null
    > +++ b/arch/blackfin/include/asm/exec.h
    > @@ -0,0 +1 @@
    > +/* define arch_align_stack() here */
    > diff --git a/arch/blackfin/include/asm/irq_handler.h b/arch/blackfin/include/asm/irq_handler.h
    > index ee73f79..4fbf835 100644
    > --- a/arch/blackfin/include/asm/irq_handler.h
    > +++ b/arch/blackfin/include/asm/irq_handler.h
    > @@ -9,6 +9,7 @@
    >
    >  #include <linux/types.h>
    >  #include <linux/linkage.h>
    > +#include <mach/irq.h>
    >
    >  /* init functions only */
    >  extern int __init init_arch_irq(void);
    > diff --git a/arch/blackfin/include/asm/switch_to.h b/arch/blackfin/include/asm/switch_to.h
    > new file mode 100644
    > index 0000000..aaf671b
    > --- /dev/null
    > +++ b/arch/blackfin/include/asm/switch_to.h
    > @@ -0,0 +1,39 @@
    > +/*
    > + * Copyright 2004-2009 Analog Devices Inc.
    > + *               Tony Kou (tonyko@lineo.ca)
    > + *
    > + * Licensed under the GPL-2 or later
    > + */
    > +
    > +#ifndef _BLACKFIN_SWITCH_TO_H
    > +#define _BLACKFIN_SWITCH_TO_H
    > +
    > +#define prepare_to_switch()     do { } while(0)
    > +
    > +/*
    > + * switch_to(n) should switch tasks to task ptr, first checking that
    > + * ptr isn't the current task, in which case it does nothing.
    > + */
    > +
    > +#include <asm/l1layout.h>
    > +#include <asm/mem_map.h>
    > +
    > +asmlinkage struct task_struct *resume(struct task_struct *prev, struct task_struct *next);
    > +
    > +#ifndef CONFIG_SMP
    > +#define switch_to(prev,next,last) \
    > +do {    \
    > +       memcpy (&task_thread_info(prev)->l1_task_info, L1_SCRATCH_TASK_INFO, \
    > +               sizeof *L1_SCRATCH_TASK_INFO); \
    > +       memcpy (L1_SCRATCH_TASK_INFO, &task_thread_info(next)->l1_task_info, \
    > +               sizeof *L1_SCRATCH_TASK_INFO); \
    > +       (last) = resume (prev, next);   \
    > +} while (0)
    > +#else
    > +#define switch_to(prev, next, last) \
    > +do {    \
    > +       (last) = resume(prev, next);   \
    > +} while (0)
    > +#endif
    > +
    > +#endif /* _BLACKFIN_SWITCH_TO_H */
    > diff --git a/arch/blackfin/include/asm/system.h b/arch/blackfin/include/asm/system.h
    > index 44bd0cc..a7f4057 100644
    > --- a/arch/blackfin/include/asm/system.h
    > +++ b/arch/blackfin/include/asm/system.h
    > @@ -1,192 +1,5 @@
    > -/*
    > - * Copyright 2004-2009 Analog Devices Inc.
    > - *               Tony Kou (tonyko@lineo.ca)
    > - *
    > - * Licensed under the GPL-2 or later
    > - */
    > -
    > -#ifndef _BLACKFIN_SYSTEM_H
    > -#define _BLACKFIN_SYSTEM_H
    > -
    > -#include <linux/linkage.h>
    > -#include <linux/irqflags.h>
    > -#include <mach/anomaly.h>
    > -#include <asm/cache.h>
    > -#include <asm/pda.h>
    > -#include <asm/irq.h>
    > -
    > -/*
    > - * Force strict CPU ordering.
    > - */
    > -#define nop()  __asm__ __volatile__ ("nop;\n\t" : : )
    > -#define smp_mb()  mb()
    > -#define smp_rmb() rmb()
    > -#define smp_wmb() wmb()
    > -#define set_mb(var, value) do { var = value; mb(); } while (0)
    > -#define smp_read_barrier_depends()     read_barrier_depends()
    > -
    > -#ifdef CONFIG_SMP
    > -asmlinkage unsigned long __raw_xchg_1_asm(volatile void *ptr, unsigned long value);
    > -asmlinkage unsigned long __raw_xchg_2_asm(volatile void *ptr, unsigned long value);
    > -asmlinkage unsigned long __raw_xchg_4_asm(volatile void *ptr, unsigned long value);
    > -asmlinkage unsigned long __raw_cmpxchg_1_asm(volatile void *ptr,
    > -                                       unsigned long new, unsigned long old);
    > -asmlinkage unsigned long __raw_cmpxchg_2_asm(volatile void *ptr,
    > -                                       unsigned long new, unsigned long old);
    > -asmlinkage unsigned long __raw_cmpxchg_4_asm(volatile void *ptr,
    > -                                       unsigned long new, unsigned long old);
    > -
    > -#ifdef __ARCH_SYNC_CORE_DCACHE
    > -/* Force Core data cache coherence */
    > -# define mb()  do { barrier(); smp_check_barrier(); smp_mark_barrier(); } while (0)
    > -# define rmb() do { barrier(); smp_check_barrier(); } while (0)
    > -# define wmb() do { barrier(); smp_mark_barrier(); } while (0)
    > -# define read_barrier_depends()        do { barrier(); smp_check_barrier(); } while (0)
    > -#else
    > -# define mb()  barrier()
    > -# define rmb() barrier()
    > -# define wmb() barrier()
    > -# define read_barrier_depends()        do { } while (0)
    > -#endif
    > -
    > -static inline unsigned long __xchg(unsigned long x, volatile void *ptr,
    > -                                  int size)
    > -{
    > -       unsigned long tmp;
    > -
    > -       switch (size) {
    > -       case 1:
    > -               tmp = __raw_xchg_1_asm(ptr, x);
    > -               break;
    > -       case 2:
    > -               tmp = __raw_xchg_2_asm(ptr, x);
    > -               break;
    > -       case 4:
    > -               tmp = __raw_xchg_4_asm(ptr, x);
    > -               break;
    > -       }
    > -
    > -       return tmp;
    > -}
    > -
    > -/*
    > - * Atomic compare and exchange.  Compare OLD with MEM, if identical,
    > - * store NEW in MEM.  Return the initial value in MEM.  Success is
    > - * indicated by comparing RETURN with OLD.
    > - */
    > -static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
    > -                                     unsigned long new, int size)
    > -{
    > -       unsigned long tmp;
    > -
    > -       switch (size) {
    > -       case 1:
    > -               tmp = __raw_cmpxchg_1_asm(ptr, new, old);
    > -               break;
    > -       case 2:
    > -               tmp = __raw_cmpxchg_2_asm(ptr, new, old);
    > -               break;
    > -       case 4:
    > -               tmp = __raw_cmpxchg_4_asm(ptr, new, old);
    > -               break;
    > -       }
    > -
    > -       return tmp;
    > -}
    > -#define cmpxchg(ptr, o, n) \
    > -       ((__typeof__(*(ptr)))__cmpxchg((ptr), (unsigned long)(o), \
    > -               (unsigned long)(n), sizeof(*(ptr))))
    > -
    > -#else /* !CONFIG_SMP */
    > -
    > -#define mb()   barrier()
    > -#define rmb()  barrier()
    > -#define wmb()  barrier()
    > -#define read_barrier_depends() do { } while (0)
    > -
    > -struct __xchg_dummy {
    > -       unsigned long a[100];
    > -};
    > -#define __xg(x) ((volatile struct __xchg_dummy *)(x))
    > -
    > -#include <mach/blackfin.h>
    > -
    > -static inline unsigned long __xchg(unsigned long x, volatile void *ptr,
    > -                                  int size)
    > -{
    > -       unsigned long tmp = 0;
    > -       unsigned long flags;
    > -
    > -       flags = hard_local_irq_save();
    > -
    > -       switch (size) {
    > -       case 1:
    > -               __asm__ __volatile__
    > -                       ("%0 = b%2 (z);\n\t"
    > -                        "b%2 = %1;\n\t"
    > -                        : "=&d" (tmp) : "d" (x), "m" (*__xg(ptr)) : "memory");
    > -               break;
    > -       case 2:
    > -               __asm__ __volatile__
    > -                       ("%0 = w%2 (z);\n\t"
    > -                        "w%2 = %1;\n\t"
    > -                        : "=&d" (tmp) : "d" (x), "m" (*__xg(ptr)) : "memory");
    > -               break;
    > -       case 4:
    > -               __asm__ __volatile__
    > -                       ("%0 = %2;\n\t"
    > -                        "%2 = %1;\n\t"
    > -                        : "=&d" (tmp) : "d" (x), "m" (*__xg(ptr)) : "memory");
    > -               break;
    > -       }
    > -       hard_local_irq_restore(flags);
    > -       return tmp;
    > -}
    > -
    > -#include <asm-generic/cmpxchg-local.h>
    > -
    > -/*
    > - * cmpxchg_local and cmpxchg64_local are atomic wrt current CPU. Always make
    > - * them available.
    > - */
    > -#define cmpxchg_local(ptr, o, n)                                              \
    > -       ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\
    > -                       (unsigned long)(n), sizeof(*(ptr))))
    > -#define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n))
    > -
    > -#include <asm-generic/cmpxchg.h>
    > -
    > -#endif /* !CONFIG_SMP */
    > -
    > -#define xchg(ptr, x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), sizeof(*(ptr))))
    > -#define tas(ptr) ((void)xchg((ptr), 1))
    > -
    > -#define prepare_to_switch()     do { } while(0)
    > -
    > -/*
    > - * switch_to(n) should switch tasks to task ptr, first checking that
    > - * ptr isn't the current task, in which case it does nothing.
    > - */
    > -
    > -#include <asm/l1layout.h>
    > -#include <asm/mem_map.h>
    > -
    > -asmlinkage struct task_struct *resume(struct task_struct *prev, struct task_struct *next);
    > -
    > -#ifndef CONFIG_SMP
    > -#define switch_to(prev,next,last) \
    > -do {    \
    > -       memcpy (&task_thread_info(prev)->l1_task_info, L1_SCRATCH_TASK_INFO, \
    > -               sizeof *L1_SCRATCH_TASK_INFO); \
    > -       memcpy (L1_SCRATCH_TASK_INFO, &task_thread_info(next)->l1_task_info, \
    > -               sizeof *L1_SCRATCH_TASK_INFO); \
    > -       (last) = resume (prev, next);   \
    > -} while (0)
    > -#else
    > -#define switch_to(prev, next, last) \
    > -do {    \
    > -       (last) = resume(prev, next);   \
    > -} while (0)
    > -#endif
    > -
    > -#endif /* _BLACKFIN_SYSTEM_H */
    > +/* FILE TO BE DELETED. DO NOT ADD STUFF HERE! */
    > +#include <asm/barrier.h>
    > +#include <asm/cmpxchg.h>
    > +#include <asm/exec.h>
    > +#include <asm/switch_to.h>
    > diff --git a/arch/blackfin/kernel/asm-offsets.c b/arch/blackfin/kernel/asm-offsets.c
    > index 17e3546..37fcae9 100644
    > --- a/arch/blackfin/kernel/asm-offsets.c
    > +++ b/arch/blackfin/kernel/asm-offsets.c
    > @@ -14,6 +14,7 @@
    >  #include <linux/irq.h>
    >  #include <linux/thread_info.h>
    >  #include <linux/kbuild.h>
    > +#include <asm/pda.h>
    >
    >  int main(void)
    >  {
    > diff --git a/arch/blackfin/kernel/ipipe.c b/arch/blackfin/kernel/ipipe.c
    > index dbe1122..f657b38 100644
    > --- a/arch/blackfin/kernel/ipipe.c
    > +++ b/arch/blackfin/kernel/ipipe.c
    > @@ -31,7 +31,6 @@
    >  #include <linux/kthread.h>
    >  #include <linux/unistd.h>
    >  #include <linux/io.h>
    > -#include <asm/system.h>
    >  #include <linux/atomic.h>
    >  #include <asm/irq_handler.h>
    >
    > diff --git a/arch/blackfin/kernel/kgdb_test.c b/arch/blackfin/kernel/kgdb_test.c
    > index 4a7dcfe..18ab004 100644
    > --- a/arch/blackfin/kernel/kgdb_test.c
    > +++ b/arch/blackfin/kernel/kgdb_test.c
    > @@ -13,7 +13,6 @@
    >
    >  #include <asm/current.h>
    >  #include <asm/uaccess.h>
    > -#include <asm/system.h>
    >
    >  #include <asm/blackfin.h>
    >
    > diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c
    > index 8dd0416..8c5369c 100644
    > --- a/arch/blackfin/kernel/process.c
    > +++ b/arch/blackfin/kernel/process.c
    > @@ -19,6 +19,7 @@
    >  #include <asm/blackfin.h>
    >  #include <asm/fixed_code.h>
    >  #include <asm/mem_map.h>
    > +#include <asm/irq.h>
    >
    >  asmlinkage void ret_from_fork(void);
    >
    > diff --git a/arch/blackfin/kernel/ptrace.c b/arch/blackfin/kernel/ptrace.c
    > index 75089f8..e1f88e0 100644
    > --- a/arch/blackfin/kernel/ptrace.c
    > +++ b/arch/blackfin/kernel/ptrace.c
    > @@ -20,7 +20,6 @@
    >
    >  #include <asm/page.h>
    >  #include <asm/pgtable.h>
    > -#include <asm/system.h>
    >  #include <asm/processor.h>
    >  #include <asm/asm-offsets.h>
    >  #include <asm/dma.h>
    > diff --git a/arch/blackfin/kernel/reboot.c b/arch/blackfin/kernel/reboot.c
    > index c4c0081..b0434f8 100644
    > --- a/arch/blackfin/kernel/reboot.c
    > +++ b/arch/blackfin/kernel/reboot.c
    > @@ -9,7 +9,6 @@
    >  #include <linux/interrupt.h>
    >  #include <asm/bfin-global.h>
    >  #include <asm/reboot.h>
    > -#include <asm/system.h>
    >  #include <asm/bfrom.h>
    >
    >  /* A system soft reset makes external memory unusable so force
    > diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
    > index d6102c8..2aa0193 100644
    > --- a/arch/blackfin/kernel/setup.c
    > +++ b/arch/blackfin/kernel/setup.c
    > @@ -30,6 +30,7 @@
    >  #include <asm/fixed_code.h>
    >  #include <asm/early_printk.h>
    >  #include <asm/irq_handler.h>
    > +#include <asm/pda.h>
    >
    >  u16 _bfin_swrst;
    >  EXPORT_SYMBOL(_bfin_swrst);
    > diff --git a/arch/blackfin/kernel/trace.c b/arch/blackfin/kernel/trace.c
    > index 050db44..44bbf2f 100644
    > --- a/arch/blackfin/kernel/trace.c
    > +++ b/arch/blackfin/kernel/trace.c
    > @@ -21,6 +21,7 @@
    >  #include <asm/fixed_code.h>
    >  #include <asm/traps.h>
    >  #include <asm/irq_handler.h>
    > +#include <asm/pda.h>
    >
    >  void decode_address(char *buf, unsigned long address)
    >  {
    > diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
    > index 655f25d..de5c2c3 100644
    > --- a/arch/blackfin/kernel/traps.c
    > +++ b/arch/blackfin/kernel/traps.c
    > @@ -17,6 +17,7 @@
    >  #include <asm/trace.h>
    >  #include <asm/fixed_code.h>
    >  #include <asm/pseudo_instructions.h>
    > +#include <asm/pda.h>
    >
    >  #ifdef CONFIG_KGDB
    >  # include <linux/kgdb.h>
    >
    > --
    > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    > the body of a message to majordomo@vger.kernel.org
    > More majordomo info at  http://vger.kernel.org/majordomo-info.html
    > Please read the FAQ at  http://www.tux.org/lkml/



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

    \
     
     \ /
      Last update: 2012-03-13 05:47    [W:0.074 / U:128.292 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site