1. 06 6月, 2013 3 次提交
    • 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
  2. 23 5月, 2013 6 次提交
    • M
      MIPS: Trap exception handling fixes · a9a6e7a0
      Maciej W. Rozycki 提交于
      2a0b24f5 broke Trap exception handling in
      the standard MIPS mode.  Additionally the microMIPS-mode trap code mask is
      wrong, as it's a 4-bit field.  Here's a fix.
      Signed-off-by: NMaciej W. Rozycki <macro@codesourcery.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5309/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      a9a6e7a0
    • D
      MIPS: Quit exposing Kconfig symbols in uapi headers. · 8f657933
      David Daney 提交于
      The kernel's struct pt_regs has many fields conditional on various
      Kconfig variables, we cannot be exporting this garbage to user-space.
      
      Move the kernel's definition to asm/ptrace.h, and put a uapi only
      version in uapi/asm/ptrace.h gated by #ifndef __KERNEL__
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5305/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      8f657933
    • D
      MIPS: Remove duplicate definition of check_for_high_segbits. · be8a6d45
      David Daney 提交于
      In C, one definition is sufficient.
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5304/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      be8a6d45
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 · 101b82f5
      Linus Torvalds 提交于
      Pull AVR32 update from Hans-Christian Egtvedt:
       "wow, it has gone 10 releases since my last request :("
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
        avr32: fix building warnings caused by redefinitions of HZ
        avr32: fix relocation check for signed 18-bit offset
        avr32: move NODES_SHIFT into Kconfig and delete numnodes.h
      101b82f5
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 3cb7a59f
      Linus Torvalds 提交于
      Pull MIPS update from Ralf Baechle:
       - Fix a build error if <linux/printk.h> is included without
         <linux/linkage.h> having been included before.
       - Cleanup and fix the damage done by the generic idle loop patch.
       - A kprobes fix that brings the MIPS code in line with what other
         architectures are for quite a while already.
       - Wire up the native getdents64(2) syscall for 64 bit - for some reason
         it was only for the compat ABIs.  This has been reported to cause an
         application issue.  This turned out bigger than I meant but the wait
         instruction support code was driving me nuts.
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: N64: Wire getdents64(2)
        kprobes/mips: Fix to check double free of insn slot
        MIPS: Idle: Break r4k_wait into two functions and fix it.
        MIPS: Idle: Do address fiddlery in helper functions.
        MIPS: Idle: Consolidate all declarations in <asm/idle.h>.
        MIPS: Idle: Don't call local_irq_disable() in cpu_wait() implementations.
        MIPS: Idle: Re-enable irqs at the end of r3081, au1k and loongson2 cpu_wait.
        MIPS: Idle: Make call of function pointer readable.
        MIPS: Idle: Consistently reformat inline assembler.
        MIPS: Idle: cleaup SMTC idle hook as per Linux coding style.
        MIPS: Consolidate idle loop / WAIT instruction support in a single file.
        MIPS: clock.h: Remove declaration of cpu_wait.
        Add include dependencies to <linux/printk.h>.
        MIPS: Rewrite pfn_valid to work in modules, too.
      3cb7a59f
    • J
      avr32: fix building warnings caused by redefinitions of HZ · 0c9b5a31
      Jiang Liu 提交于
      As suggested by David Howells <dhowells@redhat.com>, use
      asm-generic/param.h and uapi/asm-generic/param.h for AVR32.
      
      It also fixes building warnings caused by redefinitions of HZ:
      In file included from /ws/linux/kernel/linux.git/include/uapi/linux/param.h:4,
                       from include/linux/timex.h:63,
                       from include/linux/jiffies.h:8,
                       from include/linux/ktime.h:25,
                       from include/linux/timer.h:5,
                       from include/linux/workqueue.h:8,
                       from include/linux/srcu.h:34,
                       from include/linux/notifier.h:15,
                       from include/linux/memory_hotplug.h:6,
                       from include/linux/mmzone.h:777,
                       from include/linux/gfp.h:4,
                       from arch/avr32/mm/init.c:10:
      /ws/linux/kernel/linux.git/arch/avr32/include/asm/param.h:6:1: warning: "HZ" redefined
      In file included from /ws/linux/kernel/linux.git/arch/avr32/include/asm/param.h:4,
                       from /ws/linux/kernel/linux.git/include/uapi/linux/param.h:4,
                       from include/linux/timex.h:63,
                       from include/linux/jiffies.h:8,
                       from include/linux/ktime.h:25,
                       from include/linux/timer.h:5,
                       from include/linux/workqueue.h:8,
                       from include/linux/srcu.h:34,
                       from include/linux/notifier.h:15,
                       from include/linux/memory_hotplug.h:6,
                       from include/linux/mmzone.h:777,
                       from include/linux/gfp.h:4,
                       from arch/avr32/mm/init.c:10:
      /ws/linux/kernel/linux.git/arch/avr32/include/uapi/asm/param.h:6:1: warning: this is the location of the previous definition
      Signed-off-by: NJiang Liu <jiang.liu@huawei.com>
      Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NHans-Christian Egtvedt <egtvedt@samfundet.no>
      0c9b5a31
  3. 22 5月, 2013 21 次提交
    • R
      mm: Fix virt_to_page() warning · bb3ec6b0
      Ralf Baechle 提交于
      virt_to_page() is typically implemented as a macro containing a cast so
      that it will accept both pointers and unsigned long without causing a
      warning.
      
      But MIPS virt_to_page() uses virt_to_phys which is a function so passing
      an unsigned long will cause a warning:
      
          CC      mm/page_alloc.o
        mm/page_alloc.c: In function ‘free_reserved_area’:
        mm/page_alloc.c:5161:3: warning: passing argument 1 of ‘virt_to_phys’ makes pointer from integer without a cast [enabled by default]
        arch/mips/include/asm/io.h:119:100: note: expected ‘const volatile void *’ but argument is of type ‘long unsigned int’
      
      All others users of virt_to_page() in mm/ are passing a void *.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Reported-by: NEunbong Song <eunb.song@samsung.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mm@kvack.org
      Cc: linux-mips@linux-mips.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bb3ec6b0
    • L
      Merge tag 'mfd-fixes-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-fixes · cbfd2cd7
      Linus Torvalds 提交于
      Pull mfd fixes from Samuel Ortiz:
       "This is the first batch of MFD fixes for 3.10.
      
        It's bigger than I would like, most of it is due to the big ab/db8500
        merge that went through during the 3.10 merge window.
      
        So we have:
      
         - Some build fixes for the tps65912 and ab8500 drivers.
         - A couple of build fixes for the the si476x driver with pre 4.3 gcc
           compilers.
         - A few runtime breakage fixes (probe failures or oopses) for the
           ab8500 and db8500 drivers.
         - Some sparse or regular gcc warning fixes for the si476x, ab8500 and
           cros_ec drivers."
      
      * tag 'mfd-fixes-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-fixes:
        mfd: ab8500-sysctrl: Let sysctrl driver work without pdata
        mfd: db8500-prcmu: Update stored DSI PLL divider value
        mfd: ab8500-sysctrl: Always enable pm_power_off handler
        mfd: ab8500-core: Pass GPADC compatible string to MFD core
        mfd: db8500-prcmu: Supply the pdata_size attribute for db8500-thermal
        mfd: ab8500-core: Use the correct driver name when enabling gpio/pinctrl
        mfd: ab8500: Pass AB8500 IRQ to debugfs code by resource
        mfd: ab8500-gpadc: Suppress 'ignoring regulator_enable() return value' warning
        mfd: ab8500-sysctrl: Set sysctrl_dev during probe
        mfd: ab8500-sysctrl: Fix sparse warning
        mfd: abx500-core: Fix sparse warning
        mfd: ab8500: Debugfs code depends on gpadc
        mfd: si476x: Use get_unaligned_be16() for unaligned be16 loads
        mfd: cros_ec_spi: Use %z to format pointer differences
        mfd: si476x: Do not use binary constants
        mfd: tps65912: Select MFD_CORE
      cbfd2cd7
    • L
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · 94f1be97
      Linus Torvalds 提交于
      Pull virtio fixes from Rusty Russell:
       "A build fix and a uapi exposure fix.  The build fix is later than I
        liked, but my first version broke linux-next due to overzealous header
        clean."
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        virtio_console: fix uapi header
        Hoist memcpy_fromiovec/memcpy_toiovec into lib/
      94f1be97
    • A
      MIPS: N64: Wire getdents64(2) · dec33aba
      Aron Xu 提交于
      As a relatively new ABI, N64 only had getdents syscall while other modern
      architectures have getdents64.
      
      This was noticed when Python 3.3 shifted to the latter one for aarch64.
      
      [ralf@linux-mips.org: The history of getdents64 is a little complicated.
      Commit 1a1d77dd589de5a567fa95e36aa6999c704ceca4 [Merge with 2.4.0-test7.]
      added N64 getdents(2) to arch/mips64/kernel/scall_64.S as syscall 5213,
      then dropped again in 578720675c44e54e8aa7c68f6dce59ed37ce3d3b [Overhaul
      of the 64-bit syscall interface.  Now heritage free.] for 2.5.18 in 2002.]
      Signed-off-by: NAron Xu <aron@debian.org>
      Acked-by: NDavid Daney <david.daney@cavium.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5285/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      dec33aba
    • M
      kprobes/mips: Fix to check double free of insn slot · 22047b85
      Masami Hiramatsu 提交于
      Fix to check double free of insn_slot at arch_remove_kprobe
      as other arches do.
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: David Daney <ddaney@caviumnetworks.com>
      Cc: Maneesh Soni <manesoni@cisco.com>
      Cc: Victor Kamensky <kamensky@cisco.com>
      Cc: linux-mips@linux-mips.org
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Cc: yrl.pp-manager.tt@hitachi.com
      Cc: systemtap@sourceware.org
      Patchwork: https://patchwork.linux-mips.org/patch/5293/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      22047b85
    • R
      MIPS: Idle: Break r4k_wait into two functions and fix it. · 087d990b
      Ralf Baechle 提交于
      local_irq_enable() may expand into very different code, so it rather should
      stay in C.  Also this keeps the assembler code size constant which keeps
      the rollback code simple.  So it's best to split r4k_wait into two parts,
      one C and one assembler.
      
      Finally add the local_irq_enable() to r4k_wait to ensure the WAIT
      instruction in __r4k_wait() will work properly.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      087d990b
    • R
      f94d9a8e
    • R
      bdc92d74
    • R
      MIPS: Idle: Don't call local_irq_disable() in cpu_wait() implementations. · d882f07a
      Ralf Baechle 提交于
      The generic idle loop has already disabled interrupts so this is redundant.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      d882f07a
    • R
      MIPS: Idle: Re-enable irqs at the end of r3081, au1k and loongson2 cpu_wait. · fb40bc3e
      Ralf Baechle 提交于
      Without this, the
      
          WARN_ON_ONCE(irqs_disabled());
      
      in the idle loop will be triggered.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      fb40bc3e
    • R
      c9b6869d
    • R
      f91a148a
    • R
      00baf857
    • R
    • R
      MIPS: clock.h: Remove declaration of cpu_wait. · 1a461c5b
      Ralf Baechle 提交于
      Duplicate and has no business in this header file.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      1a461c5b
    • R
      Add include dependencies to <linux/printk.h>. · 154c2670
      Ralf Baechle 提交于
      If <linux/linkage.h> has not been included before <linux/printk.h>,
      a build error like the below one will result:
      
        CC      arch/mips/kernel/idle.o
      In file included from arch/mips/kernel/idle.c:17:0:
      include/linux/printk.h:109:1: error: data definition has no type or storage class [-Werror]
      include/linux/printk.h:109:1: error: type defaults to ‘int’ in declaration of ‘asmlinkage’ [-Werror=implicit-int]
      include/linux/printk.h:110:1: error: ‘format’ attribute only applies to function types [-Werror=attributes]
      include/linux/printk.h:110:1: error: expected ‘,’ or ‘;’ before ‘int’
      include/linux/printk.h:114:1: error: data definition has no type or storage class [-Werror]
      include/linux/printk.h:114:1: error: type defaults to ‘int’ in declaration of ‘asmlinkage’ [-Werror=implicit-int]
      include/linux/printk.h:115:1: error: ‘format’ attribute only applies to function types [-Werror=attributes]
      include/linux/printk.h:115:1: error: expected ‘,’ or ‘;’ before ‘int’
      include/linux/printk.h:117:1: error: data definition has no type or storage class [-Werror]
      include/linux/printk.h:117:1: error: type defaults to ‘int’ in declaration of ‘asmlinkage’ [-Werror=implicit-int]
      include/linux/printk.h:118:1: error: ‘format’ attribute only applies to function types [-Werror=attributes]
      include/linux/printk.h:118:1: error: ‘__cold__’ attribute ignored [-Werror=attributes]
      include/linux/printk.h:118:1: error: expected ‘,’ or ‘;’ before ‘asmlinkage’
      include/linux/printk.h:122:1: error: data definition has no type or storage class [-Werror]
      include/linux/printk.h:122:1: error: type defaults to ‘int’ in declaration of ‘asmlinkage’ [-Werror=implicit-int]
      include/linux/printk.h:123:1: error: ‘format’ attribute only applies to function types [-Werror=attributes]
      include/linux/printk.h:123:1: error: ‘__cold__’ attribute ignored [-Werror=attributes]
      include/linux/printk.h:123:1: error: expected ‘,’ or ‘;’ before ‘int’
      In file included from include/linux/kernel.h:14:0,
                       from include/linux/sched.h:15,
                       from arch/mips/kernel/idle.c:18:
      include/linux/dynamic_debug.h: In function ‘ddebug_dyndbg_module_param_cb’:
      include/linux/dynamic_debug.h:124:3: error: implicit declaration of function ‘printk’ [-Werror=implicit-function-declaration]
      
      Fixed by including <linux/linkage.h>.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      154c2670
    • F
      mfd: ab8500-sysctrl: Let sysctrl driver work without pdata · 5649d8f9
      Fabio Baltieri 提交于
      A check for a valid plat->sysctrl was introduced in:
      
      2377e52f mfd: ab8500-sysctrl: Error check clean up
      
      but the driver works just fine even without that initialization data,
      and enforcing it breaks existing platforms for no reason.
      
      This patch removes the check and let the driver go ahead with probe.
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NFabio Baltieri <fabio.baltieri@linaro.org>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      5649d8f9
    • L
      Merge branch 'leds-fixes-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds · 519fe2ec
      Linus Torvalds 提交于
      Pull LED subsystem fix from Bryan Wu.
      
      * 'leds-fixes-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
        leds: leds-gpio: reserve gpio before using it
      519fe2ec
    • T
      leds: leds-gpio: reserve gpio before using it · 803d19d5
      Timo Teräs 提交于
      This reverts commit a99d76f9 (leds: leds-gpio: use gpio_request_one)
      and commit 2d7c22f6 (leds: leds-gpio: set devm_gpio_request_one()
      flags param correctly) which was a fix of the first one.
      
      The conversion to devm_gpio_request in commit e3b1d44c (leds:
      leds-gpio: use devm_gpio_request_one) is not reverted.
      
      The problem is that gpio_cansleep() and gpio_get_value_cansleep()
      calls can crash if the gpio is not first reserved. Incidentally this
      same bug existed earlier and was fixed similarly in commit d95cbe61
      (leds: Fix potential leds-gpio oops). But the OOPS is real. It happens
      when GPIOs are provided by module which is not yet loaded.
      
      So this fixes the following BUG during my ALIX boot (3.9.2-vanilla):
      
      BUG: unable to handle kernel NULL pointer dereference at 0000004c
      IP: [<c11287d6>] __gpio_cansleep+0xe/0x1a
      *pde = 00000000
      Oops: 0000 [#1] SMP
      Modules linked in: leds_gpio(+) via_rhine mii cs5535_mfd mfd_core
      geode_rng rng_core geode_aes isofs nls_utf8 nls_cp437 vfat fat
      ata_generic pata_amd pata_cs5536 pata_acpi libata ehci_pci ehci_hcd
      ohci_hcd usb_storage usbcore usb_common sd_mod scsi_mod squashfs loop
      Pid: 881, comm: modprobe Not tainted 3.9.2 #1-Alpine
      EIP: 0060:[<c11287d6>] EFLAGS: 00010282 CPU: 0
      EIP is at __gpio_cansleep+0xe/0x1a
      EAX: 00000000 EBX: cf364018 ECX: c132b8b9 EDX: 00000000
      ESI: c13993a4 EDI: c1399370 EBP: cded9dbc ESP: cded9dbc
       DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      CR0: 8005003b CR2: 0000004c CR3: 0f0c4000 CR4: 00000090
      DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
      DR6: ffff0ff0 DR7: 00000400
      Process modprobe (pid: 881, ti=cded8000 task=cf094aa0 task.ti=cded8000)
      Stack:
       cded9de0 d09471cb 00000000 c1399260 cf364014 00000000 c1399260 c1399254
       d0949014 cded9df4 c118cd59 c1399260 d0949014 d0949014 cded9e08 c118ba47
       c1399260 d0949014 c1399294 cded9e1c c118bb75 cded9e24 d0949014 00000000
      Call Trace:
       [<d09471cb>] gpio_led_probe+0xba/0x203 [leds_gpio]
       [<c118cd59>] platform_drv_probe+0x26/0x48
       [<c118ba47>] driver_probe_device+0x75/0x15c
       [<c118bb75>] __driver_attach+0x47/0x63
       [<c118a727>] bus_for_each_dev+0x3c/0x66
       [<c118b6f9>] driver_attach+0x14/0x16
       [<c118bb2e>] ? driver_probe_device+0x15c/0x15c
       [<c118b3d5>] bus_add_driver+0xbd/0x1bc
       [<d08b4000>] ? 0xd08b3fff
       [<d08b4000>] ? 0xd08b3fff
       [<c118bffc>] driver_register+0x74/0xec
       [<d08b4000>] ? 0xd08b3fff
       [<c118c8e8>] platform_driver_register+0x38/0x3a
       [<d08b400d>] gpio_led_driver_init+0xd/0x1000 [leds_gpio]
       [<c100116c>] do_one_initcall+0x6b/0x10f
       [<d08b4000>] ? 0xd08b3fff
       [<c105e918>] load_module+0x1631/0x1907
       [<c10975d6>] ? insert_vmalloc_vmlist+0x14/0x43
       [<c1098d5b>] ? __vmalloc_node_range+0x13e/0x15f
       [<c105ec50>] sys_init_module+0x62/0x77
       [<c1257888>] syscall_call+0x7/0xb
      EIP: [<c11287d6>] __gpio_cansleep+0xe/0x1a SS:ESP 0068:cded9dbc
      CR2: 000000000000004c
       ---[ end trace 5308fb20d2514822 ]---
      Signed-off-by: NTimo Teräs <timo.teras@iki.f>
      Cc: Sachin Kamat <sachin.kamat@linaro.org>
      Cc: Raphael Assenat <raph@8d.com>
      Cc: Trent Piepho <tpiepho@freescale.com>
      Cc: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
      Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
      Cc: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
      Acked-by: NJingoo Han <jg1.han@samsung.com>
      Signed-off-by: NBryan Wu <cooloney@gmail.com>
      803d19d5
    • L
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · e748a385
      Linus Torvalds 提交于
      Pull i2c bugfixes from Wolfram Sang:
       "These should have been in rc2 but I missed it due to working on devm
        longer than expected.
      
        There is one ID addition, since we are touching the driver anyhow.
        And the feature bit documentation is one outcome of a debug session
        and will make it easier for users to work around problems.  The rest
        is typical driver bugfixes."
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: suppress lockdep warning on delete_device
        i2c: mv64xxx: work around signals causing I2C transactions to be aborted
        i2c: i801: Document feature bits in modinfo
        i2c: designware: add Intel BayTrail ACPI ID
        i2c: designware: always clear interrupts before enabling them
        i2c: designware: fix RX FIFO overrun
      e748a385
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · c4ad180f
      Linus Torvalds 提交于
      Pull s390 update from Martin Schwidefsky:
       "An additional sysfs attribute for channel paths and a couple of bux
        fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/pgtable: fix ipte notify bit
        s390/xpram: mark xpram as non-rotational
        s390/smp: fix cpu re-scan vs. cpu state
        s390/cio: add channel ID sysfs attribute
        s390/ftrace: fix mcount adjustment
        s390: fix gmap_ipte_notifier vs. software dirty pages
        s390: disable pfmf for clear page instruction
        s390/disassembler: prevent endless loop in print_fn_code()
        s390: remove non existent reference to GENERIC_KERNEL_THREAD
      c4ad180f
  4. 21 5月, 2013 10 次提交
    • S
      ARM: smp: Drop RCU_NONIDLE usage in cpu_die() · aa033810
      Stephen Boyd 提交于
      Before f7b861b7 ("arm: Use generic idle loop") ARM would kill the
      CPU within the rcu idle section.  Now that the rcu_idle_enter()/exit()
      pair have been pushed lower down in the idle loop this is no longer true
      and so using RCU_NONIDLE here is no longer necessary and also harmful
      because RCU is not actually idle at this point.
      
      Cc: Russell King <linux@arm.linux.org.uk>
      Acked-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      aa033810
    • L
      Merge branch 'drm-radeon-sun-hainan' of git://people.freedesktop.org/~airlied/linux · 0ddaa974
      Linus Torvalds 提交于
      Pull radeon sun/hainan support from  Dave Airlie:
       "Since I know its outside the merge window, but since this is new hw I
        thought I'd try and provoke the new hw exception, it just fills in the
        blanks in the driver for the new AMD sun and hainan chipsets."
      
      * 'drm-radeon-sun-hainan' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon: add Hainan pci ids
        drm/radeon: add golden register settings for Hainan (v2)
        drm/radeon: sun/hainan chips do not have UVD (v2)
        drm/radeon: track which asics have UVD
        drm/radeon: radeon-asic updates for Hainan
        drm/radeon: fill in ucode loading support for Hainan
        drm/radeon: don't touch DCE or VGA regs on Hainan (v3)
        drm/radeon: fill in GPU init for Hainan (v2)
        drm/radeon: add chip family for Hainan
      0ddaa974
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 007b703b
      Linus Torvalds 提交于
      Pull DRM fixes from Dave Airlie:
       "This is just a set of nouveau and radeon fixes, the nouveau ones fix
        some suspend/resume regressions since use of copy engines and some
        fixes for Z compression on some newer chipsets."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon/dce2: use 10khz units for audio dto calculation
        drm/radeon: Fix VRAM size calculation for VRAM >= 4GB
        drm/radeon: Remove superfluous variable
        drm/nouveau: ensure channels are stopped before saving fences for suspend
        drm/nv50/fifo: prevent races between clients updating playlists
        drm/nvc0/fifo: prevent CHAN_TABLE_ERROR:CHANNEL_PENDING on fifo fini
        drm/nvc0/fifo: prevent races between clients updating playlists
        drm/nve0/fifo: prevent races between clients updating playlists
        drm/nve0/ltcg: poke the partition count into yet another register
        drm/nvc0/ltcg: fix handling of disabled partitions
        drm/nvc0/ce: disable ce1 on a number of chipsets
        drm/nouveau/bios: fix thinko in ZM_MASK_ADD opcode
        drm/nouveau: fix build with nv50->nvc0
      007b703b
    • D
      Merge branch 'drm-fixes-3.10-sun' of git://people.freedesktop.org/~agd5f/linux into drm-next · cc3e06a5
      Dave Airlie 提交于
      This is the pull request for AMD Sun/Hainan support.  I've
      split it out separately from my regular fixes stream.  Hainan
      is a new SI asic with no UVD or DCE hardware.  The patches are
      minimally invasive; basically just pci ids and skipping UVD and
      DCE init for this family.  Most of the changes to si.c are just
      the golden register tables for the family.
      
      * 'drm-fixes-3.10-sun' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon: add Hainan pci ids
        drm/radeon: add golden register settings for Hainan (v2)
        drm/radeon: sun/hainan chips do not have UVD (v2)
        drm/radeon: track which asics have UVD
        drm/radeon: radeon-asic updates for Hainan
        drm/radeon: fill in ucode loading support for Hainan
        drm/radeon: don't touch DCE or VGA regs on Hainan (v3)
        drm/radeon: fill in GPU init for Hainan (v2)
        drm/radeon: add chip family for Hainan
      cc3e06a5
    • D
      Merge branch 'drm-fixes-3.10' of git://people.freedesktop.org/~agd5f/linux into drm-next · a3f69026
      Dave Airlie 提交于
      Minor bug fixes.
      
      * 'drm-fixes-3.10' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon/dce2: use 10khz units for audio dto calculation
        drm/radeon: Fix VRAM size calculation for VRAM >= 4GB
        drm/radeon: Remove superfluous variable
      a3f69026
    • L
      Linux 3.10-rc2 · c7788792
      Linus Torvalds 提交于
      c7788792
    • L
      Merge tag 'stable/for-linus-3.10-rc1-tag' of... · 669c7433
      Linus Torvalds 提交于
      Merge tag 'stable/for-linus-3.10-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull Xen fixes from Konrad Rzeszutek Wilk:
       - Regression fix in xen privcmd fixing a memory leak.
       - Add Documentation for tmem driver.
       - Simplify and remove code in the tmem driver.
       - Cleanups.
      
      * tag 'stable/for-linus-3.10-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen: Fixed assignment error in if statement
        xen/xenbus: Fixed over 80 character limit issue
        xen/xenbus: Fixed indentation error in switch case
        xen/tmem: Don't use self[ballooning|shrinking] if frontswap is off.
        xen/tmem: Remove the usage of '[no|]selfballoon' and use 'tmem.selfballooning' bool instead.
        xen/tmem: Remove the usage of 'noselfshrink' and use 'tmem.selfshrink' bool instead.
        xen/tmem: Remove the boot options and fold them in the tmem.X parameters.
        xen/tmem: s/disable_// and change the logic.
        xen/tmem: Fix compile warning.
        xen/tmem: Split out the different module/boot options.
        xen/tmem: Move all of the boot and module parameters to the top of the file.
        xen/tmem: Cleanup. Remove the parts that say temporary.
        xen/privcmd: fix condition in privcmd_close()
      669c7433
    • L
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 622f2234
      Linus Torvalds 提交于
      Pull hwmon fixes from Guenter Roeck:
      
       - Error path fixes for abituguru and iio_hwmon drivers.
      
       - Drop erroneously created attributes from nct6775 driver.
      
       - Drop redundant safety on cache lifetime for tmp401 driver.
      
       - Add explicit maintainer for LM95234 and TMP401 drivers.
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        MAINTAINERS: Add myself as maintainer for LM95234 and TMP401 drivers
        hwmon: (tmp401) Drop redundant safety on cache lifetime
        hwmon: fix error return code in abituguru_probe()
        hwmon: (iio_hwmon) Fix null pointer dereference
        hwmon: (nct6775) Do not create non-existing attributes
        hwmon: (iio_hwmon) Fix missing iio_channel_release_all call if devm_kzalloc fail
      622f2234
    • L
      x86: Fix bit corruption at CPU resume time · 5e427ec2
      Linus Torvalds 提交于
      In commit 78d77df7 ("x86-64, init: Do not set NX bits on non-NX
      capable hardware") we added the early_pmd_flags that gets the NX bit set
      when a CPU supports NX. However, the new variable was marked __initdata,
      because the main _use_ of this is in an __init routine.
      
      However, the bit setting happens from secondary_startup_64(), which is
      called not only at bootup, but on every secondary CPU start.  Including
      resuming from STR and at CPU hotplug time.  So the value cannot be
      __initdata.
      Reported-bisected-and-tested-by: NMichal Hocko <mhocko@suse.cz>
      Cc: stable@vger.kernel.org # v3.9
      Acked-by: NPeter Anvin <hpa@linux.intel.com>
      Cc: Fernando Luis Vázquez Cao <fernando@oss.ntt.co.jp>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5e427ec2
    • L
      xen: Fixed assignment error in if statement · fce92683
      Lisa Nguyen 提交于
      Fixed assignment error in if statement in balloon.c
      Signed-off-by: NLisa Nguyen <lisa@xenapiadmin.com>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      fce92683