1. 14 2月, 2013 9 次提交
    • A
      ARM: mvebu: allow selecting mvebu without Armada XP · 81c724ab
      Arnd Bergmann 提交于
      Selecting only CONFIG_ARCH_MVEBU but not the respective
      options for Armada 370 or Armada XP results in these
      link errors:
      
      arch/arm/mach-mvebu/built-in.o: In function `armada_xp_smp_init_cpus':
      arch/arm/mach-mvebu/platsmp.c:91: undefined reference to `coherency_get_cpu_count'
      arch/arm/mach-mvebu/platsmp.c:104: undefined reference to `armada_mpic_send_doorbell'
      arch/arm/mach-mvebu/built-in.o: In function `armada_xp_smp_prepare_cpus':
      arch/arm/mach-mvebu/platsmp.c:111: undefined reference to `set_cpu_coherent'
      arch/arm/mach-mvebu/built-in.o: In function `armada_xp_boot_secondary':
      arch/arm/mach-mvebu/platsmp.c:83: undefined reference to `armada_xp_boot_cpu'
      arch/arm/mach-mvebu/built-in.o: In function `armada_xp_secondary_init':
      arch/arm/mach-mvebu/platsmp.c:75: undefined reference to `armada_xp_mpic_smp_cpu_init'
      arch/arm/mach-mvebu/built-in.o: In function `armada_xp_secondary_startup':
      arch/arm/mach-mvebu/headsmp.S:46: undefined reference to `ll_set_cpu_coherent'
      
      We can solve this by enabling all common MVEBU files that are
      referenced by the SMP files. This means we enable code that
      is not going to be used without a machine descriptor referencing
      it, but only if the kernel is configured specifically for this
      case.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Gregory Clement <gregory.clement@free-electrons.com>
      Cc: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
      81c724ab
    • A
      ARM: pick Versatile by default for !MMU · 1420b22b
      Arnd Bergmann 提交于
      The introduction of ARCH_MULTIPLATFORM changed
      the default for nommu kernels from Versatile to
      Integrator, which is less common, and does not
      currently build for allnoconfig because that does
      not select any of the CPUs.
      
      This also ensures that at least one of the three
      board files in versatile are enabled, which lets
      us successfully build an allnoconfig kernel.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      1420b22b
    • A
      ARM: integrator: fix build with INTEGRATOR_AP off · a02e0a83
      Arnd Bergmann 提交于
      The conditional declaration of ap_uart_data is broken
      and causes this build error:
      
      In file included from arch/arm/mach-integrator/core.c:35:0:
      arch/arm/mach-integrator/common.h:6:37: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
      
      Turning the check into an constant-expression if(IS_ENABLED()) statement
      creates more readable code and solves this problem as well.
      
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      a02e0a83
    • A
      ARM: integrator/versatile: fix NOMMU warnings · 060fd1be
      Arnd Bergmann 提交于
      On NOMMU kernels, the io_desc variables are unused
      because we don't use the MMU to remap the MMIO
      areas.
      
      Marking these variables as __maybe_unused easily
      avoids the otherwise harmless warnings like
      
      warning: 'versatile_io_desc' defined but not used
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      060fd1be
    • A
      ARM: sa1100: don't warn about mach/ide.h · 29408ed9
      Arnd Bergmann 提交于
      This warning has existed since before the start of (git) history.
      Apparently nobody has bothered to fix it in a long time, and
      this is unlikely to change. Note that the file that the warning
      refers to has moved to a different location and was subsequently
      deleted in 2008.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      29408ed9
    • A
      ARM: shmobile: fix defconfig warning on CONFIG_USB · bb57d4e3
      Arnd Bergmann 提交于
      A recent update to the marzen_defconfig introduced a
      duplicate CONFIG_USB=y line. This removes one of the
      two.
      
      arch/arm/configs/marzen_defconfig:86:warning: override: reassigning to symbol USB
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NSimon Horman <horms+renesas@verge.net.au>
      Cc: linux-sh@vger.kernel.org
      bb57d4e3
    • A
      ARM: w90x900: fix legacy assembly syntax · fa5ce5f9
      Arnd Bergmann 提交于
      New ARM binutils don't allow extraneous whitespace inside
      of brackets, which causes this error on all mach-w90x900
      defconfigs:
      
      arch/arm/kernel/entry-armv.S: Assembler messages:
      arch/arm/kernel/entry-armv.S:214: Error: ARM register expected -- `ldr r0,[ r6,#(0x10C)]'
      arch/arm/kernel/entry-armv.S:214: Error: ARM register expected -- `ldr r0,[ r6,#(0x110)]'
      arch/arm/kernel/entry-armv.S:430: Error: ARM register expected -- `ldr r0,[ r6,#(0x10C)]'
      arch/arm/kernel/entry-armv.S:430: Error: ARM register expected -- `ldr r0,[ r6,#(0x110)]'
      
      This removes the whitespace in order to build the kernel
      again.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Wan ZongShun <mcuos.com@gmail.com>
      fa5ce5f9
    • A
      ARM: samsung: fix assembly syntax for new gas · 2815774b
      Arnd Bergmann 提交于
      Recent assembler versions complain about extraneous
      whitespace inside [] brackets. This fixes all of
      these instances for the samsung platforms. We should
      backport this to all kernels that might need to
      be built with new binutils.
      
      arch/arm/kernel/entry-armv.S: Assembler messages:
      arch/arm/kernel/entry-armv.S:214: Error: ARM register expected -- `ldr r2,[ r6,#(0x10)]'
      arch/arm/kernel/entry-armv.S:214: Error: ARM register expected -- `ldr r0,[ r6,#(0x14)]'
      arch/arm/kernel/entry-armv.S:430: Error: ARM register expected -- `ldr r2,[ r6,#(0x10)]'
      arch/arm/kernel/entry-armv.S:430: Error: ARM register expected -- `ldr r0,[ r6,#(0x14)]'
      arch/arm/mach-s3c24xx/sleep-s3c2410.S: Assembler messages:
      arch/arm/mach-s3c24xx/sleep-s3c2410.S:48: Error: ARM register expected -- `ldr r7,[ r4 ]'
      arch/arm/mach-s3c24xx/sleep-s3c2410.S:49: Error: ARM register expected -- `ldr r8,[ r5 ]'
      arch/arm/mach-s3c24xx/sleep-s3c2410.S:50: Error: ARM register expected -- `ldr r9,[ r6 ]'
      arch/arm/mach-s3c24xx/sleep-s3c2410.S:64: Error: ARM register expected -- `streq r7,[ r4 ]'
      arch/arm/mach-s3c24xx/sleep-s3c2410.S:65: Error: ARM register expected -- `streq r8,[ r5 ]'
      arch/arm/mach-s3c24xx/sleep-s3c2410.S:66: Error: ARM register expected -- `streq r9,[ r6 ]'
      arch/arm/kernel/debug.S: Assembler messages:
      arch/arm/kernel/debug.S:83: Error: ARM register expected -- `ldr r2,[ r2,#((0x0B0)+(((0x56000000)-(0x50000000))+(0xF6000000+(0x01000000))))-((0)+(((0x56000000)-(0x50000000))+(0xF6000000+(0x01000000))))]'
      arch/arm/kernel/debug.S:83: Error: ARM register expected -- `ldr r2,[ r3,#(0x18)]'
      arch/arm/kernel/debug.S:85: Error: ARM register expected -- `ldr r2,[ r2,#((0x0B0)+(((0x56000000)-(0x50000000))+(0xF6000000+(0x01000000))))-((0)+(((0x56000000)-(0x50000000))+(0xF6000000+(0x01000000))))]'
      arch/arm/kernel/debug.S:85: Error: ARM register expected -- `ldr r2,[ r3,#(0x18)]'
      arch/arm/mach-s3c24xx/pm-h1940.S: Assembler messages:
      arch/arm/mach-s3c24xx/pm-h1940.S:33: Error: ARM register expected -- `ldr pc,[ r0,#((0x0B8)+(((0x56000000)-(0x50000000))+(0xF6000000+(0x01000000))))-(((0x56000000)-(0x50000000))+(0xF6000000+(0x01000000)))]'
      arch/arm/mach-s3c24xx/sleep-s3c2412.S: Assembler messages:
      arch/arm/mach-s3c24xx/sleep-s3c2412.S:60: Error: ARM register expected -- `ldrne r9,[ r1 ]'
      arch/arm/mach-s3c24xx/sleep-s3c2412.S:61: Error: ARM register expected -- `strne r9,[ r1 ]'
      arch/arm/mach-s3c24xx/sleep-s3c2412.S:62: Error: ARM register expected -- `ldrne r9,[ r2 ]'
      arch/arm/mach-s3c24xx/sleep-s3c2412.S:63: Error: ARM register expected -- `strne r9,[ r2 ]'
      arch/arm/mach-s3c24xx/sleep-s3c2412.S:64: Error: ARM register expected -- `ldrne r9,[ r3 ]'
      arch/arm/mach-s3c24xx/sleep-s3c2412.S:65: Error: ARM register expected -- `strne r9,[ r3 ]'
      arch/arm/kernel/debug.S:83: Error: ARM register expected -- `ldr r2,[ r3,#(0x08)]'
      arch/arm/kernel/debug.S:83: Error: ARM register expected -- `ldr r2,[ r3,#(0x18)]'
      arch/arm/kernel/debug.S:83: Error: ARM register expected -- `ldr r2,[ r3,#(0x10)]'
      arch/arm/kernel/debug.S:85: Error: ARM register expected -- `ldr r2,[ r3,#(0x08)]'
      arch/arm/kernel/debug.S:85: Error: ARM register expected -- `ldr r2,[ r3,#(0x18)]'
      arch/arm/kernel/debug.S:85: Error: ARM register expected -- `ldr r2,[ r3,#(0x10)]'
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NKukjin Kim <kgene.kim@samsung.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: stable@vger.kernel.org
      2815774b
    • A
      ARM: disable virt_to_bus/virt_to_bus almost everywhere · a5d533ee
      Arnd Bergmann 提交于
      We are getting a number of warnings about the use of the deprecated
      bus_to_virt function in drivers using the ARM ISA DMA API:
      
      drivers/parport/parport_pc.c: In function 'parport_pc_fifo_write_block_dma':
      drivers/parport/parport_pc.c:622:3: warning: 'bus_to_virt' is deprecated
      (declared at arch/arm/include/asm/memory.h:253) [-Wdeprecated-declarations]
      
      This is only because that function gets used by the inline
      set_dma_addr() helper. We know that any driver for the ISA DMA API
      is correctly using the DMA addresses, so we can change this
      to use the __bus_to_virt() function instead, which does not warn.
      
      After this, there are no remaining drivers that are used on
      any defconfigs on ARM using virt_to_bus or bus_to_virt, with
      the exception of the OSS sound driver. That driver is only used
      on RiscPC, NetWinder and Shark, so we can set ARCH_NO_VIRT_TO_BUS
      on all other platforms and hide the deprecated functions, which
      is far more effective than marking them as deprecated, in order
      to avoid any new users of that code.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      a5d533ee
  2. 24 1月, 2013 2 次提交
  3. 23 1月, 2013 9 次提交
  4. 22 1月, 2013 4 次提交
  5. 19 1月, 2013 5 次提交
  6. 18 1月, 2013 2 次提交
  7. 17 1月, 2013 7 次提交
  8. 14 1月, 2013 2 次提交
    • S
      ARM: imx: correct low-power mode setting · 83ae2098
      Shawn Guo 提交于
      The hardware reset value of bit CCM_CLPCR_LPM enables WAIT mode
      (WAIT_UNCLOCKED) by default.  However this is undesirable because
      WAIT mode should only be enabled when there is a driver managing
      ARM clock gating.  Correct the initial power mode to WAIT_CLOCKED
      (disable WAIT mode).  While at it, the power mode after resuming
      is also set back to WAIT_CLOCKED from STOP_POWER_OFF.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      83ae2098
    • S
      ARM: imx: disable cpu in .cpu_kill hook · 83757664
      Shawn Guo 提交于
      It's buggy to disable the cpu that is being hot-unplugged in .cpu_die
      hook which runs on the cpu itself.  Instead, it should be done in
      .cpu_kill which runs on the thread (another cpu) that asks for shutting
      down the cpu.  Move imx_enable_cpu(cpu, false) call into .cpu_kill
      hook, and leave the cpu to be hot-unplugged in WFI within .cpu_die,
      so that we can get a more stable cpu hot-plug operation.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      83757664