1. 26 6月, 2013 5 次提交
  2. 24 6月, 2013 3 次提交
    • A
      ARM: mxs: don't select HAVE_PWM · ab182463
      Arnd Bergmann 提交于
      The HAVE_PWM symbol is only for legacy platforms that provide
      the PWM API without using the generic framework. MXS actually
      uses that framework, and selecting the symbol anyway might
      cause build errors like
      
      drivers/built-in.o: In function `pwm_beeper_resume':
      :(.text+0x1f4fc0): undefined reference to `pwm_config'
      :(.text+0x1f4fc8): undefined reference to `pwm_enable'
      drivers/built-in.o: In function `pwm_beeper_suspend':
      :(.text+0x1f4ffc): undefined reference to `pwm_disable'
      
      when CONFIG_PWM is disabled.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Shawn Guo <shawn.guo@linaro.org>
      ab182463
    • A
      ARM: mxs: stub out mxs_pm_init for !CONFIG_PM · 7a9caf59
      Arnd Bergmann 提交于
      When building a kernel without CONFIG_PM, we get a link
      error from referencing mxs_pm_init in the machine
      descriptor. This defines a macro to NULL for that case.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NShawn Guo <shawn.guo@linaro.org>
      7a9caf59
    • E
      ARM: mvebu: fix length of ethernet registers in mv78260 dtsi · cdd8e498
      Ezequiel Garcia 提交于
      The length of the registers area for the Marvell 370/XP Ethernet controller
      was incorrect in the .dtsi: 0x2500, while it should have been 0x4000.
      This problem wasn't noticed because there used to be a static mapping for
      all the MMIO register region set up by ->map_io().
      
      The register length was fixed in all the other device tree files,
      except from the armada-xp-mv78260.dtsi, in the following commit:
      
        commit cf8088c5
        Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
        Date:   Tue May 21 12:33:27 2013 +0200
      
          arm: mvebu: fix length of Ethernet registers area in .dtsi
      
      This commit fixes a kernel panic in mvneta_probe(), when the kernel
      tries to access the unmapped registers:
      
      [  163.639092] mvneta d0070000.ethernet eth0: mac: 6e:3c:4f:87:17:2e
      [  163.646962] mvneta d0074000.ethernet eth1: mac: 6a:04:4e:6f:f5:ef
      [  163.654853] mvneta d0030000.ethernet eth2: mac: 2a:99:19:19:fc:4c
      [  163.661258] Unable to handle kernel paging request at virtual address f011bcf0
      [  163.668523] pgd = c0004000
      [  163.671237] [f011bcf0] *pgd=2f006811, *pte=00000000, *ppte=00000000
      [  163.677565] Internal error: Oops: 807 [#1] SMP ARM
      [  163.682370] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.0-rc6-01850-gba0682e #11
      [  163.690046] task: ef04c000 ti: ef03e000 task.ti: ef03e000
      [  163.695467] PC is at mvneta_probe+0x34c/0xabc
      [...]
      Signed-off-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Acked-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: NJason Cooper <jason@lakedaemon.net>
      cdd8e498
  3. 21 6月, 2013 2 次提交
  4. 20 6月, 2013 1 次提交
  5. 18 6月, 2013 2 次提交
  6. 13 6月, 2013 3 次提交
  7. 12 6月, 2013 7 次提交
  8. 08 6月, 2013 2 次提交
    • D
      ARM: exynos: add debug_ll_io_init() call in exynos_init_io() · 9c1fcdcc
      Doug Anderson 提交于
      If the early MMU mapping of the UART happens to get booted out of the
      TLB between the start of paging_init() and when we finally re-add the
      UART at the very end of s3c_init_cpu(), we'll get a hang at bootup if
      we've got early_printk enabled.  Avoid this hang by calling
      debug_ll_io_init() early.
      
      Without this patch, you can reliably reproduce a hang when early
      printk is enabled by adding flush_tlb_all() at the start of
      exynos_init_io().  After this patch the hang goes away.
      Signed-off-by: NDoug Anderson <dianders@chromium.org>
      Acked-by: NKukjin Kim <kgene.kim@samsung.com>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      9c1fcdcc
    • T
      ARM: EXYNOS: uncompress - print debug messages if DEBUG_LL is defined · 437d8ac5
      Tushar Behera 提交于
      Printing low-level debug messages make an assumption that the specified
      UART port has been preconfigured by the bootloader. Incorrectly
      specified UART port results in system getting stalled while printing the
      message "Uncompressing Linux... done, booting the kernel"
      This UART port number is specified through S3C_LOWLEVEL_UART_PORT. Since
      the UART port might different for different board, it is not possible to
      specify it correctly for every board that use a common defconfig file.
      
      Calling this print subroutine only when DEBUG_LL fixes the problem. By
      disabling DEBUG_LL in default config file, we would be able to boot
      multiple boards with different default UART ports.
      
      With this current approach, we miss the print "Uncompressing Linux...
      done, booting the kernel." when DEBUG_LL is not defined.
      Signed-off-by: NTushar Behera <tushar.behera@linaro.org>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      437d8ac5
  9. 06 6月, 2013 6 次提交
    • J
      MIPS: ralink: add missing SZ_1M multiplier · cdfce539
      John Crispin 提交于
      On RT5350 the memory size is set to Bytes and not MegaBytes due to a missing
      multiplier.
      Signed-off-by: NJohn Crispin <blogic@openwrt.org>
      Cc: John Crispin <blogic@openwrt.org>
      Patchwork: https://patchwork.linux-mips.org/patch/5378/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      cdfce539
    • R
      MIPS: Compat: Fix cputime_to_timeval() arguments in compat binfmt_elf. · 7b741aa4
      Ralf Baechle 提交于
      cputime_to_timeval() takes a struct timeval *as its second argument but
      a struct compat_timeval * will be passed resulting in:
      
        CC      arch/mips/kernel/binfmt_elfn32.o
      In file included from arch/mips/kernel/binfmt_elfn32.c:122:0:
      arch/mips/kernel/../../../fs/binfmt_elf.c: In function ‘fill_prstatus’:
      arch/mips/kernel/../../../fs/binfmt_elf.c:1330:3: warning: passing argument 2 of ‘cputime_to_timeval’ from incompatible pointer type [enabled by default]
      In file included from include/asm-generic/cputime.h:12:0,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/cputime.h:4,
                       from include/linux/sched.h:28,
                       from include/linux/ptrace.h:5,
                       from include/uapi/linux/elfcore.h:7,
                       from include/linux/elfcore.h:7,
                       from arch/mips/kernel/binfmt_elfn32.c:55:
      include/asm-generic/cputime_nsecs.h:92:91: note: expected ‘struct timeval *’ but argument is of type ‘struct compat_timeval *’
      In file included from arch/mips/kernel/binfmt_elfn32.c:122:0:
      arch/mips/kernel/../../../fs/binfmt_elf.c:1331:3: warning: passing argument 2 of ‘cputime_to_timeval’ from incompatible pointer type [enabled by default]
      In file included from include/asm-generic/cputime.h:12:0,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/cputime.h:4,
                       from include/linux/sched.h:28,
                       from include/linux/ptrace.h:5,
                       from include/uapi/linux/elfcore.h:7,
                       from include/linux/elfcore.h:7,
                       from arch/mips/kernel/binfmt_elfn32.c:55:
      include/asm-generic/cputime_nsecs.h:92:91: note: expected ‘struct timeval *’ but argument is of type ‘struct compat_timeval *’
      In file included from arch/mips/kernel/binfmt_elfn32.c:122:0:
      arch/mips/kernel/../../../fs/binfmt_elf.c:1336:3: warning: passing argument 2 of ‘cputime_to_timeval’ from incompatible pointer type [enabled by default]
      In file included from include/asm-generic/cputime.h:12:0,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/cputime.h:4,
                       from include/linux/sched.h:28,
                       from include/linux/ptrace.h:5,
                       from include/uapi/linux/elfcore.h:7,
                       from include/linux/elfcore.h:7,
                       from arch/mips/kernel/binfmt_elfn32.c:55:
      include/asm-generic/cputime_nsecs.h:92:91: note: expected ‘struct timeval *’ but argument is of type ‘struct compat_timeval *’
      In file included from arch/mips/kernel/binfmt_elfn32.c:122:0:
      arch/mips/kernel/../../../fs/binfmt_elf.c:1337:3: warning: passing argument 2 of ‘cputime_to_timeval’ from incompatible pointer type [enabled by default]
      In file included from include/asm-generic/cputime.h:12:0,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/cputime.h:4,
                       from include/linux/sched.h:28,
                       from include/linux/ptrace.h:5,
                       from include/uapi/linux/elfcore.h:7,
                       from include/linux/elfcore.h:7,
                       from arch/mips/kernel/binfmt_elfn32.c:55:
      include/asm-generic/cputime_nsecs.h:92:91: note: expected ‘struct timeval *’ but argument is of type ‘struct compat_timeval *’
      In file included from arch/mips/kernel/binfmt_elfn32.c:122:0:
      arch/mips/kernel/../../../fs/binfmt_elf.c:1339:2: warning: passing argument 2 of ‘cputime_to_timeval’ from incompatible pointer type [enabled by default]
      In file included from include/asm-generic/cputime.h:12:0,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/cputime.h:4,
                       from include/linux/sched.h:28,
                       from include/linux/ptrace.h:5,
                       from include/uapi/linux/elfcore.h:7,
                       from include/linux/elfcore.h:7,
                       from arch/mips/kernel/binfmt_elfn32.c:55:
      include/asm-generic/cputime_nsecs.h:92:91: note: expected ‘struct timeval *’ but argument is of type ‘struct compat_timeval *’
      In file included from arch/mips/kernel/binfmt_elfn32.c:122:0:
      arch/mips/kernel/../../../fs/binfmt_elf.c:1340:2: warning: passing argument 2 of ‘cputime_to_timeval’ from incompatible pointer type [enabled by default]
      In file included from include/asm-generic/cputime.h:12:0,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/cputime.h:4,
                       from include/linux/sched.h:28,
                       from include/linux/ptrace.h:5,
                       from include/uapi/linux/elfcore.h:7,
                       from include/linux/elfcore.h:7,
                       from arch/mips/kernel/binfmt_elfn32.c:55:
      include/asm-generic/cputime_nsecs.h:92:91: note: expected ‘struct timeval *’ but argument is of type ‘struct compat_timeval *’
        AS      arch/mips/kernel/scall64-n32.o
        CC      arch/mips/kernel/signal_n32.o
        CC      arch/mips/kernel/binfmt_elfo32.o
      In file included from arch/mips/kernel/binfmt_elfo32.c:165:0:
      arch/mips/kernel/../../../fs/binfmt_elf.c: In function ‘fill_prstatus’:
      arch/mips/kernel/../../../fs/binfmt_elf.c:1330:3: warning: passing argument 2 of ‘cputime_to_timeval’ from incompatible pointer type [enabled by default]
      In file included from include/asm-generic/cputime.h:12:0,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/cputime.h:4,
                       from include/linux/sched.h:28,
                       from include/linux/ptrace.h:5,
                       from include/uapi/linux/elfcore.h:7,
                       from include/linux/elfcore.h:7,
                       from arch/mips/kernel/binfmt_elfo32.c:78:
      include/asm-generic/cputime_nsecs.h:92:91: note: expected ‘struct timeval *’ but argument is of type ‘struct compat_timeval *’
      In file included from arch/mips/kernel/binfmt_elfo32.c:165:0:
      arch/mips/kernel/../../../fs/binfmt_elf.c:1331:3: warning: passing argument 2 of ‘cputime_to_timeval’ from incompatible pointer type [enabled by default]
      In file included from include/asm-generic/cputime.h:12:0,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/cputime.h:4,
                       from include/linux/sched.h:28,
                       from include/linux/ptrace.h:5,
                       from include/uapi/linux/elfcore.h:7,
                       from include/linux/elfcore.h:7,
                       from arch/mips/kernel/binfmt_elfo32.c:78:
      include/asm-generic/cputime_nsecs.h:92:91: note: expected ‘struct timeval *’ but argument is of type ‘struct compat_timeval *’
      In file included from arch/mips/kernel/binfmt_elfo32.c:165:0:
      arch/mips/kernel/../../../fs/binfmt_elf.c:1336:3: warning: passing argument 2 of ‘cputime_to_timeval’ from incompatible pointer type [enabled by default]
      In file included from include/asm-generic/cputime.h:12:0,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/cputime.h:4,
                       from include/linux/sched.h:28,
                       from include/linux/ptrace.h:5,
                       from include/uapi/linux/elfcore.h:7,
                       from include/linux/elfcore.h:7,
                       from arch/mips/kernel/binfmt_elfo32.c:78:
      include/asm-generic/cputime_nsecs.h:92:91: note: expected ‘struct timeval *’ but argument is of type ‘struct compat_timeval *’
      In file included from arch/mips/kernel/binfmt_elfo32.c:165:0:
      arch/mips/kernel/../../../fs/binfmt_elf.c:1337:3: warning: passing argument 2 of ‘cputime_to_timeval’ from incompatible pointer type [enabled by default]
      In file included from include/asm-generic/cputime.h:12:0,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/cputime.h:4,
                       from include/linux/sched.h:28,
                       from include/linux/ptrace.h:5,
                       from include/uapi/linux/elfcore.h:7,
                       from include/linux/elfcore.h:7,
                       from arch/mips/kernel/binfmt_elfo32.c:78:
      include/asm-generic/cputime_nsecs.h:92:91: note: expected ‘struct timeval *’ but argument is of type ‘struct compat_timeval *’
      In file included from arch/mips/kernel/binfmt_elfo32.c:165:0:
      arch/mips/kernel/../../../fs/binfmt_elf.c:1339:2: warning: passing argument 2 of ‘cputime_to_timeval’ from incompatible pointer type [enabled by default]
      In file included from include/asm-generic/cputime.h:12:0,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/cputime.h:4,
                       from include/linux/sched.h:28,
                       from include/linux/ptrace.h:5,
                       from include/uapi/linux/elfcore.h:7,
                       from include/linux/elfcore.h:7,
                       from arch/mips/kernel/binfmt_elfo32.c:78:
      include/asm-generic/cputime_nsecs.h:92:91: note: expected ‘struct timeval *’ but argument is of type ‘struct compat_timeval *’
      In file included from arch/mips/kernel/binfmt_elfo32.c:165:0:
      arch/mips/kernel/../../../fs/binfmt_elf.c:1340:2: warning: passing argument 2 of ‘cputime_to_timeval’ from incompatible pointer type [enabled by default]
      In file included from include/asm-generic/cputime.h:12:0,
                       from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/cputime.h:4,
                       from include/linux/sched.h:28,
                       from include/linux/ptrace.h:5,
                       from include/uapi/linux/elfcore.h:7,
                       from include/linux/elfcore.h:7,
                       from arch/mips/kernel/binfmt_elfo32.c:78:
      include/asm-generic/cputime_nsecs.h:92:91: note: expected ‘struct timeval *’ but argument is of type ‘struct compat_timeval *’
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      7b741aa4
    • D
      MIPS: OCTEON: Improve _machine_halt implementation. · 38c3c0f6
      David Daney 提交于
      As noted by Wladislav Wiebe:
         $ halt
         ..
         Sent SIGKILL to all processes
         Requesting system halt
         [66.729373] System halted.
         [66.733244]
         [66.734761] =====================================
         [66.739473] [ BUG: lock held at task exit time! ]
         [66.744188] 3.8.7-0-sampleversion-fct #49 Tainted: G           O
         [66.750202] -------------------------------------
         [66.754913] init/21479 is exiting with locks still held!
         [66.760234] 1 lock held by init/21479:
         [66.763990]  #0:  (reboot_mutex){+.+...}, at: [<ffffffff801776c8>] SyS_reboot+0xe0/0x218
         [66.772165]
         [66.772165] stack backtrace:
         [66.776532] Call Trace:
         [66.778992] [<ffffffff805780a8>] dump_stack+0x8/0x34
         [66.783972] [<ffffffff801618b0>] do_exit+0x610/0xa70
         [66.788948] [<ffffffff801777a8>] SyS_reboot+0x1c0/0x218
         [66.794186] [<ffffffff8013d6a4>] handle_sys64+0x44/0x64
      
      This is an alternative fix to the one sent by Wladislav.  We kill the
      watchdog for each CPU and then spin in WAIT with interrupts disabled.
      This is the lowest power mode for the OCTEON.  If we were to spin with
      interrupts enabled, we would get a continual stream of warning messages
      and backtraces from the lockup detector, so I chose to disable
      interrupts.
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Cc: Maxim Uvarov <muvarov@gmail.com>
      Cc: Wladislav Wiebe <wladislav.kw@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: David Daney <david.daney@cavium.com>
      Patchwork: https://patchwork.linux-mips.org/patch/5324/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      38c3c0f6
    • Y
      MIPS: rtlx: Fix implicit declaration of function set_vi_handler() · 406b5ee2
      Yoichi Yuasa 提交于
      arch/mips/kernel/rtlx.c: In function 'rtlx_module_init':
      arch/mips/kernel/rtlx.c:523:3: error: implicit declaration of function 'set_vi_handler' [-Werror=implicit-function-declaration]
      Signed-off-by: NYoichi Yuasa <yuasa@linux-mips.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5340/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      406b5ee2
    • P
      arch, mm: Remove tlb_fast_mode() · 29eb7782
      Peter Zijlstra 提交于
      Since the introduction of preemptible mmu_gather TLB fast mode has been
      broken. TLB fast mode relies on there being absolutely no concurrency;
      it frees pages first and invalidates TLBs later.
      
      However now we can get concurrency and stuff goes *bang*.
      
      This patch removes all tlb_fast_mode() code; it was found the better
      option vs trying to patch the hole by entangling tlb invalidation with
      the scheduler.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Tony Luck <tony.luck@intel.com>
      Reported-by: NMax Filippov <jcmvbkbc@gmail.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      29eb7782
    • M
      x86/PCI: Map PCI setup data with ioremap() so it can be in highmem · 65694c5a
      Matt Fleming 提交于
      f9a37be0 ("x86: Use PCI setup data") added support for using PCI ROM
      images from setup_data.  This used phys_to_virt(), which is not valid for
      highmem addresses, and can cause a crash when booting a 32-bit kernel via
      the EFI boot stub.
      
      pcibios_add_device() assumes that the physical addresses stored in
      setup_data are accessible via the direct kernel mapping, and that calling
      phys_to_virt() is valid.  This isn't guaranteed to be true on x86 where the
      direct mapping range is much smaller than on x86-64.
      
      Calling phys_to_virt() on a highmem address results in the following:
      
       BUG: unable to handle kernel paging request at 39a3c198
       IP: [<c262be0f>] pcibios_add_device+0x2f/0x90
       ...
       Call Trace:
        [<c2370c73>] pci_device_add+0xe3/0x130
        [<c274640b>] pci_scan_single_device+0x8b/0xb0
        [<c2370d08>] pci_scan_slot+0x48/0x100
        [<c2371904>] pci_scan_child_bus+0x24/0xc0
        [<c262a7b0>] pci_acpi_scan_root+0x2c0/0x490
        [<c23b7203>] acpi_pci_root_add+0x312/0x42f
        ...
      
      The solution is to use ioremap() instead of phys_to_virt() to map the
      setup data into the kernel address space.
      
      [bhelgaas: changelog]
      Tested-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NMatt Fleming <matt.fleming@intel.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Cc: Seth Forshee <seth.forshee@canonical.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: stable@vger.kernel.org	# v3.8+
      65694c5a
  10. 04 6月, 2013 1 次提交
  11. 03 6月, 2013 8 次提交