1. 27 Jul, 2010 10 commits
  2. 18 Jul, 2010 3 commits
  3. 14 Jul, 2010 2 commits
  4. 12 Jul, 2010 2 commits
  5. 11 Jul, 2010 4 commits
    • Matthew McClintock's avatar
      powerpc/fsl-booke: Fix address issue when using relocatable kernels · 77154a20
      Matthew McClintock authored
      
      
      When booting a relocatable kernel it needs to jump to the correct
      start address, which for BookE parts is usually unchanged
      regardless of the physical memory offset.
      
      Recent changes cause problems with how we calculate the start
      address, it was always adding the RMO into the start address
      which is incorrect. This patch only adds in the RMO offset
      if we are in the kexec code path, as it needs the RMO to work
      correctly.
      
      Instead of adding the RMO offset in in the common code path, we
      can just set r6 to the RMO offset in the kexec code path instead
      of to zero, and finally perform the masking in the common code
      path
      Signed-off-by: default avatarMatthew McClintock <msm@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      77154a20
    • Anton Vorontsov's avatar
      powerpc/cpm1: Mark micropatch code/data static and __init · af71bcfe
      Anton Vorontsov authored
      
      
      This saves runtime memory and fixes lots of sparse warnings like this:
      
          CHECK   arch/powerpc/sysdev/micropatch.c
        arch/powerpc/sysdev/micropatch.c:27:6: warning: symbol 'patch_2000'
        was not declared. Should it be static?
        arch/powerpc/sysdev/micropatch.c:146:6: warning: symbol 'patch_2f00'
        was not declared. Should it be static?
        ...
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      af71bcfe
    • Anton Vorontsov's avatar
      powerpc/cpm1: Fix build with various CONFIG_*_UCODE_PATCH combinations · 2069a6ae
      Anton Vorontsov authored
      
      
      Warnings are treated as errors for arch/powerpc code, so build fails
      with CONFIG_I2C_SPI_UCODE_PATCH=y:
      
          CC      arch/powerpc/sysdev/micropatch.o
        cc1: warnings being treated as errors
        arch/powerpc/sysdev/micropatch.c: In function 'cpm_load_patch':
        arch/powerpc/sysdev/micropatch.c:630: warning: unused variable 'smp'
        make[1]: *** [arch/powerpc/sysdev/micropatch.o] Error 1
      
      And with CONFIG_USB_SOF_UCODE_PATCH=y:
      
        CC      arch/powerpc/sysdev/micropatch.o
        cc1: warnings being treated as errors
        arch/powerpc/sysdev/micropatch.c: In function 'cpm_load_patch':
        arch/powerpc/sysdev/micropatch.c:629: warning: unused variable 'spp'
        arch/powerpc/sysdev/micropatch.c:628: warning: unused variable 'iip'
        make[1]: *** [arch/powerpc/sysdev/micropatch.o] Error 1
      
      This patch fixes these issues by introducing proper #ifdefs.
      
      Cc: <stable@kernel.org> [ .33, .34 ]
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      2069a6ae
    • Anton Vorontsov's avatar
      powerpc/cpm: Reintroduce global spi_pram struct (fixes build issue) · 56825c88
      Anton Vorontsov authored
      spi_t was removed in commit 644b2a68
      
      
      ("powerpc/cpm: Remove SPI defines and spi structs"), the commit assumed
      that spi_t isn't used anywhere outside of the spi_mpc8xxx driver. But
      it appears that the struct is needed for micropatch code. So, let's
      reintroduce the struct.
      
      Fixes the following build issue:
      
          CC      arch/powerpc/sysdev/micropatch.o
        micropatch.c: In function 'cpm_load_patch':
        micropatch.c:629: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
        micropatch.c:629: error: 'spp' undeclared (first use in this function)
        micropatch.c:629: error: (Each undeclared identifier is reported only once
        micropatch.c:629: error: for each function it appears in.)
      Reported-by: default avatarLEROY Christophe <christophe.leroy@c-s.fr>
      Reported-by: default avatarTony Breeds <tony@bakeyournoodle.com>
      Cc: <stable@kernel.org> [ .33, .34 ]
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      56825c88
  6. 10 Jul, 2010 1 commit
    • Russell King's avatar
      ARM: lockdep: fix unannotated irqs-on · ac78884e
      Russell King authored
      CPU: Testing write buffer coherency: ok
      ------------[ cut here ]------------
      WARNING: at kernel/lockdep.c:3145 check_flags+0xcc/0x1dc()
      Modules linked in:
      [<c0035120>] (unwind_backtrace+0x0/0xf8) from [<c0355374>] (dump_stack+0x20/0x24)
      [<c0355374>] (dump_stack+0x20/0x24) from [<c0060c04>] (warn_slowpath_common+0x58/0x70)
      [<c0060c04>] (warn_slowpath_common+0x58/0x70) from [<c0060c3c>] (warn_slowpath_null+0x20/0x24)
      [<c0060c3c>] (warn_slowpath_null+0x20/0x24) from [<c008f224>] (check_flags+0xcc/0x1dc)
      [<c008f224>] (check_flags+0xcc/0x1dc) from [<c00945dc>] (lock_acquire+0x50/0x140)
      [<c00945dc>] (lock_acquire+0x50/0x140) from [<c0358434>] (_raw_spin_lock+0x50/0x88)
      [<c0358434>] (_raw_spin_lock+0x50/0x88) from [<c00fd114>] (set_task_comm+0x2c/0x60)
      [<c00fd114>] (set_task_comm+0x2c/0x60) from [<c007e184>] (kthreadd+0x30/0x108)
      [<c007e184>] (kthreadd+0x30/0x108) from [<c0030104>] (kernel_thread_exit+0x0/0x8)
      ---[ end trace 1b75b31a2719ed1c ]---
      possible reason: unannotated irqs-on.
      irq event stamp: 3
      hardirqs last  enabled at (2): [<c0059bb0>] finish_task_switch+0x48/0xb0
      hardirqs last disabled at (3): [<c002f0b0>] ret_slow_syscall+0xc/0x1c
      softirqs last  enabled at (0): [<c005f3e0>] copy_process+0x394/0xe5c
      softirqs last disabled at (0): [<(null)>] (null)
      
      Fix this by ensuring that the lockdep interrupt state is manipulated in
      the appropriate places.  We essentially treat userspace as an entirely
      separate environment which isn't relevant to lockdep (lockdep doesn't
      monitor userspace.)  We don't tell lockdep that IRQs will be enabled
      in that environment.
      
      Instead, when creating kernel threads (which is a rare event compared
      to entering/leaving userspace) we have to update the lockdep state.  Do
      this by starting threads with IRQs disabled, and in the kthread helper,
      tell lockdep that IRQs are enabled, and enable them.
      
      This provides lockdep with a consistent view of the current IRQ state
      in kernel space.
      
      This also revert portions of 0d928b0b
      
      
      which didn't fix the problem.
      Tested-by: default avatarMing Lei <tom.leiming@gmail.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      ac78884e
  7. 09 Jul, 2010 9 commits
  8. 08 Jul, 2010 9 commits