1. 11 6月, 2014 40 次提交
    • S
      powerpc/powernv : Disable subcore for UP configs · ad417330
      Shreyas B. Prabhu 提交于
      Build throws following errors when CONFIG_SMP=n
      arch/powerpc/platforms/powernv/subcore.c: In function ‘cpu_update_split_mode’:
      arch/powerpc/platforms/powernv/subcore.c:274:15: error: ‘setup_max_cpus’ undeclared (first use in this function)
      arch/powerpc/platforms/powernv/subcore.c:285:5: error: lvalue required as left operand of assignment
      
      'setup_max_cpus' variable is relevant only on SMP, so there is no point
      working around it for UP. Furthermore, subcore itself is relevant only
      on SMP and hence the better solution is to exclude subcore.o and
      subcore-asm.o for UP builds.
      Signed-off-by: NShreyas B. Prabhu <shreyas@linux.vnet.ibm.com>
      Reviewed-by: NSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ad417330
    • S
      powerpc/powernv: Include asm/smp.h to fix UP build failure · b2a80878
      Shreyas B. Prabhu 提交于
      Build throws following errors when CONFIG_SMP=n
      arch/powerpc/platforms/powernv/setup.c: In function ‘pnv_kexec_wait_secondaries_down’:
      arch/powerpc/platforms/powernv/setup.c:179:4: error: implicit declaration of function ‘get_hard_smp_processor_id’
          rc = opal_query_cpu_status(get_hard_smp_processor_id(i),
      
      The usage of get_hard_smp_processor_id() needs the declaration from
      <asm/smp.h>. The file setup.c includes <linux/sched.h>, which in-turn
      includes <linux/smp.h>. However, <linux/smp.h> includes <asm/smp.h>
      only on SMP configs and hence UP builds fail.
      
      Fix this by directly including <asm/smp.h> in setup.c unconditionally.
      Reported-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Reviewed-by: NSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: NShreyas B. Prabhu <shreyas@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      b2a80878
    • M
      powerpc: Don't setup CPUs with bad status · 59a53afe
      Michael Neuling 提交于
      OPAL will mark a CPU that is guarded as "bad" in the status property of the CPU
      node.
      
      Unfortunatley Linux doesn't check this property and will put the bad CPU in the
      present map.  This has caused hangs on booting when we try to unsplit the core.
      
      This patch checks the CPU is avaliable via this status property before putting
      it in the present map.
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      Tested-by: NAnton Blanchard <anton@samba.org>
      cc: stable@vger.kernel.org
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      59a53afe
    • S
      powerpc: Correct DSCR during TM context switch · 96d01610
      Sam bobroff 提交于
      Correct the DSCR SPR becoming temporarily corrupted if a task is
      context switched during a transaction.
      
      The problem occurs while suspending the task and is caused by saving
      the DSCR to thread.dscr after it has already been set to the CPU's
      default value:
      
      __switch_to() calls __switch_to_tm()
      	which calls tm_reclaim_task()
      	which calls tm_reclaim_thread()
      	which calls tm_reclaim()
      		where the DSCR is set to the CPU's default
      __switch_to() calls _switch()
      		where thread.dscr is set to the DSCR
      
      When the task is resumed, it's transaction will be doomed (as usual)
      and the DSCR SPR will be corrupted, although the checkpointed value
      will be correct. Therefore the DSCR will be immediately corrected by
      the transaction aborting, unless it has been suspended. In that case
      the incorrect value can be seen by the task until it resumes the
      transaction.
      
      The fix is to treat the DSCR similarly to the TAR and save it early
      in __switch_to().
      
      A program exposing the problem is added to the kernel self tests as:
      tools/testing/selftests/powerpc/tm/tm-resched-dscr.
      Signed-off-by: NSam Bobroff <sam.bobroff@au1.ibm.com>
      CC: <stable@vger.kernel.org> [v3.10+]
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      96d01610
    • M
      powerpc: Remove platforms/wsp and associated pieces · fb5a5157
      Michael Ellerman 提交于
      __attribute__ ((unused))
      
      WSP is the last user of CONFIG_PPC_A2, so we remove that as well.
      
      Although CONFIG_PPC_ICSWX still exists, it's no longer selectable for
      any Book3E platform, so we can remove the code in mmu-book3e.h that
      depended on it.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      fb5a5157
    • P
      powerpc: Remove check for CONFIG_SERIAL_TEXT_DEBUG · 94314290
      Paul Bolle 提交于
      The Kconfig symbol SERIAL_TEXT_DEBUG was removed from
      arch/powerpc/Kconfig.debug in v2.6.22. (In v2.6.27 it was also removed
      from arch/ppc/Kconfig.debug.) So the check for its macro has evaluated
      to false for over five years now. Remove that check and the few lines
      of code hidden behind it.
      Signed-off-by: NPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      94314290
    • B
      powerpc: Add AT_HWCAP2 to indicate V.CRYPTO category support · dd58a092
      Benjamin Herrenschmidt 提交于
      The Vector Crypto category instructions are supported by current POWER8
      chips, advertise them to userspace using a specific bit to properly
      differentiate with chips of the same architecture level that might not
      have them.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: <stable@vger.kernel.org> [v3.10+]
      dd58a092
    • L
      Merge git://www.linux-watchdog.org/linux-watchdog · dfb94547
      Linus Torvalds 提交于
      Pull watchdog updates from Wim Van Sebroeck:
       "This contains:
         - addition of the Intel MID watchdog
         - removal of W83697HF and W83697UG drivers (code was merged into
           w83627hf_wdt driver)
         - addition of Armada 375/380 SoC support
         - conversion of imx2_wdt to regmap API and to watchdog core API
         - lots of other small improvements and fixes"
      
      [ Wim was also tagged by gmail as a spammer, but not delayed by days
        unlike Ben ]
      
      * git://www.linux-watchdog.org/linux-watchdog: (25 commits)
        x86: intel-mid: add watchdog platform code for Merrifield
        watchdog: add Intel MID watchdog driver support
        watchdog: sp805: Set watchdog_device->timeout from ->set_timeout()
        booke/watchdog: refine and clean up the codes
        watchdog: iop_wdt only builds for mach-iop13xx
        watchdog: Remove drivers for W83697HF and W83697UG
        watchdog: w83627hf_wdt: Add early_disable module parameter
        ARM: mvebu: Add A375/A380 watchdog binding documentation
        watchdog: orion: Add Armada 375/380 SoC support
        watchdog: orion: Introduce per-SoC enabled() function
        watchdog: orion: Introduce per-SoC stop() function
        watchdog: orion: Remove unneeded atomic access
        watchdog: orion: Introduce a SoC-specific RSTOUT mapping
        watchdog: orion: Move the register ioremap'ing to its own function
        watchdog: xilinx: Make of_device_id array const
        watchdog: imx2_wdt: convert to watchdog core api
        watchdog: imx2_wdt: convert to use regmap API.
        watchdog: imx2_wdt: Sort the header files alphabetically
        watchdog: ath79_wdt: switch to clk_prepare/clk_disable
        watchdog: ath79_wdt: avoid spurious restarts on AR934x
        ...
      dfb94547
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · c5aec4c7
      Linus Torvalds 提交于
      Pull powerpc updates from Ben Herrenschmidt:
       "Here is the bulk of the powerpc changes for this merge window.  It got
        a bit delayed in part because I wasn't paying attention, and in part
        because I discovered I had a core PCI change without a PCI maintainer
        ack in it.  Bjorn eventually agreed it was ok to merge it though we'll
        probably improve it later and I didn't want to rebase to add his ack.
      
        There is going to be a bit more next week, essentially fixes that I
        still want to sort through and test.
      
        The biggest item this time is the support to build the ppc64 LE kernel
        with our new v2 ABI.  We previously supported v2 userspace but the
        kernel itself was a tougher nut to crack.  This is now sorted mostly
        thanks to Anton and Rusty.
      
        We also have a fairly big series from Cedric that add support for
        64-bit LE zImage boot wrapper.  This was made harder by the fact that
        traditionally our zImage wrapper was always 32-bit, but our new LE
        toolchains don't really support 32-bit anymore (it's somewhat there
        but not really "supported") so we didn't want to rely on it.  This
        meant more churn that just endian fixes.
      
        This brings some more LE bits as well, such as the ability to run in
        LE mode without a hypervisor (ie. under OPAL firmware) by doing the
        right OPAL call to reinitialize the CPU to take HV interrupts in the
        right mode and the usual pile of endian fixes.
      
        There's another series from Gavin adding EEH improvements (one day we
        *will* have a release with less than 20 EEH patches, I promise!).
      
        Another highlight is the support for the "Split core" functionality on
        P8 by Michael.  This allows a P8 core to be split into "sub cores" of
        4 threads which allows the subcores to run different guests under KVM
        (the HW still doesn't support a partition per thread).
      
        And then the usual misc bits and fixes ..."
      
      [ Further delayed by gmail deciding that BenH is a dirty spammer.
        Google knows.  ]
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (155 commits)
        powerpc/powernv: Add missing include to LPC code
        selftests/powerpc: Test the THP bug we fixed in the previous commit
        powerpc/mm: Check paca psize is up to date for huge mappings
        powerpc/powernv: Pass buffer size to OPAL validate flash call
        powerpc/pseries: hcall functions are exported to modules, need _GLOBAL_TOC()
        powerpc: Exported functions __clear_user and copy_page use r2 so need _GLOBAL_TOC()
        powerpc/powernv: Set memory_block_size_bytes to 256MB
        powerpc: Allow ppc_md platform hook to override memory_block_size_bytes
        powerpc/powernv: Fix endian issues in memory error handling code
        powerpc/eeh: Skip eeh sysfs when eeh is disabled
        powerpc: 64bit sendfile is capped at 2GB
        powerpc/powernv: Provide debugfs access to the LPC bus via OPAL
        powerpc/serial: Use saner flags when creating legacy ports
        powerpc: Add cpu family documentation
        powerpc/xmon: Fix up xmon format strings
        powerpc/powernv: Add calls to support little endian host
        powerpc: Document sysfs DSCR interface
        powerpc: Fix regression of per-CPU DSCR setting
        powerpc: Split __SYSFS_SPRSETUP macro
        arch: powerpc/fadump: Cleaning up inconsistent NULL checks
        ...
      c5aec4c7
    • L
      Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 · 2937f5ef
      Linus Torvalds 提交于
      Pull x86 platform driver updates from Matthew Garrett:
       "Very little of excitement here - the most significant is a new driver
        for detecting device freefall on Dells, other than that it's pretty
        much entirely minor fixes for specific machines"
      
      * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86:
        hp-wmi: Enable hotkeys on some systems
        thinkpad_acpi: Add mappings for F9 - F12 hotkeys on X240 / T440 / T540
        platform: x86: dell-smo8800: Dell Latitude freefall driver (ACPI SMO8800/SMO8810)
        ideapad_laptop: Introduce the use of the managed version of kzalloc
        platform/x86: Fix run-time dependencies of OLPC drivers
        platform: x86: asus-wmi.c: Cleaning up uninitialized variables
        ix86/mid/thermal: Introduce the use of the managed version of kzalloc
        platform x86 Kconfig: Refer to the laptop list in the Compal driver help
        Documentation: Add list of laptop models supported by the Compal driver
        ideapad-laptop: Blacklist rfkill control on the Lenovo Yoga 2 11
        asus-wmi: Set WAPF to 4 for Asus X550CA
        alienware-wmi: For WMAX HDMI method, introduce a way to query HDMI cable status
        alienware-wmi: Update WMAX brightness method limit to 15
        pvpanic: Set high notifier priority
        platform/x86: samsung-laptop: Add support for Samsung's NP7[34]0U3E models.
        toshiba_acpi: Add alternative keymap support for Satellite M840
        platform-drivers-x86: intel_pmic_gpio: Fix off-by-one valid offset range check
      2937f5ef
    • K
      hp-wmi: Enable hotkeys on some systems · f82bdd0d
      Kyle Evans 提交于
      This is a third attempt to enable these buttons. The new variable being
      commit 997daa1b (i.e. hp-wmi: detect
      "2009 BIOS or later"). Older systems that do not have the 2009 BIOS query
      method respond with a dummy value, in this case 4. Using that, we can
      target a fairly narrow group of systems. i.e. old enough to not have
      HPWMI_FEATURE_QUERY 0xd, but new enough to have HPWMI_BIOS_QUERY 0x9.
      This group may be further limited if some systems respond with something
      other than 4 to non-existant feature queries.
      Signed-off-by: NKyle Evans <kvans32@gmail.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      f82bdd0d
    • H
      thinkpad_acpi: Add mappings for F9 - F12 hotkeys on X240 / T440 / T540 · 8b9dd4fa
      Hans de Goede 提交于
      The T440s user guide says that when Fn-lock is not active, the *40s' F9 - F12
      keys should be mapped to: control-panel, search, show-all-windows and Computer.
      
      These keys generate the sofar unused 28 - 31 hotkey scancodes.
      
      For the first 2 this nicely matches the icons on the keys, for the latter 2
      the icons are somewhat creative, which is why I ended up looking them up in
      the user manual.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      8b9dd4fa
    • P
      platform: x86: dell-smo8800: Dell Latitude freefall driver (ACPI SMO8800/SMO8810) · 4738d8aa
      Pali Rohár 提交于
      This acpi driver provide supports for freefall sensors SMO8800/SMO8810 which
      can be found on Dell Latitude laptops. Driver register /dev/freefall misc
      device which has same interface as driver hp_accel freefall driver. So any
      existing applications for HP freefall sensor /dev/freefall will work for with
      this new driver for Dell Latitude laptops too.
      Signed-off-by: NPali Rohár <pali.rohar@gmail.com>
      Cc: Sonal Santan <sonal.santan@gmail.com>
      Tested-By: NValdis Kletnieks <valdis.kletnieks@vt.edu>
      Acked-By: NValdis Kletnieks <valdis.kletnieks@vt.edu>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      4738d8aa
    • H
      ideapad_laptop: Introduce the use of the managed version of kzalloc · b3facd7b
      Himangi Saraogi 提交于
      This patch moves data allocated using kzalloc to managed data allocated
      using devm_kzalloc and cleans now unnecessary kfrees in probe and remove
      functions. The label sysfs_failed is removed as it is no longer
      required.  Also, linux/device.h is added to make sure the devm_*()
      routine declarations are unambiguously available.
      
      The following Coccinelle semantic patch was used for making the change:
      
      @platform@
      identifier p, probefn, removefn;
      @@
      struct platform_driver p = {
        .probe = probefn,
        .remove = removefn,
      };
      
      @prb@
      identifier platform.probefn, pdev;
      expression e, e1, e2;
      @@
      probefn(struct platform_device *pdev, ...) {
        <+...
      - e = kzalloc(e1, e2)
      + e = devm_kzalloc(&pdev->dev, e1, e2)
        ...
      ?-kfree(e);
        ...+>
      }
      
      @rem depends on prb@
      identifier platform.removefn;
      expression e;
      @@
      removefn(...) {
        <...
      - kfree(e);
        ...>
      }
      Signed-off-by: NHimangi Saraogi <himangi774@gmail.com>
      Acked-by: NJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      b3facd7b
    • J
      platform/x86: Fix run-time dependencies of OLPC drivers · b02fdfcc
      Jean Delvare 提交于
      Let the xo15-ebook driver depend on OLPC as all other OLPC drivers
      already do. Add COMPILE_TEST as an alternative for both xo1-rfkill
      and xo15-ebook, to increase the build testing coverage.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Cc: Matthew Garrett <matthew.garrett@nebula.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      b02fdfcc
    • R
      platform: x86: asus-wmi.c: Cleaning up uninitialized variables · 8ad3be1e
      Rickard Strandqvist 提交于
      There is a risk that the variable will be used without being initialized.
      
      This was largely found by using a static code analysis program called cppcheck.
      Signed-off-by: NRickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      8ad3be1e
    • H
      ix86/mid/thermal: Introduce the use of the managed version of kzalloc · 14627e36
      Himangi Saraogi 提交于
      This patch moves data allocated using kzalloc to managed data allocated
      using devm_kzalloc and cleans now unnecessary kfrees in probe and remove
      functions.
      
      The following Coccinelle semantic patch was used for making the change:
      
      @platform@
      identifier p, probefn, removefn;
      @@
      struct platform_driver p = {
        .probe = probefn,
        .remove = removefn,
      };
      
      @prb@
      identifier platform.probefn, pdev;
      expression e, e1, e2;
      @@
      probefn(struct platform_device *pdev, ...) {
        <+...
      - e = kzalloc(e1, e2)
      + e = devm_kzalloc(&pdev->dev, e1, e2)
        ...
      ?-kfree(e);
        ...+>
      }
      
      @rem depends on prb@
      identifier platform.removefn;
      expression e;
      @@
      removefn(...) {
        <...
      - kfree(e);
        ...>
      }
      Signed-off-by: NHimangi Saraogi <himangi774@gmail.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      14627e36
    • I
    • I
    • H
      ideapad-laptop: Blacklist rfkill control on the Lenovo Yoga 2 11 · 85093f79
      Hans de Goede 提交于
      The Lenovo Yoga 2 11 always reports everything as blocked, causing userspace
      to not even try to use the wlan / bluetooth even though they work fine.
      
      Note this patch also removes the "else priv->rfk[i] = NULL;" bit of the
      rfkill initialization, it is not necessary as the priv struct is allocated
      with kzalloc.
      Reported-and-tested-by: NVincent Gerris <vgerris@gmail.com>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      85093f79
    • A
      asus-wmi: Set WAPF to 4 for Asus X550CA · c08db55f
      Andreas Utterberg 提交于
      The 'asus-nb-wmi' WAPF parameter must be set to 4, so the internal Wireless LAN device is operational.
      Signed-off-by: NAndreas Utterberg <andreas.utterberg@thundera.se>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      c08db55f
    • M
      alienware-wmi: For WMAX HDMI method, introduce a way to query HDMI cable status · bc2ef884
      Mario Limonciello 提交于
      Since there are now multiple HDMI attributes associated with the WMAX method,
      create a sysfs group for them instead.
      Signed-off-by: NMario Limonciello <mario_limonciello@dell.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      bc2ef884
    • L
      Merge branch 'akpm' (patches from Andrew Morton) · 9ee4d7a6
      Linus Torvalds 提交于
      Merge leftovers from Andrew Morton:
       "A few leftovers: ocfs2, gcov, RTC"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        rtc: s5m: consolidate two device type switch statements
        rtc: s5m: add support for S2MPS14 RTC
        rtc: s5m: support different register layout
        rtc: s5m: use shorter time of register update
        rtc: s5m: remove undocumented time init on first boot
        mfd/rtc: sec/s5m: rename SEC* symbols to S5M
        gcov: add support for GCC 4.9
        ocfs2/o2net: incorrect to terminate accepting connections loop upon rejecting an invalid one
      9ee4d7a6
    • K
      rtc: s5m: consolidate two device type switch statements · a0347f20
      Krzysztof Kozlowski 提交于
      In probe the configuration of driver for different chipsets was done in
      two switch (pdata->device_type) statements.  Consolidate them into one
      switch statement to increase code readability.
      
      Additionally check the return value of regmap_irq_get_virq and exit
      probe on error.
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a0347f20
    • K
      rtc: s5m: add support for S2MPS14 RTC · 0c5deb1e
      Krzysztof Kozlowski 提交于
      Add support for S2MPS14 to the rtc-s5m driver.  Differences in S2MPS14
      (in comparison to S5M8767):
      
       - Layout of registers
       - Lack of century support for time and alarms (7 registers used for
         storing time/alarm)
       - Two buffer control registers: WUDR and RUDR
       - No register for enabling writing time
       - RTC interrupts are reported in main PMIC I2C device
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0c5deb1e
    • K
      rtc: s5m: support different register layout · f8b23bbd
      Krzysztof Kozlowski 提交于
      Prepare for adding support for S2MPS14 RTC device to the rtc-s5m driver:
      
      1. Add a map of registers used by the driver which differ between
         the chipsets (S5M876X and S2MPS14).
      
      2. Move code of checking for alarm pending to separate function.
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f8b23bbd
    • K
      rtc: s5m: use shorter time of register update · 0c5f5d9a
      Krzysztof Kozlowski 提交于
      Set the time needed for updating alarm and time registers to 0.45 ms.
      The default is 7.32 ms which is too long and leads to warnings when
      setting alarm or time:
      
      	s5m-rtc: waiting for UDR update, reached max number of retries
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0c5f5d9a
    • K
      rtc: s5m: remove undocumented time init on first boot · fe787a5b
      Krzysztof Kozlowski 提交于
      Remove the code for initializing time if this is first boot.
      
      The code for detecting first boot uses undocumented field RTC_TCON in
      RTC_UDR_CON register.  According to S5M8767's datasheet this field is
      reserved.  On S2MPS14 it is not documented at all.
      
      On device first boot the registers will be initialized with reset value
      (2000-01-01 00:00:00).
      
      The code might work on S5M8763 but still this does not look like a task
      for RTC driver.
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fe787a5b
    • K
      mfd/rtc: sec/s5m: rename SEC* symbols to S5M · 602cb5bb
      Krzysztof Kozlowski 提交于
      Prepare for adding support for S2MPS14 RTC device to the rtc-s5m driver:
      
      1. Rename SEC* symbols to S5M.
      2. Add S5M prefix to some of defines which are different between S5M876X
         and S2MPS14.
      
      This is only a rename-like patch, new code is not added.
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      602cb5bb
    • Y
      gcov: add support for GCC 4.9 · a992bf83
      Yuan Pengfei 提交于
      This patch handles the gcov-related changes in GCC 4.9:
      
        A new counter (time profile) is added. The total number is 9 now.
      
        A new profile merge function __gcov_merge_time_profile is added.
      
      See gcc/gcov-io.h and libgcc/libgcov-merge.c
      
      For the first change, the layout of struct gcov_info is affected.
      
      For the second one, a dummy function is added to kernel/gcov/base.c
      similarly.
      Signed-off-by: NYuan Pengfei <coolypf@qq.com>
      Acked-by: NPeter Oberparleiter <oberpar@linux.vnet.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a992bf83
    • T
      ocfs2/o2net: incorrect to terminate accepting connections loop upon rejecting an invalid one · 79deb3c1
      Tariq Saeed 提交于
      When o2net-accept-one() rejects an illegal connection, it terminates the
      loop picking up the remaining queued connections.  This fix will
      continue accepting connections till the queue is emtpy.
      
      Addresses Orabug 17489469.
      Signed-off-by: NTariq Saseed <tariq.x.saeed@oracle.com>
      Signed-off-by: NSrinivas Eeda <srinivas.eeda@oracle.com>
      Reviewed-by: NMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      79deb3c1
    • S
      decode_stacktrace: make stack dump output useful again · dbd1abb2
      Sasha Levin 提交于
      Right now when people try to report issues in the kernel they send stack
      dumps to eachother, which looks something like this:
      
        [    6.906437]  [<ffffffff811f0e90>] ? backtrace_test_irq_callback+0x20/0x20
        [    6.907121]  [<ffffffff84388ce8>] dump_stack+0x52/0x7f
        [    6.907640]  [<ffffffff811f0ec8>] backtrace_regression_test+0x38/0x110
        [    6.908281]  [<ffffffff813596a0>] ? proc_create_data+0xa0/0xd0
        [    6.908870]  [<ffffffff870a8040>] ? proc_modules_init+0x22/0x22
        [    6.909480]  [<ffffffff810020c2>] do_one_initcall+0xc2/0x1e0
        [...]
      
      However, most of the text you get is pure garbage.
      
      The only useful thing above is the function name.  Due to the amount of
      different kernel code versions and various configurations being used,
      the kernel address and the offset into the function are not really
      helpful in determining where the problem actually occured.
      
      Too often the result of someone looking at a stack dump is asking the
      person who sent it for a translation for one or more 'addr2line'
      translations.  Which slows down the entire process of debugging the
      issue (and really annoying).
      
      The decode_stacktrace script is an attempt to make the output more
      useful and easy to work with by translating all kernel addresses in the
      stack dump into line numbers.  Which means that the stack dump would
      look like this:
      
        [  635.148361]  dump_stack (lib/dump_stack.c:52)
        [  635.149127]  warn_slowpath_common (kernel/panic.c:418)
        [  635.150214]  warn_slowpath_null (kernel/panic.c:453)
        [  635.151031]  _oalloc_pages_slowpath+0x6a/0x7d0
        [  635.152171]  ? zone_watermark_ok (mm/page_alloc.c:1728)
        [  635.152988]  ? get_page_from_freelist (mm/page_alloc.c:1939)
        [  635.154766]  __alloc_pages_nodemask (mm/page_alloc.c:2766)
      
      It's pretty obvious why this is better than the previous stack dump
      before.
      
      Usage is pretty simple:
      
              ./decode_stacktrace.sh [vmlinux] [base path]
      
      Where vmlinux is the vmlinux to extract line numbers from and base path
      is the path that points to the root of the build tree, for example:
      
              ./decode_stacktrace.sh vmlinux /home/sasha/linux/ < input.log > output.log
      
      The stack trace should be piped through it (I, for example, just pipe
      the output of the serial console of my KVM test box through it).
      Signed-off-by: NSasha Levin <sasha.levin@oracle.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      dbd1abb2
    • L
      Merge tag 'nfs-for-3.16-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · d1e1cda8
      Linus Torvalds 提交于
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
         - massive cleanup of the NFS read/write code by Anna and Dros
         - support multiple NFS read/write requests per page in order to deal
           with non-page aligned pNFS striping.  Also cleans up the r/wsize <
           page size code nicely.
         - stable fix for ensuring inode is declared uptodate only after all
           the attributes have been checked.
         - stable fix for a kernel Oops when remounting
         - NFS over RDMA client fixes
         - move the pNFS files layout driver into its own subdirectory"
      
      * tag 'nfs-for-3.16-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (79 commits)
        NFS: populate ->net in mount data when remounting
        pnfs: fix lockup caused by pnfs_generic_pg_test
        NFSv4.1: Fix typo in dprintk
        NFSv4.1: Comment is now wrong and redundant to code
        NFS: Use raw_write_seqcount_begin/end int nfs4_reclaim_open_state
        xprtrdma: Disconnect on registration failure
        xprtrdma: Remove BUG_ON() call sites
        xprtrdma: Avoid deadlock when credit window is reset
        SUNRPC: Move congestion window constants to header file
        xprtrdma: Reset connection timeout after successful reconnect
        xprtrdma: Use macros for reconnection timeout constants
        xprtrdma: Allocate missing pagelist
        xprtrdma: Remove Tavor MTU setting
        xprtrdma: Ensure ia->ri_id->qp is not NULL when reconnecting
        xprtrdma: Reduce the number of hardway buffer allocations
        xprtrdma: Limit work done by completion handler
        xprtrmda: Reduce calls to ib_poll_cq() in completion handlers
        xprtrmda: Reduce lock contention in completion handlers
        xprtrdma: Split the completion queue
        xprtrdma: Make rpcrdma_ep_destroy() return void
        ...
      d1e1cda8
    • L
      Merge tag 'mmc-updates-for-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 07888238
      Linus Torvalds 提交于
      Pull MMC update from Chris Ball:
       "MMC highlights for 3.16:
      
        Core:
         - support HS400 mode of eMMC 5.0, via DT bindings mmc-hs400-1_{2,8}v
         - if card init at 3.3v doesn't work, try 1.8v and 1.2v too
      
        Drivers:
         - moxart: New driver for MOXA ART SoCs
         - rtsx_usb_sdmmc: New driver for Realtek USB card readers
         - sdhci: Large rework around IRQ/regulator handling, remove card_tasklet
         - sdhci-pci-o2micro: Add SeaBird SeaEagle SD3 support
         - sunxi: New driver for Allwinner sunxi SoCs
         - usdhi6rol0: New driver for Renesas SD/SDIO controller"
      
      * tag 'mmc-updates-for-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (95 commits)
        mmc: sdhci-s3c: use mmc_of_parse and remove the card_tasklet
        mmc: add a driver for the Renesas usdhi6rol0 SD/SDIO host controller
        mmc: sdhci-of-esdhc: Fixup compile error
        mmc: tegra: fix reporting of base clock frequency
        mmc: tegra: disable UHS modes
        mmc: sdhci-dove: use mmc_of_parse() and remove card_tasklet CD handler
        MAINTAINERS: mmc: Add path to git tree
        mmc: dove: fix missing MACH_DOVE dependency
        mmc: sdhci: SD tuning is broken for some controllers
        mmc: sdhci-esdhc-imx: fix mmc ddr mode regression issue
        mmc: sdhci-pci-o2micro: Add SeaBird SeaEagle SD3 support
        mmc: omap_hsmmc: split omap-dma header file
        mmc: omap_hsmmc: fix cmd23 multiblock read/write
        mmc: omap_hsmmc: use devm_ioremap_resource
        mmc: omap_hsmmc: use devm_request_threaded_irq
        mmc: omap_hsmmc: use devm_request_irq
        mmc: omap_hsmmc: use devm_clk_get
        mmc: sunxi: Add driver for SD/MMC hosts found on Allwinner sunxi SoCs
        mmc: wmt-sdmmc: Use GFP_KERNEL instead of hard-coded value
        mmc: omap: Use DIV_ROUND_UP instead of open coded
        ...
      07888238
    • A
      fs,userns: Change inode_capable to capable_wrt_inode_uidgid · 23adbe12
      Andy Lutomirski 提交于
      The kernel has no concept of capabilities with respect to inodes; inodes
      exist independently of namespaces.  For example, inode_capable(inode,
      CAP_LINUX_IMMUTABLE) would be nonsense.
      
      This patch changes inode_capable to check for uid and gid mappings and
      renames it to capable_wrt_inode_uidgid, which should make it more
      obvious what it does.
      
      Fixes CVE-2014-4014.
      
      Cc: Theodore Ts'o <tytso@mit.edu>
      Cc: Serge Hallyn <serge.hallyn@ubuntu.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NAndy Lutomirski <luto@amacapital.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      23adbe12
    • D
      x86: intel-mid: add watchdog platform code for Merrifield · 78a3bb9e
      David Cohen 提交于
      This patch adds platform code for Intel Merrifield.
      Since the watchdog is not part of SFI table, we have no other option but
      to manually register watchdog's platform device (argh!).
      Signed-off-by: NDavid Cohen <david.a.cohen@linux.intel.com>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      78a3bb9e
    • D
      watchdog: add Intel MID watchdog driver support · 87a1ef80
      David Cohen 提交于
      Add initial Intel MID watchdog driver support.
      
      This driver is an initial implementation of generic Intel MID watchdog
      driver. Currently it supports Intel Merrifield platform.
      Signed-off-by: NEric Ernst <eric.ernst@intel.com>
      Signed-off-by: NDavid Cohen <david.a.cohen@linux.intel.com>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      87a1ef80
    • V
      watchdog: sp805: Set watchdog_device->timeout from ->set_timeout() · 938626d9
      Viresh Kumar 提交于
      Implementation of ->set_timeout() is supposed to set 'timeout' field of 'struct
      watchdog_device' passed to it. sp805 was rather setting this in a local
      variable. Fix it.
      Reported-by: NArun Ramamurthy <arun.ramamurthy@broadcom.com>
      Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      Cc: <stable@vger.kernel.org> # 2.6.36+
      938626d9
    • T
      booke/watchdog: refine and clean up the codes · d2deebab
      Tang Yuantian 提交于
      Basically, this patch does the following:
      1. Move the codes of parsing boot parameters from setup-common.c
         to driver. In this way, code reader can know directly that
         there are boot parameters that can change the timeout.
      2. Make boot parameter 'booke_wdt_period' effective.
         currently, when driver is loaded, default timeout is always
         being used in stead of booke_wdt_period.
      3. Wrap up the watchdog timeout in device struct and clean up
         unnecessary codes.
      Signed-off-by: NTang Yuantian <yuantian.tang@freescale.com>
      Acked-by: NScott Wood <scottwood@freescale.com>
      Reviewed-by: NLi Yang <leoli@freescale.com>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      d2deebab
    • A
      watchdog: iop_wdt only builds for mach-iop13xx · ec2e32ca
      Arnd Bergmann 提交于
      All three iop variants we support in Linux (iop32x, iop33x and
      iop13xx) seem to have support for the watchdog hardware, but this
      driver fails to build for the first two of these because it
      uses the IOP13XX_WDTCR_IB_RESET macro that is only defined for
      iop13xx.
      
      This clarifies the dependency in Kconfig to avoid randconfig
      build errors. It is unlikely that anyone will ever miss support
      for this driver on the ancient iop3xx platforms, so we don't
      need to bother trying to fix it properly.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      Cc: linux-watchdog@vger.kernel.org
      ec2e32ca