1. 21 Jun, 2013 23 commits
    • Ralf Baechle's avatar
      WATCHDOG: sb_wdog: Fix 32 bit build failure · cd6cbde6
      Ralf Baechle authored
      Fixes the following linking problem:
      drivers/watchdog/sb_wdog.c:211: undefined reference to `__udivdi3'
      
      This results from reading a 64 bit register, then dividing the value by
      1000000.  For 32 bit kernels gcc will use the helper function __udivdi3
      from libgcc which the kernel intentionally doesn't provide.
      
      In the read registerbits 23..63 are always zero and only bits 0..22 are
      signficant.  So a simple cast to truncate the read value to 32 bits
      fixes the issue.
      
      Reported and initial patch by Markos Chandras <markos.chandras@imgtec.com>.
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Reported-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      cd6cbde6
    • Florian Fainelli's avatar
      MIPS: BCM63XX: remove bogus Kconfig selects · 31888351
      Florian Fainelli authored
      Remove the bogus selects on USB-related symbols for 6345 and 6338, not
      only we do not yet support USB on BCM63XX, but they also cause the
      following warnings:
      
      warning: (BCM63XX_CPU_6338 && BCM63XX_CPU_6345) selects
      USB_OHCI_BIG_ENDIAN_MMIO which has unmet direct dependencies
      (USB_SUPPORT && USB && USB_OHCI_HCD)
      warning: (BCM63XX_CPU_6338 && BCM63XX_CPU_6345) selects
      USB_OHCI_BIG_ENDIAN_DESC which has unmet direct dependencies
      (USB_SUPPORT && USB && USB_OHCI_HCD)
      make[4]: Leaving directory `/home/florian/dev/linux'
      
      Just get rid of these bogus Kconfig selects because neither 6345 nor
      6338 actually have built-in USB host controllers.
      Signed-off-by: default avatarFlorian Fainelli <florian@openwrt.org>
      Cc: linux-mips@linux-mips.org
      Cc: cernekee@gmail.com
      Cc: jogo@openwrt.org
      Patchwork: http://patchwork.linux-mips.org/patch/5497/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      31888351
    • Paul Burton's avatar
      MIPS: Fix execution hazard during watchpoint register probe · c5e1503f
      Paul Burton authored
      Writing a value to a WatchLo* register creates an execution hazard, so
      if its value is then read before that hazard is cleared then said value
      may be invalid. The mips_probe_watch_registers function must therefore
      clear the execution hazard between setting the match bits in a WatchLo*
      register & reading the register back in order to check which are set.
      
      This fixes intermittent incorrect watchpoint register probing on some
      MIPS cores such as interAptiv & proAptiv.
      Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
      Reviewed-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Acked-by: default avatarSteven J. Hill <Steven.Hill@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/5474/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      c5e1503f
    • Markos Chandras's avatar
      MIPS: powertv: Drop SYS_HAS_EARLY_PRINTK · c37441c1
      Markos Chandras authored
      PowerTV does not provide a prom_putchar function needed for early
      printk so remove this symbol for this platform.
      
      Fixes the following problem when EARLY_PRINTK is enabled for powertv:
      
      arch/mips/kernel/early_printk.c:24: undefined reference to `prom_putchar'
      arch/mips/kernel/early_printk.c:23: undefined reference to `prom_putchar'
      Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Acked-by: default avatarSteven J. Hill <Steven.Hill@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5477/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      c37441c1
    • Markos Chandras's avatar
      MIPS: sibyte: Amend dependencies for SIBYTE_BUS_WATCHER · 6793f55c
      Markos Chandras authored
      SIBYTE_BUS_WATCHER is only visible if CONFIG_SIBYTE_BCM112X
      or CONFIG_SIBYTE_SB1250 is selected according to the
      arch/mips/sibyte/Makefile.
      This fixes the following build problem:
      
      arch/mips/mm/cerr-sb1.c:254: undefined reference to `check_bus_watcher'
      Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Acked-by: default avatarSteven J. Hill <Steven.Hill@imgtec.com>
      Cc: sibyte-users@bitmover.com
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5482/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      6793f55c
    • Ralf Baechle's avatar
      MIPS: Sibyte: Fix bus watcher build for BCM1x55 and BCM1x80. · ae5b0e09
      Ralf Baechle authored
        CC      arch/mips/sibyte/bcm1480/bus_watcher.o
        CHK     kernel/config_data.h
      arch/mips/sibyte/bcm1480/bus_watcher.c: In function ‘check_bus_watcher’:
      arch/mips/sibyte/bcm1480/bus_watcher.c:86:82: error: ‘A_SCD_BUS_ERR_STATUS_DEBUG’ undeclared (first use in this function)
      arch/mips/sibyte/bcm1480/bus_watcher.c:86:82: note: each undeclared identifier is reported only once for each function it appears in
      make[3]: *** [arch/mips/sibyte/bcm1480/bus_watcher.o] Error 1
      make[2]: *** [arch/mips/sibyte/bcm1480] Error 2
      make[1]: *** [arch/mips/sibyte] Error 2
      make: *** [arch/mips] Error 2
      
      The register moved around though it's otherwise the same but because of
      the changed address it now also has a different name.
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Patchwork: https://patchwork.linux-mips.org/patch/5514/Reported-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      ae5b0e09
    • Ralf Baechle's avatar
      MIPS: Sibyte: Fix build for SIBYTE_BW_TRACE on BCM1x55 and BCM1x80. · 55e9741a
      Ralf Baechle authored
        CC      arch/mips/mm/cerr-sb1.o
      arch/mips/mm/cerr-sb1.c: In function ‘sb1_cache_error’:
      arch/mips/mm/cerr-sb1.c:186:98: error: ‘M_BCM1480_SCD_TRACE_CFG_FREEZE’ undeclared (first use in this function)
      arch/mips/mm/cerr-sb1.c:186:98: note: each undeclared identifier is reported only once for each function it appears in
      make[1]: *** [arch/mips/mm/cerr-sb1.o] Error 1
      
      This happens because 8deab114 [[MIPS]
      Updated Sibyte headers] changed the headers but not all the users.
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Reported-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Patchwork: https://patchwork.linux-mips.org/patch/5511/
      55e9741a
    • Markos Chandras's avatar
      MIPS: sibyte: Declare the cfe_write() buffer as constant · 39b6f3aa
      Markos Chandras authored
      The write() prototype expects a const char * as argument so declare
      it as such.
      
      Fixes the following build problem:
      
      arch/mips/sibyte/common/cfe_console.c:23:5: error: passing argument 2 of
      'cfe_write' discards 'const' qualifier from pointer target type [-Werror]
      arch/mips/sibyte/common/cfe_console.c:34:4: error: passing argument 2 of
      'cfe_write' makes pointer from integer without a cast [-Werror]
      Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Acked-by: default avatarSteven J. Hill <Steven.Hill@imgtec.com>
      Cc: sibyte-users@bitmover.com
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5485/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      39b6f3aa
    • Markos Chandras's avatar
      MIPS: Sibyte: Add missing sched.h header · 0156915c
      Markos Chandras authored
      It's needed for the TASK_INTERRUPTIBLE definition.
      
      Fixes the following build problem:
      arch/mips/sibyte/common/sb_tbprof.c:235:4: error: 'TASK_INTERRUPTIBLE'
      undeclared (first use in this function)
      
      [ralf@linux-mips.org: Ideally sched.h should be included into the actual
      user of TASK_INTERRUPTIBLE, <linux/wait.h> but that seems way too risky
      that close to a release.]
      Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Acked-by: default avatarSteven J. Hill <Steven.Hill@imgtec.com>
      Cc: sibyte-users@bitmover.com
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5479/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      0156915c
    • Markos Chandras's avatar
      MIPS: sibyte: Remove unused variable. · d6095cac
      Markos Chandras authored
      Fixes the following build problem:
      
      arch/mips/sibyte/sb1250/bus_watcher.c: In function 'sibyte_bw_int':
      arch/mips/sibyte/sb1250/bus_watcher.c:179:7: error: unused variable 'bw_buf'
      [-Werror=unused-variable]
      Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Cc: sibyte-users@bitmover.com
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5481/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      d6095cac
    • Markos Chandras's avatar
      MIPS: ath79: Fix argument for the ap136_pc_init function · 970cb7b9
      Markos Chandras authored
      ap136_pci_init expects a u8 pointer as an argument.
      
      Fixes the following build problem on a randconfig:
      arch/mips/ath79/mach-ap136.c:151:2: error:
      too many arguments to function 'ap136_pci_init'
      Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5476/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      970cb7b9
    • David Daney's avatar
      MIPS/OCTEON: Override default address space layout. · 9b1f812a
      David Daney authored
      OCTEON II cannot execute code in the default CAC_BASE space, so we
      supply a value (0x8000000000000000) that does work.
      Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5457/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      9b1f812a
    • Steven J. Hill's avatar
      MIPS: malta: Remove software reset defines from generic header. · b72d9a4e
      Steven J. Hill authored
      Remove the software reset register and reset value definitions
      from the 'include/asm/mips-boards/generic.h' header file. Also
      clean up header and whitespace in platform file.
      Signed-off-by: default avatarSteven J. Hill <Steven.Hill@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5456/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      b72d9a4e
    • Steven J. Hill's avatar
      MIPS: malta: Move defines of reset registers and values. · 36a29af4
      Steven J. Hill authored
      Remove usage of 'include/asm/mips-boards/generic.h' header file.
      Instead, move the defines for SOFTRES_REG and GORESET local to
      the platform file.
      Signed-off-by: default avatarSteven J. Hill <Steven.Hill@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5455/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      36a29af4
    • Steven J. Hill's avatar
      MIPS: sead3: Fix ability to perform a soft reset. · 2ddbc4e2
      Steven J. Hill authored
      The soft reset register address and reset value to be written are
      incorrect for the SEAD-3 platform. This patch fixes them such that
      the SEAD-3 can actually perform a soft reset instead of causing an
      exception. Also remove usage of 'include/asm/mips-boards/generic.h'
      header file.
      Signed-off-by: default avatarSteven J. Hill <Steven.Hill@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5454/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      2ddbc4e2
    • Aaro Koskinen's avatar
      MIPS: Loongson: Fix random early boot hang · 2f963bfb
      Aaro Koskinen authored
      Some Loongson boards (e.g. Lemote FuLoong mini-PC) use ISA/southbridge
      device (CS5536 general purpose timer) for the timer interrupt. It starts
      running early and is already enabled during the PCI configuration,
      during which there is a small window in pci_read_base() when the register
      access is temporarily disabled. If the timer interrupts at this point,
      the system will hang. Fix this by adding a fixup that keeps the register
      access always enabled.
      
      The hang the patch fixes usually looks like this:
      
      [    0.844000] pci 0000:00:0e.0: [1022:2090] type 00 class 0x060100
      [    0.848000] pci 0000:00:0e.0: reg 10: [io  0xb410-0xb417]
      [    0.852000] pci 0000:00:0e.0: reg 14: [io  0xb000-0xb0ff]
      [    0.856000] pci 0000:00:0e.0: reg 18: [io  0xb380-0xb3bf]
      [   28.140000] BUG: soft lockup - CPU#0 stuck for 23s! [swapper:1]
      [   28.140000] Modules linked in:
      [   28.140000] irq event stamp: 37965
      [   28.140000] hardirqs last  enabled at (37964): [<ffffffff80204c0c>] restore_partial+0x6c/0x13c
      [   28.140000] hardirqs last disabled at (37965): [<ffffffff80204f8c>] handle_int+0x144/0x15c
      [   28.140000] softirqs last  enabled at (24316): [<ffffffff802381f4>] __do_softirq+0x1cc/0x258
      [   28.140000] softirqs last disabled at (24327): [<ffffffff80238420>] do_softirq+0xc8/0xd0
      [   28.140000] Cpu 0
      [   28.140000] $ 0   : 0000000000000000 00000000140044e1 980000009f090000 0000000000000001
      [   28.140000] $ 4   : 980000009f090000 0000000000000000 0000000000000100 03b7fff87fbde011
      [   28.140000] $ 8   : ffffffff812b1928 000000000001e000 043ffff87fbde011 fffffff87fbde011
      [   28.140000] $12   : 000000000000000e ffffffff807a0000 0000000000000698 0000000000000000
      [   28.140000] $16   : 0000000000000002 ffffffff81055e20 ffffffff80786810 0000000000000000
      [   28.140000] $20   : 000000000000000a ffffffff807bc244 ffffffff807e6350 ffffffff80770000
      [   28.140000] $24   : 0000000000000d80 00000000fffedbe0
      [   28.140000] $28   : 980000009f07c000 980000009f07fa10 ffffffff81050000 ffffffff802380f8
      [   28.140000] Hi    : 0000000000d0fc00
      [   28.140000] Lo    : 0000000000f82b40
      [   28.140000] epc   : ffffffff8023810c __do_softirq+0xe4/0x258
      [   28.140000]     Not tainted
      [   28.140000] ra    : ffffffff802380f8 __do_softirq+0xd0/0x258
      [   28.140000] Status: 140044e3    KX SX UX KERNEL EXL IE
      [   28.140000] Cause : 10008400
      [   28.140000] PrId  : 00006303 (ICT Loongson-2)
      Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/4958/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      2f963bfb
    • Markos Chandras's avatar
      lib/Kconfig.debug: Restrict FRAME_POINTER for MIPS · 25c87eae
      Markos Chandras authored
      FAULT_INJECTION_STACKTRACE_FILTER selects FRAME_POINTER but
      that symbol is not available for MIPS.
      
      Fixes the following problem on a randconfig:
      warning: (LOCKDEP && FAULT_INJECTION_STACKTRACE_FILTER && LATENCYTOP &&
       KMEMCHECK) selects FRAME_POINTER which has unmet direct dependencies
      (DEBUG_KERNEL && (CRIS || M68K || FRV || UML || AVR32 || SUPERH || BLACKFIN ||
      MN10300 || METAG) || ARCH_WANT_FRAME_POINTERS)
      Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Acked-by: default avatarSteven J. Hill <Steven.Hill@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5441/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      25c87eae
    • David Daney's avatar
      MIPS: Octeon: Don't clobber bootloader data structures. · d949b4fe
      David Daney authored
      Commit abe77f90 (MIPS: Octeon: Add kexec and kdump support) added a
      bootmem region for the kernel image itself.  The problem is that this
      is rounded up to a 0x100000 boundary, which is memory that may not be
      owned by the kernel.  Depending on the kernel's configuration based
      size, this 'extra' memory may contain data passed from the bootloader
      to the kernel itself, which if clobbered makes the kernel crash in
      various ways.
      
      The fix: Quit rounding the size up, so that we only use memory
      assigned to the kernel.
      Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
      Cc: <stable@vger.kernel.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5449/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      d949b4fe
    • Ralf Baechle's avatar
      MIPS: IP27: Fix build error if CONFIG_PCI=y and CONFIG_NUMA disabled. · 4f675e8a
      Ralf Baechle authored
      Then <asm-generic/topology.h> will define cpp macro as default definition
      for pcibus_to_node resulting in:
      
        CC      arch/mips/pci/pci-ip27.o
      arch/mips/pci/pci-ip27.c:220:7: error: expected identifier or ‘(’ before ‘void’
      arch/mips/pci/pci-ip27.c:220:12: error: expected ‘)’ before ‘(’ token
      make[1]: *** [arch/mips/pci/pci-ip27.o] Error 1
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      4f675e8a
    • Ralf Baechle's avatar
      MIPS: IP27: Fix build errors with CONFIG_PCI disabled. · 73ec78b0
      Ralf Baechle authored
        LD      init/built-in.o
      arch/mips/built-in.o: In function `xtalk_probe_node':
      (.cpuinit.text+0x67c): undefined reference to `bridge_probe'
      arch/mips/built-in.o: In function `xtalk_probe_node':
      (.cpuinit.text+0x7d8): undefined reference to `bridge_probe'
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      73ec78b0
    • Ralf Baechle's avatar
      MIPS: IP27: Fix build errors with CONFIG_PCI disabled. · 8ea2b8b6
      Ralf Baechle authored
        LD      init/built-in.o
      arch/mips/built-in.o: In function `startup_bridge_irq':
      ip27-irq.c:(.text+0x434): undefined reference to `irq_to_slot'
      ip27-irq.c:(.text+0x43c): undefined reference to `irq_to_slot'
      ip27-irq.c:(.text+0x460): undefined reference to `irq_to_bridge'
      ip27-irq.c:(.text+0x464): undefined reference to `irq_to_bridge'
      arch/mips/built-in.o: In function `shutdown_bridge_irq':
      ip27-irq.c:(.text+0x564): undefined reference to `irq_to_bridge'
      ip27-irq.c:(.text+0x56c): undefined reference to `irq_to_bridge'
      ip27-irq.c:(.text+0x5a0): undefined reference to `irq_to_slot'
      ip27-irq.c:(.text+0x5a4): undefined reference to `irq_to_slot'
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      8ea2b8b6
    • Ralf Baechle's avatar
      MIPS: IP27: Fix build error with CONFIG_MAPPED_KERNEL · 28963b1e
      Ralf Baechle authored
      Some of the TLB bit definitions in <asm/pgtable-bits.h> have become rather
      complex and are no longer usable from assembler resulting in an
      explosion like this:
      
        AS      arch/mips/kernel/head.o
      arch/mips/kernel/head.S: Assembler messages:
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: Illegal operands `li $12,(((1<<((cpu_has_rixi?(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1))))+1:(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))))+1))|(1<<(((cpu_has_rixi?(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1))))+1:(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))))+1)+1))|(5<<(((((cpu_has_rixi?(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1))))+1:(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))))+1)+1)+1)+1)))>>6)'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: missing ')'
      arch/mips/kernel/head.S:147: Error: Illegal operands `li $12,(((1<<((cpu_has_rixi?(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1))))+1:(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))))+1))|(1<<(((cpu_has_rixi?(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1))))+1:(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))))+1)+1))|(1<<((((cpu_has_rixi?(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1))))+1:(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))))+1)+1)+1))|(5<<(((((cpu_has_rixi?(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1))))+1:(cpu_has_rixi?((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))+1:((((((cpu_has_rixi?(0):(0)+1)+1)+1)+1)))))+1)+1)+1)+1)))>>6)'
      make[2]: *** [arch/mips/kernel/head.o] Error 1
      
      Since now MAPPED_KERNEL_SETUP_TLB is in platform-specific code it's safe
      to hardcode the TLB bits there.
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      28963b1e
    • Ralf Baechle's avatar
      MIPS: Move gas macro MAPPED_KERNEL_SETUP_TLB to IP27-specific code. · 23946ef1
      Ralf Baechle authored
      It's IP27-specific and can only cause trouble in head.S.
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      23946ef1
  2. 20 Jun, 2013 2 commits
  3. 18 Jun, 2013 6 commits
    • David Daney's avatar
      MIPS: Octeon: Fix build error if CONFIG_BUG=n · 368b0625
      David Daney authored
        CC      init/do_mounts.o
      In file included from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/dma-mapping.h:10:0,
                       from include/linux/dma-mapping.h:76,
                       from include/linux/skbuff.h:33,
                       from include/linux/icmpv6.h:4,
                       from include/linux/ipv6.h:59,
                       from include/net/ipv6.h:16,
                       from include/linux/sunrpc/clnt.h:26,
                       from include/linux/nfs_fs.h:30,
                       from init/do_mounts.c:30:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_map_dma_mem’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:24:1: warning: no return statement in function returning non-void [-Wreturn-type]
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_map_dma_mem_page’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:30:1: warning: no return statement in function returning non-void [-Wreturn-type]
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_dma_addr_to_phys’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:36:1: warning: no return statement in function returning non-void [-Wreturn-type]
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_dma_supported’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:47:1: warning: no return statement in function returning non-void [-Wreturn-type]
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_dma_mapping_error’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:63:1: warning: no return statement in function returning non-void [-Wreturn-type]
        LD      init/mounts.o
        CC      init/init_task.o
      In file included from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/dma-mapping.h:10:0,
                       from include/linux/dma-mapping.h:76,
                       from include/linux/skbuff.h:33,
                       from include/linux/netfilter.h:5,
                       from include/net/netns/netfilter.h:5,
                       from include/net/net_namespace.h:20,
                       from include/linux/init_task.h:14,
                       from init/init_task.c:1:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_map_dma_mem’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:24:1: warning: no return statement in function returning non-void [-Wreturn-type]
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_map_dma_mem_page’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:30:1: warning: no return statement in function returning non-void [-Wreturn-type]
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_dma_addr_to_phys’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:36:1: warning: no return statement in function returning non-void [-Wreturn-type]
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_dma_supported’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:47:1: warning: no return statement in function returning non-void [-Wreturn-type]
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_dma_mapping_error’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:63:1: warning: no return statement in function returning non-void [-Wreturn-type]
        LD      init/built-in.o
        CC      arch/mips/cavium-octeon/setup.o
      In file included from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/dma-mapping.h:10:0,
                       from include/linux/dma-mapping.h:76,
                       from include/asm-generic/pci-dma-compat.h:7,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/pci.h:129,
                       from include/linux/pci.h:1451,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/octeon/pci-octeon.h:12,
                       from arch/mips/cavium-octeon/setup.c:41:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_map_dma_mem’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:24:1: error: no return statement in function returning non-void [-Werror=return-type]
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_map_dma_mem_page’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:30:1: error: no return statement in function returning non-void [-Werror=return-type]
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_dma_addr_to_phys’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:36:1: error: no return statement in function returning non-void [-Werror=return-type]
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_dma_supported’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:47:1: error: no return statement in function returning non-void [-Werror=return-type]
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h: In function ‘plat_dma_mapping_error’:
      /home/ralf/src/linux/linux-mips/arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h:63:1: error: no return statement in function returning non-void [-Werror=return-type]
      cc1: all warnings being treated as errors
      make[2]: *** [arch/mips/cavium-octeon/setup.o] Error 1
      make[1]: *** [arch/mips/cavium-octeon] Error 2
      make: *** [arch/mips] Error 2
      
      [ralf@linux-mips.org: while at it, also include <linux/bug.h> directly.]
      Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
      Patchwork: https://patchwork.linux-mips.org/patch/5519/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      368b0625
    • Ralf Baechle's avatar
      MIPS: Oceton: Fix build error. · 39205750
      Ralf Baechle authored
      If CONFIG_CAVIUM_OCTEON_LOCK_L2_TLB, CONFIG_CAVIUM_OCTEON_LOCK_L2_EXCEPTION,
      CONFIG_CAVIUM_OCTEON_LOCK_L2_LOW_LEVEL_INTERRUPT and
      CONFIG_CAVIUM_OCTEON_LOCK_L2_INTERRUPT are all undefined:
      
      arch/mips/cavium-octeon/setup.c: In function ‘prom_init’:
      arch/mips/cavium-octeon/setup.c:715:12: error: unused variable ‘ebase’ [-Werror=unused-variable]
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      39205750
    • Ralf Baechle's avatar
    • Ralf Baechle's avatar
    • Ralf Baechle's avatar
    • Ralf Baechle's avatar
  4. 13 Jun, 2013 2 commits
  5. 10 Jun, 2013 3 commits
  6. 09 Jun, 2013 2 commits
    • Linus Torvalds's avatar
      Linux 3.10-rc5 · 317ddd25
      Linus Torvalds authored
      317ddd25
    • Mikulas Patocka's avatar
      hpfs: fix warnings when the filesystem fills up · bbd465df
      Mikulas Patocka authored
      This patch fixes warnings due to missing lock on write error path.
      
        WARNING: at fs/hpfs/hpfs_fn.h:353 hpfs_truncate+0x75/0x80 [hpfs]()
        Hardware name: empty
        Pid: 26563, comm: dd Tainted: P           O 3.9.4 #12
        Call Trace:
          hpfs_truncate+0x75/0x80 [hpfs]
          hpfs_write_begin+0x84/0x90 [hpfs]
          _hpfs_bmap+0x10/0x10 [hpfs]
          generic_file_buffered_write+0x121/0x2c0
          __generic_file_aio_write+0x1c7/0x3f0
          generic_file_aio_write+0x7c/0x100
          do_sync_write+0x98/0xd0
          hpfs_file_write+0xd/0x50 [hpfs]
          vfs_write+0xa2/0x160
          sys_write+0x51/0xa0
          page_fault+0x22/0x30
          system_call_fastpath+0x1a/0x1f
      Signed-off-by: default avatarMikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
      Cc: stable@kernel.org  # 2.6.39+
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bbd465df
  7. 08 Jun, 2013 2 commits
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 81db4dbf
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
      
       - Trivial: unused variable removal
      
       - Posix-timers: Add the clock ID to the new proc interface to make it
         useful.  The interface is new and should be functional when we reach
         the final 3.10 release.
      
       - Cure a false positive warning in the tick code introduced by the
         overhaul in 3.10
      
       - Fix for a persistent clock detection regression introduced in this
         cycle
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timekeeping: Correct run-time detection of persistent_clock.
        ntp: Remove unused variable flags in __hardpps
        posix-timers: Show clock ID in proc file
        tick: Cure broadcast false positive pending bit warning
      81db4dbf
    • Linus Torvalds's avatar
      Merge tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux · c3e58a79
      Linus Torvalds authored
      Pull irqdomain bug fixes from Grant Likely:
       "This branch contains a set of straight forward bug fixes to the
        irqdomain code and to a couple of drivers that make use of it."
      
      * tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux:
        irqchip: Return -EPERM for reserved IRQs
        irqdomain: document the simple domain first_irq
        kernel/irq/irqdomain.c: before use 'irq_data', need check it whether valid.
        irqdomain: export irq_domain_add_simple
      c3e58a79