1. 03 11月, 2015 5 次提交
    • L
      Merge tag 'gpio-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · e86328c4
      Linus Torvalds 提交于
      Pull GPIO updates from Linus Walleij:
       "Here is the bulk of GPIO changes for the v4.4 development cycle.
      
        The only changes hitting outside drivers/gpio are in the pin control
        subsystem and these seem to have settled nicely in linux-next.
      
        Development mistakes and catfights are nicely documented in the
        reverts as you can see.  The outcome of the ABI fight is that we're
        working on a chardev ABI for GPIO now, where hope to show results for
        the v4.5 kernel.
      
        Summary of changes:
      
        GPIO core:
         - Define and handle flags for open drain/open collector and open
           source/open emitter, also know as "single-ended" configurations.
         - Generic request/free operations that handle calling out to the
           (optional) pin control backend.
         - Some refactoring related to an ABI change that did not happen, yet
           provide useful.
         - Added a real-time compliance checklist.  Many GPIO chips have
           irqchips, and need to think this over with the RT patches going
           upstream.
         - Restructure, fix and clean up Kconfig menus a bit.
      
        New drivers:
         - New driver for AMD Promony.
         - New driver for ACCES 104-IDIO-16, a port-mapped I/O card,
           ISA-style.  Very retro.
      
        Subdriver changes:
         - OMAP changes to handle real time requirements.
         - Handle trigger types for edge and level IRQs on PL061 properly.  As
           this hardware is very common it needs to set a proper example for
           others to follow.
         - Some container_of() cleanups.
         - Delete the unused MSM driver in favor of the driver that is
           embedded inside the pin control driver.
         - Cleanup of the ath79 GPIO driver used by many, many OpenWRT router
           targets.
         - A consolidated IT87xx driver replacing the earlier very specific
           IT8761e driver.
         - Handle the TI TCA9539 in the PCA953x driver.  Also handle ACPI
           devices in this subdriver.
         - Drop xilinx arch dependencies as these FPGAs seem to profilate over
           a few different architectures.  MIPS and ARM come to mind"
      
      * tag 'gpio-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (57 commits)
        gpio: fix up SPI submenu
        gpio: drop surplus I2C dependencies
        gpio: drop surplus X86 dependencies
        gpio: dt-bindings: document the official use of "ngpios"
        gpio: MAINTAINERS: Add an entry for the ATH79 GPIO driver
        gpio / ACPI: Allow shared GPIO event to be read via operation region
        gpio: group port-mapped I/O drivers in a menu
        gpio: Add ACCES 104-IDIO-16 driver maintainer entry
        gpio: zynq: Document interrupt-controller DT binding
        gpio: xilinx: Drop architecture dependencies
        gpio: generic: Revert to old error handling in bgpio_map
        gpio: add a real time compliance notes
        Revert "gpio: add a real time compliance checklist"
        gpio: Add GPIO support for the ACCES 104-IDIO-16
        gpio: driver for AMD Promontory
        gpio: xlp: Convert to use gpiolib irqchip helpers
        gpio: add a real time compliance checklist
        gpio/xilinx: enable for MIPS
        gpiolib: Add and use OF_GPIO_SINGLE_ENDED flag
        gpiolib: Split GPIO flags parsing and GPIO configuration
        ...
      e86328c4
    • L
      Merge tag 'pinctrl-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · bc9d8c20
      Linus Torvalds 提交于
      Pull pin control updates from Linus Walleij:
       "This is the big bulk of pin control changes for the v4.4 kernel
        development cycle.  Development pace is high in pin control again this
        merge window.  28 contributors, 83 patches.
      
        It hits a few sites outside the pin control subsystem:
      
         - Device tree bindings in Documentation (as usual)
         - MAINTAINERS
         - drivers/base/* for the "init" state handling by Doug Anderson.
           This has been ACKed by Greg.
         - drivers/usb/renesas_usbhs/rcar2.c, for a dependent Renesas change
           in the USB subsystem.  This has been ACKed by both Greg and Felipe.
         - arch/arm/boot/dts/sama5d2.dtsi - this should ideally have gone
           through the ARM SoC tree but ended up here.
      
        This time I am using Geert Uytterhoeven as submaintainer for SH PFC
        since the are three-four people working in parallel with new Renesas
        ASICs.
      
        Summary of changes:
      
        Infrastructure:
      
         - Doug Anderson wrote a patch adding an "init" state different from
           the "default" state for pin control state handling in the core
           framework.  This is applied before the driver's probe() call if
           defined and takes precedence over "default".  If both are defined,
           "init" will be applied *before* probe() and "default" will be
           applied *after* probe().
      
        Significant subdriver improvements:
      
         - SH PFC is switched to getting GPIO ranges from the device tree
           ranges property on DT platforms.
         - Got rid of CONFIG_ARCH_SHMOBILE_LEGACY, we are all modernized.
         - Got rid of SH PFC hardcoded IRQ numbers.
         - Allwinner sunxi external interrupt through the "r" controller.
         - Moved the Cygnus driver to use DT-provided GPIO ranges.
      
        New drivers:
      
         - Atmel PIO4 pin controller for the SAMA4D2 family
      
        New subdrivers:
      
         - Rockchip RK3036 subdriver
         - Renesas SH PFC R8A7795 subdriver
         - Allwinner sunxi A83T PIO subdriver
         - Freescale i.MX7d iomux lpsr subdriver
         - Marvell Berlin BG4CT subdriver
         - SiRF Atlas 7 step B SoC subdriver
         - Intel Broxton SoC subdriver
      
        Apart from this, the usual slew if syntactic and semantic fixes"
      
      * tag 'pinctrl-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (81 commits)
        pinctrl: pinconf: remove needless loop
        pinctrl: uniphier: guard uniphier directory with CONFIG_PINCTRL_UNIPHIER
        pinctrl: zynq: fix UTF-8 errors
        pinctrl: zynq: Initialize early
        pinctrl: at91: add missing of_node_put
        pinctrl: tegra-xusb: Correct lane mux options
        pinctrl: intel: Add Intel Broxton pin controller support
        pinctrl: intel: Allow requesting pins which are in ACPI mode as GPIOs
        pinctrl: intel: Add support for multiple GPIO chips sharing the interrupt
        drivers/pinctrl: Add the concept of an "init" state
        pinctrl: uniphier: set input-enable before pin-muxing
        pinctrl: cygnus: Add new compatible string for gpio controller driver
        pinctrl: cygnus: Remove GPIO to Pinctrl pin mapping from driver
        pinctrl: cygnus: Optional DT property to support pin mappings
        pinctrl: sunxi: Add irq pinmuxing to sun6i "r" pincontroller
        pinctrl: sunxi: Fix irq_of_xlate for the r_pio pinctrl block
        pinctrl: sh-pfc: Remove obsolete r8a7778 platform_device_id entry
        pinctrl: sh-pfc: Remove obsolete r8a7779 platform_device_id entry
        pinctrl: sh-pfc: Stop including <linux/platform_data/gpio-rcar.h>
        usb: renesas_usbhs: Remove unneeded #include <linux/platform_data/gpio-rcar.h>
        ...
      bc9d8c20
    • L
      Merge tag 'edac_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 9ff3ca58
      Linus Torvalds 提交于
      Pull EDAC updates from Borislav Petkov:
       "A bunch of fixes all over the place and some hw enablement this time.
      
         - Convert EDAC to debugfs wrappers and make drivers use those
           (Borislav Petkov)
      
         - L3 and SoC support for xgene_edac (Loc Ho)
      
         - AMD F15h, models 0x60-6f support to amd64_edac (Aravind
           Gopalakrishnan)
      
         - Fixes and cleanups all over the place"
      
      * tag 'edac_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (22 commits)
        EDAC: Fix PAGES_TO_MiB macro misuse
        EDAC, altera: SoCFPGA EDAC should not look for ECC_CORR_EN
        EDAC: Use edac_debugfs_remove_recursive()
        EDAC, ppc4xx_edac: Fix module autoload for OF platform driver
        Documentation/EDAC: Add reference documents section for amd64_edac
        EDAC, amd64_edac: Update copyright and remove changelog
        EDAC, amd64_edac: Extend scrub rate support to F15hM60h
        EDAC: Don't allow empty DIMM labels
        EDAC: Fix sysfs dimm_label store operation
        EDAC: Fix sysfs dimm_label show operation
        arm64, EDAC: Add L3/SoC DT subnodes to the APM X-Gene SoC EDAC node
        EDAC, xgene: Add SoC support
        EDAC, xgene: Fix possible sprintf() overflow issue
        EDAC, xgene: Add L3 support
        EDAC, Documentation: Update X-Gene EDAC binding for L3/SoC subnodes
        EDAC, sb_edac: Fix TAD presence check for sbridge_mci_bind_devs()
        EDAC, ghes_edac: Remove redundant memory_type array
        EDAC, xgene: Convert to debugfs wrappers
        EDAC, i5100: Convert to debugfs wrappers
        EDAC, altera: Convert to debugfs wrappers
        ...
      9ff3ca58
    • L
      Merge tag 'mmc-v4.4' of git://git.linaro.org/people/ulf.hansson/mmc · 17a13590
      Linus Torvalds 提交于
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Add new API to set VCCQ voltage - mmc_regulator_set_vqmmc()
         - Add new ioctl to allow userspace to send multi commands
         - Wait for card busy signalling before starting SDIO requests
         - Remove MMC_CLKGATE
         - Enable tuning for DDR50 mode
         - Some code clean-up/improvements to mmc pwrseq
         - Use highest priority for eMMC restart handler
         - Add DT bindings for eMMC hardware reset support
         - Extend the mmc_send_tuning() API
         - Improve ios show for debugfs
         - A couple of code optimizations
      
        MMC host:
         - Some generic OF improvements
         - Various code clean-ups
         - sirf: Add support for DDR50
         - sunxi: Add support for card busy detection
         - mediatek: Use MMC_CAP_RUNTIME_RESUME
         - mediatek: Add support for eMMC HW-reset
         - mediatek: Add support for HS400
         - dw_mmc: Convert to use the new mmc_regulator_set_vqmmc() API
         - dw_mmc: Add external DMA interface support
         - dw_mmc: Some various improvements
         - dw_mmc-rockchip: MMC tuning with the clock phase framework
         - sdhci: Properly clear IRQs during resume
         - sdhci: Enable tuning for DDR50 mode
         - sdhci-of-esdhc: Use IRQ mode for card detection
         - sdhci-of-esdhc: Support both BE and LE host controller
         - sdhci-pci: Build o2micro support in the same module
         - sdhci-pci: Support for new Intel host controllers
         - sdhci-acpi: Support for new Intel host controllers"
      
      * tag 'mmc-v4.4' of git://git.linaro.org/people/ulf.hansson/mmc: (73 commits)
        mmc: dw_mmc: fix the wrong setting for UHS-DDR50 mode
        mmc: dw_mmc: fix the CardThreshold boundary at CardThrCtl register
        mmc: dw_mmc: NULL dereference in error message
        mmc: pwrseq: Use highest priority for eMMC restart handler
        mmc: mediatek: add HS400 support
        mmc: mmc: extend the mmc_send_tuning()
        mmc: mediatek: add implement of ops->hw_reset()
        mmc: mediatek: fix got GPD checksum error interrupt when data transfer
        mmc: mediatek: change the argument "ddr" to "timing"
        mmc: mediatek: make cmd_ints_mask to const
        mmc: dt-bindings: update Mediatek MMC bindings
        mmc: core: Add DT bindings for eMMC hardware reset support
        mmc: omap_hsmmc: Enable omap_hsmmc for Keystone 2
        mmc: sdhci-acpi: Add more ACPI HIDs for Intel controllers
        mmc: sdhci-pci: Add more PCI IDs for Intel controllers
        arm: lpc18xx_defconfig: remove CONFIG_MMC_DW_IDMAC
        arm: hisi_defconfig: remove CONFIG_MMC_DW_IDMAC
        arm: exynos_defconfig: remove CONFIG_MMC_DW_IDMAC
        arc: axs10x_defconfig: remove CONFIG_MMC_DW_IDMAC
        mips: pistachio_defconfig: remove CONFIG_MMC_DW_IDMAC
        ...
      17a13590
    • L
      Merge tag 'hwmon-for-linus-v4.4' of... · 66b01996
      Linus Torvalds 提交于
      Merge tag 'hwmon-for-linus-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
       "New driver for MAX31790, added support for TMP75C, as well as cleanups
        and minor improvements in various drivers"
      
      * tag 'hwmon-for-linus-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (fam15h_power) Add max compute unit accumulated power
        hwmon: (fam15h_power) Enable power1_input on AMD Carrizo
        hwmon: (fam15h_power) Refactor attributes for dynamically added
        hwmon: (ina2xx) remove no longer used variable 'kind'
        hwmon: (nct6775) Introduce separate temperature labels for NCT6792 and NCT6793
        hwmon: (nct6775) NCT6791D and NCT6792D have an additional temperature source
        hwmon: (ina2xx) give precedence to DT over checking for platform data.
        hwmon: (ina2xx) convert driver to using regmap
        hwmon: (coretemp) Increase limit of maximum core ID from 32 to 128.
        hwmon: (lm75) Add support for TMP75C
        hwmon: (ibmpowernv) Add OF compatibility table entry
        hwmon: (abx500) drop the use of IRQF_NO_SUSPEND
        hwmon: (max31790) Fix dereference of ERR_PTR
        hwmon: Driver for Maxim MAX31790
      66b01996
  2. 02 11月, 2015 7 次提交
    • L
      mm: get rid of 'vmalloc_info' from /proc/meminfo · a5ad88ce
      Linus Torvalds 提交于
      It turns out that at least some versions of glibc end up reading
      /proc/meminfo at every single startup, because glibc wants to know the
      amount of memory the machine has.  And while that's arguably insane,
      it's just how things are.
      
      And it turns out that it's not all that expensive most of the time, but
      the vmalloc information statistics (amount of virtual memory used in the
      vmalloc space, and the biggest remaining chunk) can be rather expensive
      to compute.
      
      The 'get_vmalloc_info()' function actually showed up on my profiles as
      4% of the CPU usage of "make test" in the git source repository, because
      the git tests are lots of very short-lived shell-scripts etc.
      
      It turns out that apparently this same silly vmalloc info gathering
      shows up on the facebook servers too, according to Dave Jones.  So it's
      not just "make test" for git.
      
      We had two patches to just cache the information (one by me, one by
      Ingo) to mitigate this issue, but the whole vmalloc information of of
      rather dubious value to begin with, and people who *actually* want to
      know what the situation is wrt the vmalloc area should just look at the
      much more complete /proc/vmallocinfo instead.
      
      In fact, according to my testing - and perhaps more importantly,
      according to that big search engine in the sky: Google - there is
      nothing out there that actually cares about those two expensive fields:
      VmallocUsed and VmallocChunk.
      
      So let's try to just remove them entirely.  Actually, this just removes
      the computation and reports the numbers as zero for now, just to try to
      be minimally intrusive.
      
      If this breaks anything, we'll obviously have to re-introduce the code
      to compute this all and add the caching patches on top.  But if given
      the option, I'd really prefer to just remove this bad idea entirely
      rather than add even more code to work around our historical mistake
      that likely nobody really cares about.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a5ad88ce
    • L
      Merge branch 'fs-file-descriptor-optimization' · 2e002662
      Linus Torvalds 提交于
      Merge file descriptor allocation speedup.
      
      Eric Dumazet has a test-case for a fairly common network deamon load
      pattern: openign and closing a lot of sockets that each have very little
      work done on them.  It turns out that in that case, the cost of just
      finding the correct file descriptor number can be a dominating factor.
      
      We've long had a trivial optimization for allocating file descriptors
      sequentially, but that optimization ends up being not very effective
      when other file descriptors are being closed concurrently, and the fd
      patterns are not some simple FIFO pattern.  In such cases we ended up
      spending a lot of time just scanning the bitmap of open file descriptors
      in order to find the next file descriptor number to open.
      
      This trivial patch-series mitigates that by simply introducing a
      second-level bitmap of which words in the first bitmap are already fully
      allocated.  That cuts down the cost of scanning by an order of magnitude
      in some pathological (but realistic) cases.
      
      The second patch is an even more trivial patch to avoid unnecessarily
      dirtying the cacheline for the close-on-exec bit array that normally
      ends up being all empty.
      
      * fs-file-descriptor-optimization:
        vfs: conditionally clear close-on-exec flag
        vfs: Fix pathological performance case for __alloc_fd()
      2e002662
    • L
      Linux 4.3 · 6a13feb9
      Linus Torvalds 提交于
      6a13feb9
    • L
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 95fc00a4
      Linus Torvalds 提交于
      Pull memremap fix from Dan Williams:
       "The new memremap() api introduced in the 4.3 cycle to unify/replace
        ioremap_cache() and ioremap_wt() is mishandling the highmem case.
        This patch has received a build success notification from a
        0day-kbuild-robot run and has received an ack from Ard"
      
      From the commit message:
       "The impact of this bug is low for now since the pmem driver is the
        only user of memremap(), but this is important to fix before more
        conversions to memremap arrive in 4.4"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        memremap: fix highmem support
      95fc00a4
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ca04d396
      Linus Torvalds 提交于
      Pull x86 fixes from Thomas Gleixner:
       "This set of updates contains:
      
         - Another bugfix for the pathologic vm86 machinery.  Clear
           thread.vm86 on fork to prevent corrupting the parent state.  This
           comes along with an update to the vm86 selftest case
      
         - Fix another corner case in the ioapic setup code which causes a
           boot crash on some oddball systems
      
         - Fix the fallout from the dma allocation consolidation work, which
           leads to a NULL pointer dereference when the allocation code is
           called with a NULL device"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vm86: Set thread.vm86 to NULL on fork/clone
        selftests/x86: Add a fork() to entry_from_vm86 to catch fork bugs
        x86/ioapic: Prevent NULL pointer dereference in setup_ioapic_dest()
        x86/dma-mapping: Fix arch_dma_alloc_attrs() oops with NULL dev
      ca04d396
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f5eab267
      Linus Torvalds 提交于
      Pull timer fixes from Thomas Gleixner:
       "The last round of minimalistic fixes for clocksource drivers:
      
         - Prevent multiple shutdown of the sh_mtu2 clocksource
      
         - Annotate a bunch of clocksource/schedclock functions with notrace
           to prevent an annoying ftrace recursion issue"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource/drivers/sh_mtu2: Fix multiple shutdown call issue
        clocksource/drivers/digicolor: Prevent ftrace recursion
        clocksource/drivers/fsl_ftm_timer: Prevent ftrace recursion
        clocksource/drivers/vf_pit_timer: Prevent ftrace recursion
        clocksource/drivers/prima2: Prevent ftrace recursion
        clocksource/drivers/samsung_pwm_timer: Prevent ftrace recursion
        clocksource/drivers/pistachio: Prevent ftrace recursion
        clocksource/drivers/arm_global_timer: Prevent ftrace recursion
      f5eab267
    • L
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4bf690d7
      Linus Torvalds 提交于
      Pull irq fixes from Thomas Gleixner:
       "The last two one-liners for 4.3 from the irqchip space:
      
         - Regression fix for armada SoC which addresses the fallout from the
           set_irq_flags() cleanup
      
         - Add the missing propagation of the irq_set_type() callback to the
           parent interrupt controller of the tegra interrupt chip"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/tegra: Propagate IRQ type setting to parent
        irqchip/armada-370-xp: Fix regression by clearing IRQ_NOAUTOEN
      4bf690d7
  3. 01 11月, 2015 22 次提交
    • L
      gpio: fix up SPI submenu · 0963670a
      Linus Walleij 提交于
      - Relax dependencies on SPI_MASTER for drivers in the SPI menu
        that already has this dependency.
      - Move out the expander that would be hidden for I2C access if
        SPI_MASTER was not selected. Tentatively create a separate
        menu for this.
      - Move the ZX SoC driver to memory-mapped drivers, this must be
        a mistake and only worked because the system has an SPI master
        enabled at the same time.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      0963670a
    • L
      gpio: drop surplus I2C dependencies · 269a46f8
      Linus Walleij 提交于
      The I2C expander menu already depends on I2C, drop subdependecies
      on individual drivers. Keep the instances of depends on I2C=y
      though, so these are still restricted to the compiled-in case.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      269a46f8
    • L
      gpio: drop surplus X86 dependencies · 7768feb0
      Linus Walleij 提交于
      Port-mapped I/O depends on X86 already, so individual drivers need
      not specify this dependency.
      Suggested-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      7768feb0
    • L
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 56ef9db2
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Olof Johansson:
       "This should be our final batch of fixes for 4.3:
      
         - A patch from Sudeep Holla that fixes annotation of wakeup sources
           properly, old unused format seems to have spread through copying.
      
         - Two patches from Tony for OMAP.  One dealing with MUSB setup
           problems due to runtime PM being enabled too early on the parent
           device.  The other fixes IRQ numbering for OMAP1"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        usb: musb: omap2430: Fix regression caused by driver core change
        ARM: OMAP1: fix incorrect INT_DMA_LCD
        ARM: dts: fix gpio-keys wakeup-source property
      56ef9db2
    • L
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 060b85b0
      Linus Torvalds 提交于
      Pull SCSI fixes from James Bottomley:
       "This is three essential bug fixes for various SCSI parts.
      
        The only affected users are SCSI multi-path via device handler
        (basically all the enterprise) and mvsas users.  The dh bugs are an
        async entanglement in boot resulting in a serious WARN_ON trip and a
        use after free on remove leading to a crash with strict memory
        accounting.  The mvsas bug manifests as a null deref oops but only on
        abort sequences; however, these can commonly occur with SATA attached
        devices, hence the fix"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi_dh: don't try to load a device handler during async probing
        scsi_dh: fix use-after-free when removing scsi device
        mvsas: Fix NULL pointer dereference in mvs_slot_task_free
      060b85b0
    • L
      Merge tag 'md/4.3-rc7-fixes' of git://neil.brown.name/md · af7eba01
      Linus Torvalds 提交于
      Pull md bug fixes from Neil Brown:
       "Two more bug fixes for md.
      
        One bugfix for a list corruption in raid5 because of incorrect
        locking.
      
        Other for possible data corruption when a recovering device is failed,
        removed, and re-added.
      
        Both tagged for -stable"
      
      * tag 'md/4.3-rc7-fixes' of git://neil.brown.name/md:
        Revert "md: allow a partially recovered device to be hot-added to an array."
        md/raid5: fix locking in handle_stripe_clean_event()
      af7eba01
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · d59ebbf1
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Two drm atomic core fixes.
      
        And two radeon patches needed to fix a backlight regression on some
        older hardware"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm: Correct arguments to list_tail_add in create blob ioctl
        drm: crtc: integer overflow in drm_property_create_blob()
        drm/radeon: fix dpms when driver backlight control is disabled
        drm/radeon: move bl encoder assignment into bl init
      d59ebbf1
    • L
      vfs: conditionally clear close-on-exec flag · fc90888d
      Linus Torvalds 提交于
      We clear the close-on-exec flag when opening and closing files, and the
      bit was almost always already clear before.  Avoid dirtying the
      cacheline if the clearning isn't necessary.  That avoids unnecessary
      cacheline dirtying and bouncing in multi-socket environments.
      
      Eric Dumazet has a file descriptor benchmark that goes 4% faster from
      this on his two-socket machine.  It's probably partly superlinear
      improvement due to getting slightly less spinlock contention on the
      file_lock spinlock due to less work in the critical section.
      Tested-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fc90888d
    • L
      vfs: Fix pathological performance case for __alloc_fd() · f3f86e33
      Linus Torvalds 提交于
      Al Viro points out that:
      > >     * [Linux-specific aside] our __alloc_fd() can degrade quite badly
      > > with some use patterns.  The cacheline pingpong in the bitmap is probably
      > > inevitable, unless we accept considerably heavier memory footprint,
      > > but we also have a case when alloc_fd() takes O(n) and it's _not_ hard
      > > to trigger - close(3);open(...); will have the next open() after that
      > > scanning the entire in-use bitmap.
      
      And Eric Dumazet has a somewhat realistic multithreaded microbenchmark
      that opens and closes a lot of sockets with minimal work per socket.
      
      This patch largely fixes it.  We keep a 2nd-level bitmap of the open
      file bitmaps, showing which words are already full.  So then we can
      traverse that second-level bitmap to efficiently skip already allocated
      file descriptors.
      
      On his benchmark, this improves performance by up to an order of
      magnitude, by avoiding the excessive open file bitmap scanning.
      Tested-and-acked-by: NEric Dumazet <edumazet@google.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f3f86e33
    • H
      hwmon: (fam15h_power) Add max compute unit accumulated power · 3b5ea47d
      Huang Rui 提交于
      This patch adds a member in fam15h_power_data which specifies the
      maximum accumulated power in a compute unit.
      Signed-off-by: NHuang Rui <ray.huang@amd.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      3b5ea47d
    • H
      hwmon: (fam15h_power) Enable power1_input on AMD Carrizo · 46f29c2b
      Huang Rui 提交于
      This patch enables power1_input attribute for Carrizo platform.
      Signed-off-by: NHuang Rui <ray.huang@amd.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      46f29c2b
    • H
      hwmon: (fam15h_power) Refactor attributes for dynamically added · 7deb14b1
      Huang Rui 提交于
      Attributes depend on the CPU model the driver gets loaded on.
      Therefore, add those attributes dynamically at init time. This is more
      flexible to control the different attributes on different platforms.
      Suggested-by: NBorislav Petkov <bp@alien8.de>
      Signed-off-by: NHuang Rui <ray.huang@amd.com>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      7deb14b1
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 523e1345
      Linus Torvalds 提交于
      Pull Ceph fix from Sage Weil:
       "This sets the stable pages flag on the RBD block device when we have
        CRCs enabled.  (This is necessary since the default assumption for
        block devices changed in 3.9)"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
        rbd: require stable pages if message data CRCs are enabled
      523e1345
    • L
      Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · 4bb0fb57
      Linus Torvalds 提交于
      Pull overlayfs bug fixes from Miklos Szeredi:
       "This contains fixes for bugs that appeared in earlier kernels (all are
        marked for -stable)"
      
      * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: free lower_mnt array in ovl_put_super
        ovl: free stack of paths in ovl_fill_super
        ovl: fix open in stacked overlay
        ovl: fix dentry reference leak
        ovl: use O_LARGEFILE in ovl_copy_up()
      4bb0fb57
    • L
      pinctrl: pinconf: remove needless loop · d99c8053
      Laurent Meunier 提交于
      This removes a needless loop which was caught in pinconf.c.
      Suggested-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: NLaurent Meunier <laurent.meunier@st.com>
      Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      d99c8053
    • M
      pinctrl: uniphier: guard uniphier directory with CONFIG_PINCTRL_UNIPHIER · 241297c2
      Masahiro Yamada 提交于
      CONFIG_PINCTRL_UNIPHIER is more suitable than CONFIG_ARCH_UNIPHIER
      to guard the drivers/pinctrl/uniphier directory.
      
      The current CONFIG_PINCTRL_UNIPHIER_CORE is a bit long
      (it would break the indentation in drivers/pinctrl/Makefile),
      so rename it into CONFIG_PINCTRL_UNIPHIER.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      241297c2
    • L
      pinctrl: zynq: fix UTF-8 errors · a7c6f30c
      Linus Walleij 提交于
      Fix up Sören's name in the Zynq driver. I caused this. I fix it.
      Acked-by: NSören Brinkmann <soren.brinkmann@xilinx.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      a7c6f30c
    • L
      gpio: dt-bindings: document the official use of "ngpios" · aacaffd1
      Linus Walleij 提交于
      There are a bunch of drivers that utilize the "ngpios" DT property
      without any vendor prefix. Try to start cleaning up the mess by
      defining what we mean by this property.
      
      Cc: devicetree@vger.kernel.org
      Cc: Pramod Kumar <pramodku@broadcom.com>
      Cc: Jonas Gorski <jogo@openwrt.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      aacaffd1
    • A
      gpio: MAINTAINERS: Add an entry for the ATH79 GPIO driver · aad7a211
      Alban Bedel 提交于
      Add an entry for the ATH79 GPIO driver with myself as maintainer.
      Signed-off-by: NAlban Bedel <albeu@free.fr>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      aad7a211
    • M
      gpio / ACPI: Allow shared GPIO event to be read via operation region · c103a10f
      Mika Westerberg 提交于
      In Microsoft Surface3 the GPIO detecting lid state is shared between GPIO
      event and operation region. Below is simplied version of the DSDT from
      Surface3 including relevant parts:
      
          Scope (GPO0)
          {
              Name (_AEI, ResourceTemplate ()
              {
                  GpioInt (Edge, ActiveBoth, Shared, PullNone, 0x0000,
                      "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                      )
                      {   // Pin list
                          0x004C
                      }
              })
      
              OperationRegion (GPOR, GeneralPurposeIo, Zero, One)
              Field (GPOR, ByteAcc, NoLock, Preserve)
              {
                  Connection (
                      GpioIo (Shared, PullNone, 0x0000, 0x0000,
                          IoRestrictionNone, "\\_SB.GPO0", 0x00,
                          ResourceConsumer,,)
                          {   // Pin list
                              0x004C
                          }
                  ),
                  HELD,   1
              }
      
              Method (_E4C, 0, Serialized)  // _Exx: Edge-Triggered GPE
              {
                  If ((HELD == One))
                  {
                      ^^LID.LIDB = One
                  }
                  Else
                  {
                      ^^LID.LIDB = Zero
                      Notify (LID, 0x80) // Status Change
                  }
      
                  Notify (^^PCI0.SPI1.NTRG, One) // Device Check
              }
          }
      
      When GPIO 0x4c changes we call ASL method _E4C which tries to read HELD
      field (the same GPIO). This triggers following error on the console:
      
          ACPI Error: Method parse/execution failed [\_SB.GPO0._E4C]
              (Node ffff88013f4b4438), AE_ERROR (20150930/psparse-542)
      
      The error happens because ACPI GPIO operation region handler
      (acpi_gpio_adr_space_handler()) tries to acquire the very same GPIO which
      returns an error (-EBUSY) because the GPIO is already reserved for the GPIO
      event.
      
      Fix this so that we "borrow" the event GPIO if we find the GPIO belongs to
      an event. Allow this only for GPIOs that are read.
      
      To be able to go through acpi_gpio->events list for operation region access
      we need to make sure the list is properly initialized whenever GPIO chip is
      registered.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=106571Signed-off-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      c103a10f
    • L
      gpio: group port-mapped I/O drivers in a menu · bc6a73bb
      Linus Walleij 提交于
      Create a Kconfig submenu for drivers using X86 port-mapped I/O
      and depend on X86 for this.
      Suggested-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Cc: William Breathitt Gray <vilhelm.gray@gmail.com>
      Cc: Andreas Bofjall <andreas@gazonk.org>
      Cc: Diego Elio Pettenò <flameeyes@flameeyes.eu>
      Cc: Daniel Krueger <daniel.krueger@systec-electronic.com>
      Cc: Bruno Randolf <br1@einfach.org>
      Cc: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
      Acked-by: NSimon Guinot <simon.guinot@sequanux.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      bc6a73bb
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · c94eee8a
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Fix two regressions in ipv6 route lookups, particularly wrt output
          interface specifications in the lookup key.  From David Ahern.
      
       2) Fix checks in ipv6 IPSEC tunnel pre-encap fragmentation, from
          Herbert Xu.
      
       3) Fix mis-advertisement of 1000BASE-T on bcm63xx_enet, from Simon
          Arlott.
      
       4) Some smsc phys misbehave with energy detect mode enabled, so add a
          DT property and disable it on such switches.  From Heiko Schocher.
      
       5) Fix TSO corruption on TX in mv643xx_eth, from Philipp Kirchhofer.
      
       6) Fix regression added by removal of openvswitch vport stats, from
          James Morse.
      
       7) Vendor Kconfig options should be bool, not tristate, from Andreas
          Schwab.
      
       8) Use non-_BH() net stats bump in tcp_xmit_probe_skb(), otherwise we
          barf during TCP REPAIR operations.
      
       9) Fix various bugs in openvswitch conntrack support, from Joe
          Stringer.
      
      10) Fix NETLINK_LIST_MEMBERSHIPS locking, from David Herrmann.
      
      11) Don't have VSOCK do sock_put() in interrupt context, from Jorgen
          Hansen.
      
      12) Fix skb_realloc_headroom() failures properly in ISDN, from Karsten
          Keil.
      
      13) Add some device IDs to qmi_wwan, from Bjorn Mork.
      
      14) Fix ovs egress tunnel information when using lwtunnel devices, from
          Pravin B Shelar.
      
      15) Add missing NETIF_F_FRAGLIST to macvtab feature list, from Jason
          Wang.
      
      16) Fix incorrect handling of throw routes when the result of the throw
          cannot find a match, from Xin Long.
      
      17) Protect ipv6 MTU calculations from wrap-around, from Hannes Frederic
          Sowa.
      
      18) Fix failed autonegotiation on KSZ9031 micrel PHYs, from Nathan
          Sullivan.
      
      19) Add missing memory barries in descriptor accesses or xgbe driver,
          from Thomas Lendacky.
      
      20) Fix release conditon test in pppoe_release(), from Guillaume Nault.
      
      21) Fix gianfar bugs wrt filter configuration, from Claudiu Manoil.
      
      22) Fix violations of RX buffer alignment in sh_eth driver, from Sergei
          Shtylyov.
      
      23) Fixing missing of_node_put() calls in various places around the
          networking, from Julia Lawall.
      
      24) Fix incorrect leaf now walking in ipv4 routing tree, from Alexander
          Duyck.
      
      25) RDS doesn't check pskb_pull()/pskb_trim() return values, from
          Sowmini Varadhan.
      
      26) Fix VLAN configuration in mlx4 driver, from Jack Morgenstein.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (79 commits)
        ipv6: protect mtu calculation of wrap-around and infinite loop by rounding issues
        Revert "Merge branch 'ipv6-overflow-arith'"
        net/mlx4: Copy/set only sizeof struct mlx4_eqe bytes
        net/mlx4_en: Explicitly set no vlan tags in WQE ctrl segment when no vlan is present
        vhost: fix performance on LE hosts
        bpf: sample: define aarch64 specific registers
        amd-xgbe: Fix race between access of desc and desc index
        RDS-TCP: Recover correctly from pskb_pull()/pksb_trim() failure in rds_tcp_data_recv
        forcedeth: fix unilateral interrupt disabling in netpoll path
        openvswitch: Fix skb leak using IPv6 defrag
        ipv6: Export nf_ct_frag6_consume_orig()
        openvswitch: Fix double-free on ip_defrag() errors
        fib_trie: leaf_walk_rcu should not compute key if key is less than pn->key
        net: mv643xx_eth: add missing of_node_put
        ath6kl: add missing of_node_put
        net: phy: mdio: add missing of_node_put
        netdev/phy: add missing of_node_put
        net: netcp: add missing of_node_put
        net: thunderx: add missing of_node_put
        ipv6: gre: support SIT encapsulation
        ...
      c94eee8a
  4. 31 10月, 2015 6 次提交