1. 23 5月, 2013 1 次提交
    • 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
  2. 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
  3. 21 5月, 2013 18 次提交