Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 27 Feb 2013 03:50:22 +0000 (19:50 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 27 Feb 2013 03:50:22 +0000 (19:50 -0800)
Pull microblaze update from Michal Simek:
 "Microblaze changes.

  After my discussion with Arnd I have also added there asm-generic io
  patch which is Acked by him and Geert."

* 'next' of git://git.monstr.eu/linux-2.6-microblaze:
  asm-generic: io: Fix ioread16/32be and iowrite16/32be
  microblaze: Do not use module.h in files which are not modules
  microblaze: Fix coding style issues
  microblaze: Add missing return from debugfs_tlb
  microblaze: Makefile clean
  microblaze: Add .gitignore entries for auto-generated files
  microblaze: Fix strncpy_from_user macro

1  2 
arch/microblaze/kernel/process.c
arch/microblaze/kernel/ptrace.c
arch/microblaze/kernel/signal.c
include/asm-generic/io.h

@@@ -8,39 -8,40 +8,39 @@@
   * for more details.
   */
  
- #include <linux/module.h>
+ #include <linux/export.h>
  #include <linux/sched.h>
  #include <linux/pm.h>
  #include <linux/tick.h>
  #include <linux/bitops.h>
  #include <linux/ptrace.h>
  #include <asm/pgalloc.h>
- #include <asm/uaccess.h> /* for USER_DS macros */
+ #include <linux/uaccess.h> /* for USER_DS macros */
  #include <asm/cacheflush.h>
  
  void show_regs(struct pt_regs *regs)
  {
-       printk(KERN_INFO " Registers dump: mode=%X\r\n", regs->pt_mode);
-       printk(KERN_INFO " r1=%08lX, r2=%08lX, r3=%08lX, r4=%08lX\n",
+       pr_info(" Registers dump: mode=%X\r\n", regs->pt_mode);
+       pr_info(" r1=%08lX, r2=%08lX, r3=%08lX, r4=%08lX\n",
                                regs->r1, regs->r2, regs->r3, regs->r4);
-       printk(KERN_INFO " r5=%08lX, r6=%08lX, r7=%08lX, r8=%08lX\n",
+       pr_info(" r5=%08lX, r6=%08lX, r7=%08lX, r8=%08lX\n",
                                regs->r5, regs->r6, regs->r7, regs->r8);
-       printk(KERN_INFO " r9=%08lX, r10=%08lX, r11=%08lX, r12=%08lX\n",
+       pr_info(" r9=%08lX, r10=%08lX, r11=%08lX, r12=%08lX\n",
                                regs->r9, regs->r10, regs->r11, regs->r12);
-       printk(KERN_INFO " r13=%08lX, r14=%08lX, r15=%08lX, r16=%08lX\n",
+       pr_info(" r13=%08lX, r14=%08lX, r15=%08lX, r16=%08lX\n",
                                regs->r13, regs->r14, regs->r15, regs->r16);
-       printk(KERN_INFO " r17=%08lX, r18=%08lX, r19=%08lX, r20=%08lX\n",
+       pr_info(" r17=%08lX, r18=%08lX, r19=%08lX, r20=%08lX\n",
                                regs->r17, regs->r18, regs->r19, regs->r20);
-       printk(KERN_INFO " r21=%08lX, r22=%08lX, r23=%08lX, r24=%08lX\n",
+       pr_info(" r21=%08lX, r22=%08lX, r23=%08lX, r24=%08lX\n",
                                regs->r21, regs->r22, regs->r23, regs->r24);
-       printk(KERN_INFO " r25=%08lX, r26=%08lX, r27=%08lX, r28=%08lX\n",
+       pr_info(" r25=%08lX, r26=%08lX, r27=%08lX, r28=%08lX\n",
                                regs->r25, regs->r26, regs->r27, regs->r28);
-       printk(KERN_INFO " r29=%08lX, r30=%08lX, r31=%08lX, rPC=%08lX\n",
+       pr_info(" r29=%08lX, r30=%08lX, r31=%08lX, rPC=%08lX\n",
                                regs->r29, regs->r30, regs->r31, regs->pc);
-       printk(KERN_INFO " msr=%08lX, ear=%08lX, esr=%08lX, fsr=%08lX\n",
+       pr_info(" msr=%08lX, ear=%08lX, esr=%08lX, fsr=%08lX\n",
                                regs->msr, regs->ear, regs->esr, regs->fsr);
  }
  
 -void (*pm_idle)(void);
  void (*pm_power_off)(void) = NULL;
  EXPORT_SYMBOL(pm_power_off);
  
@@@ -97,10 -98,15 +97,10 @@@ void cpu_idle(void
  
        /* endless idle loop with no priority at all */
        while (1) {
 -              void (*idle)(void) = pm_idle;
 -
 -              if (!idle)
 -                      idle = default_idle;
 -
                tick_nohz_idle_enter();
                rcu_idle_enter();
                while (!need_resched())
 -                      idle();
 +                      default_idle();
                rcu_idle_exit();
                tick_nohz_idle_exit();
  
@@@ -40,7 -40,7 +40,7 @@@
  #include <asm/asm-offsets.h>
  #include <asm/cacheflush.h>
  #include <asm/syscall.h>
- #include <asm/io.h>
+ #include <linux/io.h>
  
  /* Returns the address where the register at REG_OFFS in P is stashed away. */
  static microblaze_reg_t *reg_save_addr(unsigned reg_offs,
@@@ -164,6 -164,29 +164,6 @@@ asmlinkage void do_syscall_trace_leave(
                tracehook_report_syscall_exit(regs, step);
  }
  
 -#if 0
 -static asmlinkage void syscall_trace(void)
 -{
 -      if (!test_thread_flag(TIF_SYSCALL_TRACE))
 -              return;
 -      if (!(current->ptrace & PT_PTRACED))
 -              return;
 -      /* The 0x80 provides a way for the tracing parent to distinguish
 -       between a syscall stop and SIGTRAP delivery */
 -      ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD)
 -                              ? 0x80 : 0));
 -      /*
 -       * this isn't the same as continuing with a signal, but it will do
 -       * for normal use. strace only continues with a signal if the
 -       * stopping signal is not SIGTRAP. -brl
 -       */
 -      if (current->exit_code) {
 -              send_sig(current->exit_code, current, 1);
 -              current->exit_code = 0;
 -      }
 -}
 -#endif
 -
  void ptrace_disable(struct task_struct *child)
  {
        /* nothing to do */
  #include <asm/cacheflush.h>
  #include <asm/syscalls.h>
  
 -asmlinkage long
 -sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss,
 -              struct pt_regs *regs)
 -{
 -      return do_sigaltstack(uss, uoss, regs->r1);
 -}
 -
  /*
   * Do a signal return; undo the signal stack.
   */
@@@ -102,7 -109,9 +102,7 @@@ asmlinkage long sys_rt_sigreturn(struc
        if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &rval))
                goto badframe;
  
 -      /* It is more difficult to avoid calling this function than to
 -       call it and ignore errors. */
 -      if (do_sigaltstack(&frame->uc.uc_stack, NULL, regs->r1) == -EFAULT)
 +      if (restore_altstack(&frame->uc.uc_stack))
                goto badframe;
  
        return rval;
@@@ -185,7 -194,11 +185,7 @@@ static int setup_rt_frame(int sig, stru
        /* Create the ucontext. */
        err |= __put_user(0, &frame->uc.uc_flags);
        err |= __put_user(NULL, &frame->uc.uc_link);
 -      err |= __put_user((void __user *)current->sas_ss_sp,
 -                      &frame->uc.uc_stack.ss_sp);
 -      err |= __put_user(sas_ss_flags(regs->r1),
 -                      &frame->uc.uc_stack.ss_flags);
 -      err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size);
 +      err |= __save_altstack(&frame->uc.uc_stack, regs->r1);
        err |= setup_sigcontext(&frame->uc.uc_mcontext,
                        regs, set->sig[0]);
        err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set));
        set_fs(USER_DS);
  
  #ifdef DEBUG_SIG
-       printk(KERN_INFO "SIG deliver (%s:%d): sp=%p pc=%08lx\n",
+       pr_info("SIG deliver (%s:%d): sp=%p pc=%08lx\n",
                current->comm, current->pid, frame, regs->pc);
  #endif
  
@@@ -317,8 -330,8 +317,8 @@@ static void do_signal(struct pt_regs *r
        int signr;
        struct k_sigaction ka;
  #ifdef DEBUG_SIG
-       printk(KERN_INFO "do signal: %p %d\n", regs, in_syscall);
-       printk(KERN_INFO "do signal2: %lx %lx %ld [%lx]\n", regs->pc, regs->r1,
+       pr_info("do signal: %p %d\n", regs, in_syscall);
+       pr_info("do signal2: %lx %lx %ld [%lx]\n", regs->pc, regs->r1,
                        regs->r12, current_thread_info()->flags);
  #endif
  
  
  asmlinkage void do_notify_resume(struct pt_regs *regs, int in_syscall)
  {
 -      /*
 -       * We want the common case to go fast, which
 -       * is why we may in certain cases get here from
 -       * kernel mode. Just return without doing anything
 -       * if so.
 -       */
 -      if (kernel_mode(regs))
 -              return;
 -
        if (test_thread_flag(TIF_SIGPENDING))
                do_signal(regs, in_syscall);
  
diff --combined include/asm-generic/io.h
@@@ -53,18 -53,8 +53,18 @@@ static inline u32 __raw_readl(const vol
  #endif
  
  #define readb __raw_readb
 -#define readw(addr) __le16_to_cpu(__raw_readw(addr))
 -#define readl(addr) __le32_to_cpu(__raw_readl(addr))
 +
 +#define readw readw
 +static inline u16 readw(const volatile void __iomem *addr)
 +{
 +      return __le16_to_cpu(__raw_readw(addr));
 +}
 +
 +#define readl readl
 +static inline u32 readl(const volatile void __iomem *addr)
 +{
 +      return __le32_to_cpu(__raw_readl(addr));
 +}
  
  #ifndef __raw_writeb
  static inline void __raw_writeb(u8 b, volatile void __iomem *addr)
@@@ -99,11 -89,7 +99,11 @@@ static inline u64 __raw_readq(const vol
  }
  #endif
  
 -#define readq(addr) __le64_to_cpu(__raw_readq(addr))
 +#define readq readq
 +static inline u64 readq(const volatile void __iomem *addr)
 +{
 +      return __le64_to_cpu(__raw_readq(addr));
 +}
  
  #ifndef __raw_writeq
  static inline void __raw_writeq(u64 b, volatile void __iomem *addr)
@@@ -239,15 -225,15 +239,15 @@@ static inline void outsl(unsigned long 
  #ifndef CONFIG_GENERIC_IOMAP
  #define ioread8(addr)         readb(addr)
  #define ioread16(addr)                readw(addr)
- #define ioread16be(addr)      be16_to_cpu(ioread16(addr))
+ #define ioread16be(addr)      __be16_to_cpu(__raw_readw(addr))
  #define ioread32(addr)                readl(addr)
- #define ioread32be(addr)      be32_to_cpu(ioread32(addr))
+ #define ioread32be(addr)      __be32_to_cpu(__raw_readl(addr))
  
  #define iowrite8(v, addr)     writeb((v), (addr))
  #define iowrite16(v, addr)    writew((v), (addr))
- #define iowrite16be(v, addr)  iowrite16(be16_to_cpu(v), (addr))
+ #define iowrite16be(v, addr)  __raw_writew(__cpu_to_be16(v), addr)
  #define iowrite32(v, addr)    writel((v), (addr))
- #define iowrite32be(v, addr)  iowrite32(be32_to_cpu(v), (addr))
+ #define iowrite32be(v, addr)  __raw_writel(__cpu_to_be32(v), addr)
  
  #define ioread8_rep(p, dst, count) \
        insb((unsigned long) (p), (dst), (count))