1. 18 Mar, 2016 4 commits
    • Oliver Neukum's avatar
      USB: cdc-acm: more sanity checking · 8835ba4a
      Oliver Neukum authored
      An attack has become available which pretends to be a quirky
      device circumventing normal sanity checks and crashes the kernel
      by an insufficient number of interfaces. This patch adds a check
      to the code path for quirky devices.
      Signed-off-by: default avatarOliver Neukum <ONeukum@suse.com>
      CC: stable@vger.kernel.org
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8835ba4a
    • Oliver Neukum's avatar
      USB: usb_driver_claim_interface: add sanity checking · 0b818e39
      Oliver Neukum authored
      Attacks that trick drivers into passing a NULL pointer
      to usb_driver_claim_interface() using forged descriptors are
      known. This thwarts them by sanity checking.
      Signed-off-by: default avatarOliver Neukum <ONeukum@suse.com>
      CC: stable@vger.kernel.org
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0b818e39
    • Nicolai Stange's avatar
      usb/core: usb_alloc_dev(): fix setting of ->portnum · 7222c832
      Nicolai Stange authored
      With commit 69bec725 ("USB: core: let USB device know device node"),
      the port1 argument of usb_alloc_dev() gets overwritten as follows:
      
        ... usb_alloc_dev(..., unsigned port1)
        {
          ...
          if (!parent->parent) {
            port1 = usb_hcd_find_raw_port_number(..., port1);
          }
          ...
        }
      
      Later on, this now overwritten port1 gets assigned to ->portnum:
      
        dev->portnum = port1;
      
      However, since xhci_find_raw_port_number() isn't idempotent, the
      aforementioned commit causes a number of KASAN splats like the following:
      
        BUG: KASAN: slab-out-of-bounds in xhci_find_raw_port_number+0x98/0x170
                                             at addr ffff8801d9311670
        Read of size 8 by task kworker/2:1/87
        [...]
        Workqueue: usb_hub_wq hub_event
         0000000000000188 000000005814b877 ffff8800cba17588 ffffffff8191447e
         0000000041b58ab3 ffffffff82a03209 ffffffff819143a2 ffffffff82a252f4
         ffff8801d93115e0 0000000000000188 ffff8801d9311628 ffff8800cba17588
        Call Trace:
         [<ffffffff8191447e>] dump_stack+0xdc/0x15e
         [<ffffffff819143a2>] ? _atomic_dec_and_lock+0xa2/0xa2
         [<ffffffff814e2cd1>] ? print_section+0x61/0xb0
         [<ffffffff814e4939>] print_trailer+0x179/0x2c0
         [<ffffffff814f0d84>] object_err+0x34/0x40
         [<ffffffff814f4388>] kasan_report_error+0x2f8/0x8b0
         [<ffffffff814eb91e>] ? __slab_alloc+0x5e/0x90
         [<ffffffff812178c0>] ? __lock_is_held+0x90/0x130
         [<ffffffff814f5091>] kasan_report+0x71/0xa0
         [<ffffffff814ec082>] ? kmem_cache_alloc_trace+0x212/0x560
         [<ffffffff81d99468>] ? xhci_find_raw_port_number+0x98/0x170
         [<ffffffff814f33d4>] __asan_load8+0x64/0x70
         [<ffffffff81d99468>] xhci_find_raw_port_number+0x98/0x170
         [<ffffffff81db0105>] xhci_setup_addressable_virt_dev+0x235/0xa10
         [<ffffffff81d9ea51>] xhci_setup_device+0x3c1/0x1430
         [<ffffffff8121cddd>] ? trace_hardirqs_on+0xd/0x10
         [<ffffffff81d9fac0>] ? xhci_setup_device+0x1430/0x1430
         [<ffffffff81d9fad3>] xhci_address_device+0x13/0x20
         [<ffffffff81d2081a>] hub_port_init+0x55a/0x1550
         [<ffffffff81d28705>] hub_event+0xef5/0x24d0
         [<ffffffff81d27810>] ? hub_port_debounce+0x2f0/0x2f0
         [<ffffffff8195e1ee>] ? debug_object_deactivate+0x1be/0x270
         [<ffffffff81210203>] ? print_rt_rq+0x53/0x2d0
         [<ffffffff8121657d>] ? trace_hardirqs_off+0xd/0x10
         [<ffffffff8226acfb>] ? _raw_spin_unlock_irqrestore+0x5b/0x60
         [<ffffffff81250000>] ? irq_domain_set_hwirq_and_chip+0x30/0xb0
         [<ffffffff81256339>] ? debug_lockdep_rcu_enabled+0x39/0x40
         [<ffffffff812178c0>] ? __lock_is_held+0x90/0x130
         [<ffffffff81196877>] process_one_work+0x567/0xec0
        [...]
      
      Afterwards, xhci reports some functional errors:
      
        xhci_hcd 0000:00:14.0: ERROR: unexpected setup address command completion
                                      code 0x11.
        xhci_hcd 0000:00:14.0: ERROR: unexpected setup address command completion
                                      code 0x11.
        usb 4-3: device not accepting address 2, error -22
      
      Fix this by not overwriting the port1 argument in usb_alloc_dev(), but
      storing the raw port number as required by OF in an additional variable,
      raw_port.
      
      Fixes: 69bec725 ("USB: core: let USB device know device node")
      Signed-off-by: default avatarNicolai Stange <nicstange@gmail.com>
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      7222c832
    • Josh Boyer's avatar
      USB: iowarrior: fix oops with malicious USB descriptors · 4ec0ef3a
      Josh Boyer authored
      The iowarrior driver expects at least one valid endpoint.  If given
      malicious descriptors that specify 0 for the number of endpoints,
      it will crash in the probe function.  Ensure there is at least
      one endpoint on the interface before using it.
      
      The full report of this issue can be found here:
      http://seclists.org/bugtraq/2016/Mar/87Reported-by: default avatarRalf Spenneberg <ralf@spenneberg.net>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4ec0ef3a
  2. 17 Mar, 2016 18 commits
    • Linus Torvalds's avatar
      Merge tag 'usb-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 48d10bda
      Linus Torvalds authored
      Pull USB updates from Greg KH:
       "Here is the big USB patchset for 4.6-rc1.
      
        The normal mess is here, gadget and xhci fixes and updates, and lots
        of other driver updates and cleanups as well.  Full details are in the
        shortlog.
      
        All have been in linux-next for a while with no reported issues"
      
      * tag 'usb-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (266 commits)
        USB: core: let USB device know device node
        usb: devio: Add ioctl to disallow detaching kernel USB drivers.
        usb: gadget: f_acm: Fix configfs attr name
        usb: udc: lpc32xx: remove USB PLL and USB OTG clock management
        usb: udc: lpc32xx: remove direct access to clock controller registers
        usb: udc: lpc32xx: switch to clock prepare/unprepare model
        usb: renesas_usbhs: gadget: fix giveback status code in usbhsg_pipe_disable()
        usb: gadget: renesas_usb3: Use ARCH_RENESAS
        usb: dwc2: Fix issues in dwc2_complete_non_isoc_xfer_ddma()
        usb: dwc2: Add support for Lantiq ARX and XRX SoCs
        usb: phy: generic: Handle late registration of gadget
        usb: gadget: bdc_udc: fix race condition in bdc_udc_exit()
        usb: musb: core: added missing const qualifier to musb_hdrc_platform_data::config
        usb: dwc2: Move host-specific core functions into hcd.c
        usb: dwc2: Move register save and restore functions
        usb: dwc2: Use kmem_cache_free()
        usb: dwc2: host: If using uframe scheduler, end splits better
        usb: dwc2: host: Totally redo the microframe scheduler
        usb: dwc2: host: Properly set even/odd frame
        usb: dwc2: host: Add dwc2_hcd_get_future_frame_number() call
        ...
      48d10bda
    • Linus Torvalds's avatar
      Merge tag 'tty-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 96b9b1c9
      Linus Torvalds authored
      Pull tty/serial updates from Greg KH:
       "Here's the big tty/serial driver pull request for 4.6-rc1.
      
        Lots of changes in here, Peter has been on a tear again, with lots of
        refactoring and bugs fixes, many thanks to the great work he has been
        doing.  Lots of driver updates and fixes as well, full details in the
        shortlog.
      
        All have been in linux-next for a while with no reported issues"
      
      * tag 'tty-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (220 commits)
        serial: 8250: describe CONFIG_SERIAL_8250_RSA
        serial: samsung: optimize UART rx fifo access routine
        serial: pl011: add mark/space parity support
        serial: sa1100: make sa1100_register_uart_fns a function
        tty: serial: 8250: add MOXA Smartio MUE boards support
        serial: 8250: convert drivers to use up_to_u8250p()
        serial: 8250/mediatek: fix building with SERIAL_8250=m
        serial: 8250/ingenic: fix building with SERIAL_8250=m
        serial: 8250/uniphier: fix modular build
        Revert "drivers/tty/serial: make 8250/8250_ingenic.c explicitly non-modular"
        Revert "drivers/tty/serial: make 8250/8250_mtk.c explicitly non-modular"
        serial: mvebu-uart: initial support for Armada-3700 serial port
        serial: mctrl_gpio: Add missing module license
        serial: ifx6x60: avoid uninitialized variable use
        tty/serial: at91: fix bad offset for UART timeout register
        tty/serial: at91: restore dynamic driver binding
        serial: 8250: Add hardware dependency to RT288X option
        TTY, devpts: document pty count limiting
        tty: goldfish: support platform_device with id -1
        drivers: tty: goldfish: Add device tree bindings
        ...
      96b9b1c9
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 8eee93e2
      Linus Torvalds authored
      Pull char/misc updates from Greg KH:
       "Here is the big char/misc driver update for 4.6-rc1.
      
        The majority of the patches here is hwtracing and some new mic
        drivers, but there's a lot of other driver updates as well.  Full
        details in the shortlog.
      
        All have been in linux-next for a while with no reported issues"
      
      * tag 'char-misc-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (238 commits)
        goldfish: Fix build error of missing ioremap on UM
        nvmem: mediatek: Fix later provider initialization
        nvmem: imx-ocotp: Fix return value of imx_ocotp_read
        nvmem: Fix dependencies for !HAS_IOMEM archs
        char: genrtc: replace blacklist with whitelist
        drivers/hwtracing: make coresight-etm-perf.c explicitly non-modular
        drivers: char: mem: fix IS_ERROR_VALUE usage
        char: xillybus: Fix internal data structure initialization
        pch_phub: return -ENODATA if ROM can't be mapped
        Drivers: hv: vmbus: Support kexec on ws2012 r2 and above
        Drivers: hv: vmbus: Support handling messages on multiple CPUs
        Drivers: hv: utils: Remove util transport handler from list if registration fails
        Drivers: hv: util: Pass the channel information during the init call
        Drivers: hv: vmbus: avoid unneeded compiler optimizations in vmbus_wait_for_unload()
        Drivers: hv: vmbus: remove code duplication in message handling
        Drivers: hv: vmbus: avoid wait_for_completion() on crash
        Drivers: hv: vmbus: don't loose HVMSG_TIMER_EXPIRED messages
        misc: at24: replace memory_accessor with nvmem_device_read
        eeprom: 93xx46: extend driver to plug into the NVMEM framework
        eeprom: at25: extend driver to plug into the NVMEM framework
        ...
      8eee93e2
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 1a4ab084
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Just a few patches this time around for the 4.6-rc1 merge window.
        Largest is a new firmware driver, but there are some other updates to
        the driver core in here as well, the shortlog has the details.
      
        All have been in linux-next for a while with no reported issues"
      
      * tag 'driver-core-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        Revert "driver-core: platform: probe of-devices only using list of compatibles"
        firmware: qemu config needs I/O ports
        firmware: qemu_fw_cfg.c: fix typo FW_CFG_DATA_OFF
        driver-core: platform: probe of-devices only using list of compatibles
        driver-core: platform: fix typo in documentation for multi-driver helper
        component: remove impossible condition
        drivers: dma-coherent: simplify dma_init_coherent_memory return value
        devicetree: update documentation for fw_cfg ARM bindings
        firmware: create directory hierarchy for sysfs fw_cfg entries
        firmware: introduce sysfs driver for QEMU's fw_cfg device
        kobject: export kset_find_obj() for module use
        driver core: bus: use to_subsys_private and to_device_private_bus
        driver core: bus: use list_for_each_entry*
        debugfs: Add stub function for debugfs_create_automount().
        kernfs: make kernfs_walk_ns() use kernfs_pr_cont_buf[]
      1a4ab084
    • Linus Torvalds's avatar
      Merge tag 'vfio-v4.6-rc1' of git://github.com/awilliam/linux-vfio · 45cb5230
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
       "Various enablers for assignment of Intel graphics devices and future
        support of vGPU devices (Alex Williamson).  This includes
      
         - Handling the vfio type1 interface as an API rather than a specific
           implementation, allowing multiple type1 providers.
      
         - Capability chains, similar to PCI device capabilities, that allow
           extending ioctls.  Extensions here include device specific regions
           and sparse mmap descriptions.  The former is used to expose non-PCI
           regions for IGD, including the OpRegion (particularly the Video
           BIOS Table), and read only PCI config access to the host and LPC
           bridge as drivers often depend on identifying those devices.
      
           Sparse mmaps here are used to describe the MSIx vector table, which
           vfio has always protected from mmap, but never had an API to
           explicitly define that protection.  In future vGPU support this is
           expected to allow the description of PCI BARs that may mix direct
           access and emulated access within a single region.
      
         - The ability to expose the shadow ROM as an option ROM as IGD use
           cases may rely on the ROM even though the physical device does not
           make use of a PCI option ROM BAR"
      
      * tag 'vfio-v4.6-rc1' of git://github.com/awilliam/linux-vfio:
        vfio/pci: return -EFAULT if copy_to_user fails
        vfio/pci: Expose shadow ROM as PCI option ROM
        vfio/pci: Intel IGD host and LCP bridge config space access
        vfio/pci: Intel IGD OpRegion support
        vfio/pci: Enable virtual register in PCI config space
        vfio/pci: Add infrastructure for additional device specific regions
        vfio: Define device specific region type capability
        vfio/pci: Include sparse mmap capability for MSI-X table regions
        vfio: Define sparse mmap capability for regions
        vfio: Add capability chain helpers
        vfio: Define capability chains
        vfio: If an IOMMU backend fails, keep looking
        vfio/pci: Fix unsigned comparison overflow
      45cb5230
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 3c0b8d1c
      Linus Torvalds authored
      Pull HSI updates from Sebastian Reichel:
       "nokia-modem: add N950 and N9 support"
      
      * tag 'hsi-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: ssi-protocol: Use handshake logic from n950
        HSI: nokia-modem: add n950 and n9 support
      3c0b8d1c
    • Linus Torvalds's avatar
      Merge tag 'for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 9cc984e4
      Linus Torvalds authored
      Pull power supply and reset changes from Sebastian Reichel:
       - add types for USB Type C and PD chargers
       - add act8945a charger driver
       - add ACPI/DT bindings for goldfish-battery
       - add support for versatile reset controller
       - misc fixes
      
      * tag 'for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (24 commits)
        power: pm2301-charger: use __maybe_unused to hide pm functions
        power: ipaq-micro-battery: use __maybe_unused to hide pm functions
        power_supply: 88pm860x_charger: do not pass NULL to power_supply_put
        jz4740-battery: Correct voltage change check
        power_supply: lp8788-charger: initialize boolean 'found'
        goldfish: Enable ACPI-based enumeration for goldfish battery
        power: goldfish_battery: add devicetree bindings
        power: act8945a: add charger driver for ACT8945A
        power: add documentation for ACT8945A's charger DT bindings
        ARM: dts: n900: Rename isp1704 to isp1707 to match correct name
        power_supply: bq27xxx_battery: Add of modalias and match table when CONFIG_OF is enabled
        power_supply: bq2415x_charger: Add of modalias and match table when CONFIG_OF is enabled
        power_supply: bq2415x_charger: Do not add acpi modalias when CONFIG_ACPI is not enabled
        power_supply: isp1704_charger: Add compatible of match for nxp,isp1707
        power_supply: isp1704_charger: Error messages when probe fail
        power_supply: Add types for USB Type C and PD chargers
        power: bq24735-charger: add 'ti,external-control' option
        power: bq24735-charger: document 'ti,external-control' option
        power: bq24735-charger: fix failed i2c with ac-detect
        power: reset: Fix dependencies for !HAS_IOMEM archs
        ...
      9cc984e4
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-4.6-rc1' of git://git.infradead.org/users/vkoul/slave-dma · b5b131c7
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "This is smallish update with minor changes to core and new driver and
        usual updates.  Nothing super exciting here..
      
         - We have made slave address as physical to enable driver to do the
           mapping.
      
         - We now expose the maxburst for slave dma as new capability so
           clients can know this and program accordingly
      
         - addition of device synchronize callbacks on omap and edma.
      
         - pl330 updates to support DMAFLUSHP for Rockchip platforms.
      
         - Updates and improved sg handling in Xilinx VDMA driver.
      
         - New hidma qualcomm dma driver, though some bits are still in
           progress"
      
      * tag 'dmaengine-4.6-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (40 commits)
        dmaengine: IOATDMA: revise channel reset workaround on CB3.3 platforms
        dmaengine: add Qualcomm Technologies HIDMA channel driver
        dmaengine: add Qualcomm Technologies HIDMA management driver
        dmaengine: hidma: Add Device Tree binding
        dmaengine: qcom_bam_dma: move to qcom directory
        dmaengine: tegra: Move of_device_id table near to its user
        dmaengine: xilinx_vdma: Remove unnecessary variable initializations
        dmaengine: sirf: use __maybe_unused to hide pm functions
        dmaengine: rcar-dmac: clear pertinence number of channels
        dmaengine: sh: shdmac: don't open code of_device_get_match_data()
        dmaengine: tegra: don't open code of_device_get_match_data()
        dmaengine: qcom_bam_dma: Make driver work for BE
        dmaengine: sun4i: support module autoloading
        dma/mic_x100_dma: IS_ERR() vs PTR_ERR() typo
        dmaengine: xilinx_vdma: Use readl_poll_timeout instead of do while loop's
        dmaengine: xilinx_vdma: Simplify spin lock handling
        dmaengine: xilinx_vdma: Fix issues with non-parking mode
        dmaengine: xilinx_vdma: Improve SG engine handling
        dmaengine: pl330: fix to support the burst mode
        dmaengine: make slave address physical
        ...
      b5b131c7
    • Linus Torvalds's avatar
      Merge tag 'rproc-v4.6' of git://github.com/andersson/remoteproc · c7eec380
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "New driver for controlling ST's remote processors and a couple of
        minor fixes.  Also includes the addition of myself as co-maintainer"
      Acked-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
      
      * tag 'rproc-v4.6' of git://github.com/andersson/remoteproc:
        MAINTAINERS: Add co-maintainer for remoteproc subsystems
        remoteproc: Supply controller driver for ST's Remote Processors
        remoteproc: debugfs: Add ability to boot remote processor using debugfs
        remoteproc: dt: Provide bindings for ST's Remote Processor Controller driver
        remoteproc: debugfs: Return error on invalid 'count' value
        remoteproc/wkup_m3: Use MODULE_DEVICE_TABLE to export alias
        remoteproc: report error if resource table doesn't exist
      c7eec380
    • Linus Torvalds's avatar
      Merge tag 'docs-for-linus' of git://git.lwn.net/linux · 37aa7319
      Linus Torvalds authored
      Pul documentation update from Jon Corbet:
       "Another relatively boring cycle for the docs tree: typo fixes,
        translation updates, etc"
      
      * tag 'docs-for-linus' of git://git.lwn.net/linux:
        modsign: Fix documentation on module signing enforcement parameter.
        Doc: nfs: Fix typos in Documentation/filesystems/nfs
        Documentation: kselftest: Remove duplicate word
        doc: fix grammar
        Documentation: Howto: Fixed subtitles style
        Doc: ARM: Fix a typo in clksrc-change-registers.awk
        Documentation/ko_KR: update maintainer information
        Documentation: Fix int/unsigned int comparison
        Documentation: Chinese translation of arm64/silicon-errata.txt
        Documentation:Update Documentation/zh_CN/arm64/booting.txt
        Documentation: HOWTO: remove obsolete info about regression postings
        Doc: ja_JP: Fix a typo in HOWTO
        Doc: i2c: Fix typo in Documentation/i2c
        Doc: DocBook: Fix a typo in device-drivers.tmpl
        Remove "arch" usage in Documentation/features/list-arch.sh
        README: cosmetic fixes
        Documentation/CodingStyle: add space before parenthesis in example macro
        SubmittingPatches: fix spelling of "git send-email"
      37aa7319
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · bb7aeae3
      Linus Torvalds authored
      Pull security layer updates from James Morris:
       "There are a bunch of fixes to the TPM, IMA, and Keys code, with minor
        fixes scattered across the subsystem.
      
        IMA now requires signed policy, and that policy is also now measured
        and appraised"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (67 commits)
        X.509: Make algo identifiers text instead of enum
        akcipher: Move the RSA DER encoding check to the crypto layer
        crypto: Add hash param to pkcs1pad
        sign-file: fix build with CMS support disabled
        MAINTAINERS: update tpmdd urls
        MODSIGN: linux/string.h should be #included to get memcpy()
        certs: Fix misaligned data in extra certificate list
        X.509: Handle midnight alternative notation in GeneralizedTime
        X.509: Support leap seconds
        Handle ISO 8601 leap seconds and encodings of midnight in mktime64()
        X.509: Fix leap year handling again
        PKCS#7: fix unitialized boolean 'want'
        firmware: change kernel read fail to dev_dbg()
        KEYS: Use the symbol value for list size, updated by scripts/insert-sys-cert
        KEYS: Reserve an extra certificate symbol for inserting without recompiling
        modsign: hide openssl output in silent builds
        tpm_tis: fix build warning with tpm_tis_resume
        ima: require signed IMA policy
        ima: measure and appraise the IMA policy itself
        ima: load policy using path
        ...
      bb7aeae3
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 70477371
      Linus Torvalds authored
      Pull crypto update from Herbert Xu:
       "Here is the crypto update for 4.6:
      
        API:
         - Convert remaining crypto_hash users to shash or ahash, also convert
           blkcipher/ablkcipher users to skcipher.
         - Remove crypto_hash interface.
         - Remove crypto_pcomp interface.
         - Add crypto engine for async cipher drivers.
         - Add akcipher documentation.
         - Add skcipher documentation.
      
        Algorithms:
         - Rename crypto/crc32 to avoid name clash with lib/crc32.
         - Fix bug in keywrap where we zero the wrong pointer.
      
        Drivers:
         - Support T5/M5, T7/M7 SPARC CPUs in n2 hwrng driver.
         - Add PIC32 hwrng driver.
         - Support BCM6368 in bcm63xx hwrng driver.
         - Pack structs for 32-bit compat users in qat.
         - Use crypto engine in omap-aes.
         - Add support for sama5d2x SoCs in atmel-sha.
         - Make atmel-sha available again.
         - Make sahara hashing available again.
         - Make ccp hashing available again.
         - Make sha1-mb available again.
         - Add support for multiple devices in ccp.
         - Improve DMA performance in caam.
         - Add hashing support to rockchip"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (116 commits)
        crypto: qat - remove redundant arbiter configuration
        crypto: ux500 - fix checks of error code returned by devm_ioremap_resource()
        crypto: atmel - fix checks of error code returned by devm_ioremap_resource()
        crypto: qat - Change the definition of icp_qat_uof_regtype
        hwrng: exynos - use __maybe_unused to hide pm functions
        crypto: ccp - Add abstraction for device-specific calls
        crypto: ccp - CCP versioning support
        crypto: ccp - Support for multiple CCPs
        crypto: ccp - Remove check for x86 family and model
        crypto: ccp - memset request context to zero during import
        lib/mpi: use "static inline" instead of "extern inline"
        lib/mpi: avoid assembler warning
        hwrng: bcm63xx - fix non device tree compatibility
        crypto: testmgr - allow rfc3686 aes-ctr variants in fips mode.
        crypto: qat - The AE id should be less than the maximal AE number
        lib/mpi: Endianness fix
        crypto: rockchip - add hash support for crypto engine in rk3288
        crypto: xts - fix compile errors
        crypto: doc - add skcipher API documentation
        crypto: doc - update AEAD AD handling
        ...
      70477371
    • Linus Torvalds's avatar
      Merge tag 'fbdev-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · 09fd671c
      Linus Torvalds authored
      Pull fbdev updates from Tomi Valkeinen:
      
       - Miscallaneous small fixes to various fbdev drivers
      
       - Remove fb_rotate, which was never used
      
       - pmag fb improvements
      
      * tag 'fbdev-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (21 commits)
        xen kconfig: don't "select INPUT_XEN_KBDDEV_FRONTEND"
        video: fbdev: sis: remove unused variable
        drivers/video: make fbdev/sunxvr2500.c explicitly non-modular
        drivers/video: make fbdev/sunxvr1000.c explicitly non-modular
        drivers/video: make fbdev/sunxvr500.c explicitly non-modular
        video: exynos: fix modular build
        fbdev: da8xx-fb: fix videomodes of lcd panels
        fbdev: kill fb_rotate
        video: fbdev: bt431: Correct cursor format control macro
        video: fbdev: pmag-ba-fb: Optimize Bt455 colormap addressing
        video: fbdev: pmag-ba-fb: Fix and rework Bt455 colormap handling
        video: fbdev: bt455: Remove unneeded colormap helpers for cursor support
        video: fbdev: pmag-aa-fb: Report video timings
        video: fbdev: pmag-aa-fb: Enable building as a module
        video: fbdev: pmag-aa-fb: Adapt to current APIs
        video: fbdev: pmag-ba-fb: Fix the lower margin size
        fbdev: sh_mobile_lcdc: Use ARCH_RENESAS
        fbdev: n411: check return value
        fbdev: exynos: fix IS_ERR_VALUE usage
        video: Use bool instead int pointer for get_opt_bool() argument
        ...
      09fd671c
    • Linus Torvalds's avatar
      Merge tag 'media/v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · bace3db5
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
       - Added support for some new video formats
       - mn88473 DVB frontend driver got promoted from staging
       - several improvements at the VSP1 driver
       - several cleanups and improvements at the Media Controller
       - added Media Controller support to snd-usb-audio.  Currently, enabled
         only for au0828-based V4L2/DVB boards
       - Several improvements at nuvoton-cir: it now supports wake up codes
       - Add media controller support to em28xx and saa7134 drivers
       - coda driver now accepts NXP distributed firmware files
       - Some legacy SoC camera drivers will be moving to staging, as they're
         outdated and nobody so far is willing to fix and convert them to use
         the current media framework
       - As usual, lots of cleanups, improvements and new board additions.
      
      * tag 'media/v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (381 commits)
        media: au0828 disable tuner to demod link in au0828_media_device_register()
        [media] touptek: cast char types on %x printk
        [media] touptek: don't DMA at the stack
        [media] mceusb: use %*ph for small buffer dumps
        [media] v4l: exynos4-is: Drop unneeded check when setting up fimc-lite links
        [media] v4l: vsp1: Check if an entity is a subdev with the right function
        [media] hide unused functions for !MEDIA_CONTROLLER
        [media] em28xx: fix Terratec Grabby AC97 codec detection
        [media] media: add prefixes to interface types
        [media] media: rc: nuvoton: switch attribute wakeup_data to text
        [media] v4l2-ioctl: fix YUV422P pixel format description
        [media] media: fix null pointer dereference in v4l_vb2q_enable_media_source()
        [media] v4l2-mc.h: fix yet more compiler errors
        [media] staging/media: add missing TODO files
        [media] media.h: always start with 1 for the audio entities
        [media] sound/usb: Use meaninful names for goto labels
        [media] v4l2-mc.h: fix compiler warnings
        [media] media: au0828 audio mixer isn't connected to decoder
        [media] sound/usb: Use Media Controller API to share media resources
        [media] dw2102: add support for TeVii S662
        ...
      bace3db5
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 8759957b
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
      
       - Asynchronous address range scrub:
      
           Given the capacities of next generation persistent memory devices a
           scrub operation to find all poison may take 10s of seconds.  We
           want this scrub work to be done asynchronously with the rest of
           system initialization, so we move it out of line from the NFIT
           probing, i.e. acpi_nfit_add().
      
       - Clear poison:
      
           ACPI 6.1 introduces the ability to send "clear error" commands to
           the ACPI0012:00 device representing the root of an "nvdimm bus".
           Similar to relocating a bad block on a disk, this support clears
           media errors in response to a write.
      
       - Persistent memory resource tracking:
      
           A persistent memory range may be designated as simply "reserved" by
           platform firmware in the efi/e820 memory map.  Later when the NFIT
           driver loads it discovers that the range is "Persistent Memory".
      
           The NFIT bus driver inserts a resource to advertise that
           "persistent" attribute in the system resource tree for /proc/iomem
           and kernel-internal usages.
      
       - Miscellaneous cleanups and fixes:
      
           Workaround section misaligned pmem ranges when allocating a struct
           page memmap, fix handling of the read-only case in the ioctl path,
           and clean up block device major number allocation.
      
      * tag 'libnvdimm-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (26 commits)
        libnvdimm, pmem: clear poison on write
        libnvdimm, pmem: fix kmap_atomic() leak in error path
        nvdimm/btt: don't allocate unused major device number
        nvdimm/blk: don't allocate unused major device number
        pmem: don't allocate unused major device number
        ACPI: Change NFIT driver to insert new resource
        resource: Export insert_resource and remove_resource
        resource: Add remove_resource interface
        resource: Change __request_region to inherit from immediate parent
        libnvdimm, pmem: fix ia64 build, use PHYS_PFN
        nfit, libnvdimm: clear poison command support
        libnvdimm, pfn: 'resource'-address and 'size' attributes for pfn devices
        libnvdimm, pmem: adjust for section collisions with 'System RAM'
        libnvdimm, pmem: fix 'pfn' support for section-misaligned namespaces
        libnvdimm: Fix security issue with DSM IOCTL.
        libnvdimm: Clean-up access mode check.
        tools/testing/nvdimm: expand ars unit testing
        nfit: disable userspace initiated ars during scrub
        nfit: scrub and register regions in a workqueue
        nfit, libnvdimm: async region scrub workqueue
        ...
      8759957b
    • Linus Torvalds's avatar
      Merge tag 'dm-4.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 6968e6f8
      Linus Torvalds authored
      Pull device mapper updates from Mike Snitzer:
      
       - Most attention this cycle went to optimizing blk-mq request-based DM
         (dm-mq) that is used exclussively by DM multipath:
      
           - A stable fix for dm-mq that eliminates excessive context
             switching offers the biggest performance improvement (for both
             IOPs and throughput).
      
           - But more work is needed, during the next cycle, to reduce
             spinlock contention in DM multipath on large NUMA systems.
      
       - A stable fix for a NULL pointer seen when DM stats is enabled on a DM
         multipath device that must requeue an IO due to path failure.
      
       - A stable fix for DM snapshot to disallow the COW and origin devices
         from being identical.  This amounts to graceful failure in the face
         of userspace error because these devices shouldn't ever be identical.
      
       - Stable fixes for DM cache and DM thin provisioning to address crashes
         seen if/when their respective metadata device experiences failures
         that cause the transition to 'fail_io' mode.
      
       - The DM cache 'mq' policy is now an alias for the 'smq' policy.  The
         'smq' policy proved to be consistently better than 'mq'.  As such
         'mq', with all its complex user-facing tunables, has been eliminated.
      
       - Improve DM thin provisioning to consistently return -ENOSPC once the
         thin-pool's data volume is out of space.
      
       - Improve DM core to properly handle error propagation if
         bio_integrity_clone() fails in clone_bio().
      
       - Other small cleanups and improvements to DM core.
      
      * tag 'dm-4.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (41 commits)
        dm: fix rq_end_stats() NULL pointer in dm_requeue_original_request()
        dm thin: consistently return -ENOSPC if pool has run out of data space
        dm cache: bump the target version
        dm cache: make sure every metadata function checks fail_io
        dm: add missing newline between DM_DEBUG_BLOCK_STACK_TRACING and DM_BUFIO
        dm cache policy smq: clarify that mq registration failure was for 'mq'
        dm: return error if bio_integrity_clone() fails in clone_bio()
        dm thin metadata: don't issue prefetches if a transaction abort has failed
        dm snapshot: disallow the COW and origin devices from being identical
        dm cache: make the 'mq' policy an alias for 'smq'
        dm: drop unnecessary assignment of md->queue
        dm: reorder 'struct mapped_device' members to fix alignment and holes
        dm: remove dummy definition of 'struct dm_table'
        dm: add 'dm_numa_node' module parameter
        dm thin metadata: remove needless newline from subtree_dec() DMERR message
        dm mpath: cleanup reinstate_path() et al based on code review
        dm mpath: remove __pgpath_busy forward declaration, rename to pgpath_busy
        dm mpath: switch from 'unsigned' to 'bool' for flags where appropriate
        dm round robin: use percpu 'repeat_count' and 'current_path'
        dm path selector: remove 'repeat_count' return from .select_path hook
        ...
      6968e6f8
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · cae8da04
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This pull includes driver updates from the usual suspects (stex, hpsa,
        ncr5380, scsi_dh, qla2xxx, be2iscsi, hisi_sas, cxlflash, aacraid,
        mp3sas, megaraid_sas, ibmvscsi, ufs) plus an assortment of
        miscellaneous fixes.
      
        The major user visible change of this pull is that we've moved from
        monotonically increasing host number to an ida allocated one (meaning
        the numbers get re-used) because someone managed to wrap the count in
        an iscsi system.  We don't believe there will be any adverse
        consequences of this"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (230 commits)
        MAINTAINERS: use new email address for James Bottomley
        mpt3sas: Remove unnecessary synchronize_irq() before free_irq()
        sg: fix dxferp in from_to case
        cxlflash: Increase cmd_per_lun for better throughput
        cxlflash: Fix to avoid unnecessary scan with internal LUNs
        cxlflash: Reorder user context initialization
        cxlflash: Simplify attach path error cleanup
        cxlflash: Split out context initialization
        cxlflash: Unmap problem state area before detaching master context
        cxlflash: Simplify PCI registration
        scsi: storvsc: fix SRB_STATUS_ABORTED handling
        be2iscsi: set the boot_kset pointer to NULL in case of failure
        sd: Fix discard granularity when LBPRZ=1
        be2iscsi: Remove unnecessary synchronize_irq() before free_irq()
        scsi_sysfs: call 'device_add' after attaching device handler
        scsi_dh_emc: update 'access_state' field
        scsi_dh_rdac: update 'access_state' field
        scsi_dh_alua: update 'access_state' field
        scsi_dh_alua: use common definitions for ALUA state
        scsi: Add 'access_state' and 'preferred_path' attribute
        ...
      cae8da04
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft · 7bb7a748
      Linus Torvalds authored
      Pull iscsi_ibft update from Konrad Rzeszutek Wilk:
       "A simple patch that had been rattling around in SuSE repo"
      
      * 'stable/for-linus-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft:
        iscsi_ibft: Add prefix-len attr and display netmask
      7bb7a748
  3. 16 Mar, 2016 15 commits
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 63e30271
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "PCI changes for v4.6:
      
        Enumeration:
         - Disable IO/MEM decoding for devices with non-compliant BARs (Bjorn Helgaas)
         - Mark Broadwell-EP Home Agent & PCU as having non-compliant BARs (Bjorn Helgaas
      
        Resource management:
         - Mark shadow copy of VGA ROM as IORESOURCE_PCI_FIXED (Bjorn Helgaas)
         - Don't assign or reassign immutable resources (Bjorn Helgaas)
         - Don't enable/disable ROM BAR if we're using a RAM shadow copy (Bjorn Helgaas)
         - Set ROM shadow location in arch code, not in PCI core (Bjorn Helgaas)
         - Remove arch-specific IORESOURCE_ROM_SHADOW size from sysfs (Bjorn Helgaas)
         - ia64: Use ioremap() instead of open-coded equivalent (Bjorn Helgaas)
         - ia64: Keep CPU physical (not virtual) addresses in shadow ROM resource (Bjorn Helgaas)
         - MIPS: Keep CPU physical (not virtual) addresses in shadow ROM resource (Bjorn Helgaas)
         - Remove unused IORESOURCE_ROM_COPY and IORESOURCE_ROM_BIOS_COPY (Bjorn Helgaas)
         - Don't leak memory if sysfs_create_bin_file() fails (Bjorn Helgaas)
         - rcar: Remove PCI_PROBE_ONLY handling (Lorenzo Pieralisi)
         - designware: Remove PCI_PROBE_ONLY handling (Lorenzo Pieralisi)
      
        Virtualization:
         - Wait for up to 1000ms after FLR reset (Alex Williamson)
         - Support SR-IOV on any function type (Kelly Zytaruk)
         - Add ACS quirk for all Cavium devices (Manish Jaggi)
      
        AER:
         - Rename pci_ops_aer to aer_inj_pci_ops (Bjorn Helgaas)
         - Restore pci_ops pointer while calling original pci_ops (David Daney)
         - Fix aer_inject error codes (Jean Delvare)
         - Use dev_warn() in aer_inject (Jean Delvare)
         - Log actual error causes in aer_inject (Jean Delvare)
         - Log aer_inject error injections (Jean Delvare)
      
        VPD:
         - Prevent VPD access for buggy devices (Babu Moger)
         - Move pci_read_vpd() and pci_write_vpd() close to other VPD code (Bjorn Helgaas)
         - Move pci_vpd_release() from header file to pci/access.c (Bjorn Helgaas)
         - Remove struct pci_vpd_ops.release function pointer (Bjorn Helgaas)
         - Rename VPD symbols to remove unnecessary "pci22" (Bjorn Helgaas)
         - Fold struct pci_vpd_pci22 into struct pci_vpd (Bjorn Helgaas)
         - Sleep rather than busy-wait for VPD access completion (Bjorn Helgaas)
         - Update VPD definitions (Hannes Reinecke)
         - Allow access to VPD attributes with size 0 (Hannes Reinecke)
         - Determine actual VPD size on first access (Hannes Reinecke)
      
        Generic host bridge driver:
         - Move structure definitions to separate header file (David Daney)
         - Add pci_host_common_probe(), based on gen_pci_probe() (David Daney)
         - Expose pci_host_common_probe() for use by other drivers (David Daney)
      
        Altera host bridge driver:
         - Fix altera_pcie_link_is_up() (Ley Foon Tan)
      
        Cavium ThunderX host bridge driver:
         - Add PCIe host driver for ThunderX processors (David Daney)
         - Add driver for ThunderX-pass{1,2} on-chip devices (David Daney)
      
        Freescale i.MX6 host bridge driver:
         - Add DT bindings to configure PHY Tx driver settings (Justin Waters)
         - Move imx6_pcie_reset_phy() near other PHY handling functions (Lucas Stach)
         - Move PHY reset into imx6_pcie_establish_link() (Lucas Stach)
         - Remove broken Gen2 workaround (Lucas Stach)
         - Move link up check into imx6_pcie_wait_for_link() (Lucas Stach)
      
        Freescale Layerscape host bridge driver:
         - Add "fsl,ls2085a-pcie" compatible ID (Yang Shi)
      
        Intel VMD host bridge driver:
         - Attach VMD resources to parent domain's resource tree (Jon Derrick)
         - Set bus resource start to 0 (Keith Busch)
      
        Microsoft Hyper-V host bridge driver:
         - Add fwnode_handle to x86 pci_sysdata (Jake Oshins)
         - Look up IRQ domain by fwnode_handle (Jake Oshins)
         - Add paravirtual PCI front-end for Microsoft Hyper-V VMs (Jake Oshins)
      
        NVIDIA Tegra host bridge driver:
         - Add pci_ops.{add,remove}_bus() callbacks (Thierry Reding)
         - Implement ->{add,remove}_bus() callbacks (Thierry Reding)
         - Remove unused struct tegra_pcie.num_ports field (Thierry Reding)
         - Track bus -> CPU mapping (Thierry Reding)
         - Remove misleading PHYS_OFFSET (Thierry Reding)
      
        Renesas R-Car host bridge driver:
         - Depend on ARCH_RENESAS, not ARCH_SHMOBILE (Simon Horman)
      
        Synopsys DesignWare host bridge driver:
         - ARC: Add PCI support (Joao Pinto)
         - Add generic dw_pcie_wait_for_link() (Joao Pinto)
         - Add default link up check if sub-driver doesn't override (Joao Pinto)
         - Add driver for prototyping kits based on ARC SDP (Joao Pinto)
      
        TI Keystone host bridge driver:
         - Defer probing if devm_phy_get() returns -EPROBE_DEFER (Shawn Lin)
      
        Xilinx AXI host bridge driver:
         - Use of_pci_get_host_bridge_resources() to parse DT (Bharat Kumar Gogada)
         - Remove dependency on ARM-specific struct hw_pci (Bharat Kumar Gogada)
         - Don't call pci_fixup_irqs() on Microblaze (Bharat Kumar Gogada)
         - Update Zynq binding with Microblaze node (Bharat Kumar Gogada)
         - microblaze: Support generic Xilinx AXI PCIe Host Bridge IP driver (Bharat Kumar Gogada)
      
        Xilinx NWL host bridge driver:
         - Add support for Xilinx NWL PCIe Host Controller (Bharat Kumar Gogada)
      
        Miscellaneous:
         - Check device_attach() return value always (Bjorn Helgaas)
         - Move pci_set_flags() from asm-generic/pci-bridge.h to linux/pci.h (Bjorn Helgaas)
         - Remove includes of empty asm-generic/pci-bridge.h (Bjorn Helgaas)
         - ARM64: Remove generated include of asm-generic/pci-bridge.h (Bjorn Helgaas)
         - Remove empty asm-generic/pci-bridge.h (Bjorn Helgaas)
         - Remove includes of asm/pci-bridge.h (Bjorn Helgaas)
         - Consolidate PCI DMA constants and interfaces in linux/pci-dma-compat.h (Bjorn Helgaas)
         - unicore32: Remove unused HAVE_ARCH_PCI_SET_DMA_MASK definition (Bjorn Helgaas)
         - Cleanup pci/pcie/Kconfig whitespace (Andreas Ziegler)
         - Include pci/hotplug Kconfig directly from pci/Kconfig (Bjorn Helgaas)
         - Include pci/pcie/Kconfig directly from pci/Kconfig (Bogicevic Sasa)
         - frv: Remove stray pci_{alloc,free}_consistent() declaration (Christoph Hellwig)
         - Move pci_dma_* helpers to common code (Christoph Hellwig)
         - Add PCI_CLASS_SERIAL_USB_DEVICE definition (Heikki Krogerus)
         - Add QEMU top-level IDs for (sub)vendor & device (Robin H. Johnson)
         - Fix broken URL for Dell biosdevname (Naga Venkata Sai Indubhaskar Jupudi)"
      
      * tag 'pci-v4.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (94 commits)
        PCI: Add PCI_CLASS_SERIAL_USB_DEVICE definition
        PCI: designware: Add driver for prototyping kits based on ARC SDP
        PCI: designware: Add default link up check if sub-driver doesn't override
        PCI: designware: Add generic dw_pcie_wait_for_link()
        PCI: Cleanup pci/pcie/Kconfig whitespace
        PCI: Simplify pci_create_attr() control flow
        PCI: Don't leak memory if sysfs_create_bin_file() fails
        PCI: Simplify sysfs ROM cleanup
        PCI: Remove unused IORESOURCE_ROM_COPY and IORESOURCE_ROM_BIOS_COPY
        MIPS: Loongson 3: Keep CPU physical (not virtual) addresses in shadow ROM resource
        MIPS: Loongson 3: Use temporary struct resource * to avoid repetition
        ia64/PCI: Keep CPU physical (not virtual) addresses in shadow ROM resource
        ia64/PCI: Use ioremap() instead of open-coded equivalent
        ia64/PCI: Use temporary struct resource * to avoid repetition
        PCI: Clean up pci_map_rom() whitespace
        PCI: Remove arch-specific IORESOURCE_ROM_SHADOW size from sysfs
        PCI: thunder: Add driver for ThunderX-pass{1,2} on-chip devices
        PCI: thunder: Add PCIe host driver for ThunderX processors
        PCI: generic: Expose pci_host_common_probe() for use by other drivers
        PCI: generic: Add pci_host_common_probe(), based on gen_pci_probe()
        ...
      63e30271
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-4.6-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 277edbab
      Linus Torvalds authored
      Pull power management and ACPI updates from Rafael Wysocki:
       "This time the majority of changes go into cpufreq and they are
        significant.
      
        First off, the way CPU frequency updates are triggered is different
        now.  Instead of having to set up and manage a deferrable timer for
        each CPU in the system to evaluate and possibly change its frequency
        periodically, cpufreq governors set up callbacks to be invoked by the
        scheduler on a regular basis (basically on utilization updates).  The
        "old" governors, "ondemand" and "conservative", still do all of their
        work in process context (although that is triggered by the scheduler
        now), but intel_pstate does it all in the callback invoked by the
        scheduler with no need for any additional asynchronous processing.
      
        Of course, this eliminates the overhead related to the management of
        all those timers, but also it allows the cpufreq governor code to be
        simplified quite a bit.  On top of that, the common code and data
        structures used by the "ondemand" and "conservative" governors are
        cleaned up and made more straightforward and some long-standing and
        quite annoying problems are addressed.  In particular, the handling of
        governor sysfs attributes is modified and the related locking becomes
        more fine grained which allows some concurrency problems to be avoided
        (particularly deadlocks with the core cpufreq code).
      
        In principle, the new mechanism for triggering frequency updates
        allows utilization information to be passed from the scheduler to
        cpufreq.  Although the current code doesn't make use of it, in the
        works is a new cpufreq governor that will make decisions based on the
        scheduler's utilization data.  That should allow the scheduler and
        cpufreq to work more closely together in the long run.
      
        In addition to the core and governor changes, cpufreq drivers are
        updated too.  Fixes and optimizations go into intel_pstate, the
        cpufreq-dt driver is updated on top of some modification in the
        Operating Performance Points (OPP) framework and there are fixes and
        other updates in the powernv cpufreq driver.
      
        Apart from the cpufreq updates there is some new ACPICA material,
        including a fix for a problem introduced by previous ACPICA updates,
        and some less significant changes in the ACPI code, like CPPC code
        optimizations, ACPI processor driver cleanups and support for loading
        ACPI tables from initrd.
      
        Also updated are the generic power domains framework, the Intel RAPL
        power capping driver and the turbostat utility and we have a bunch of
        traditional assorted fixes and cleanups.
      
        Specifics:
      
         - Redesign of cpufreq governors and the intel_pstate driver to make
           them use callbacks invoked by the scheduler to trigger CPU
           frequency evaluation instead of using per-CPU deferrable timers for
           that purpose (Rafael Wysocki).
      
         - Reorganization and cleanup of cpufreq governor code to make it more
           straightforward and fix some concurrency problems in it (Rafael
           Wysocki, Viresh Kumar).
      
         - Cleanup and improvements of locking in the cpufreq core (Viresh
           Kumar).
      
         - Assorted cleanups in the cpufreq core (Rafael Wysocki, Viresh
           Kumar, Eric Biggers).
      
         - intel_pstate driver updates including fixes, optimizations and a
           modification to make it enable enable hardware-coordinated P-state
           selection (HWP) by default if supported by the processor (Philippe
           Longepe, Srinivas Pandruvada, Rafael Wysocki, Viresh Kumar, Felipe
           Franciosi).
      
         - Operating Performance Points (OPP) framework updates to improve its
           handling of voltage regulators and device clocks and updates of the
           cpufreq-dt driver on top of that (Viresh Kumar, Jon Hunter).
      
         - Updates of the powernv cpufreq driver to fix initialization and
           cleanup problems in it and correct its worker thread handling with
           respect to CPU offline, new powernv_throttle tracepoint (Shilpasri
           Bhat).
      
         - ACPI cpufreq driver optimization and cleanup (Rafael Wysocki).
      
         - ACPICA updates including one fix for a regression introduced by
           previos changes in the ACPICA code (Bob Moore, Lv Zheng, David Box,
           Colin Ian King).
      
         - Support for installing ACPI tables from initrd (Lv Zheng).
      
         - Optimizations of the ACPI CPPC code (Prashanth Prakash, Ashwin
           Chaugule).
      
         - Support for _HID(ACPI0010) devices (ACPI processor containers) and
           ACPI processor driver cleanups (Sudeep Holla).
      
         - Support for ACPI-based enumeration of the AMBA bus (Graeme Gregory,
           Aleksey Makarov).
      
         - Modification of the ACPI PCI IRQ management code to make it treat
           255 in the Interrupt Line register as "not connected" on x86 (as
           per the specification) and avoid attempts to use that value as a
           valid interrupt vector (Chen Fan).
      
         - ACPI APEI fixes related to resource leaks (Josh Hunt).
      
         - Removal of modularity from a few ACPI drivers (BGRT, GHES,
           intel_pmic_crc) that cannot be built as modules in practice (Paul
           Gortmaker).
      
         - PNP framework update to make it treat ACPI_RESOURCE_TYPE_SERIAL_BUS
           as a valid resource type (Harb Abdulhamid).
      
         - New device ID (future AMD I2C controller) in the ACPI driver for
           AMD SoCs (APD) and in the designware I2C driver (Xiangliang Yu).
      
         - Assorted ACPI cleanups (Colin Ian King, Kaiyen Chang, Oleg Drokin).
      
         - cpuidle menu governor optimization to avoid a square root
           computation in it (Rasmus Villemoes).
      
         - Fix for potential use-after-free in the generic device properties
           framework (Heikki Krogerus).
      
         - Updates of the generic power domains (genpd) framework including
           support for multiple power states of a domain, fixes and debugfs
           output improvements (Axel Haslam, Jon Hunter, Laurent Pinchart,
           Geert Uytterhoeven).
      
         - Intel RAPL power capping driver updates to reduce IPI overhead in
           it (Jacob Pan).
      
         - System suspend/hibernation code cleanups (Eric Biggers, Saurabh
           Sengar).
      
         - Year 2038 fix for the process freezer (Abhilash Jindal).
      
         - turbostat utility updates including new features (decoding of more
           registers and CPUID fields, sub-second intervals support, GFX MHz
           and RC6 printout, --out command line option), fixes (syscall jitter
           detection and workaround, reductioin of the number of syscalls
           made, fixes related to Xeon x200 processors, compiler warning
           fixes) and cleanups (Len Brown, Hubert Chrzaniuk, Chen Yu)"
      
      * tag 'pm+acpi-4.6-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (182 commits)
        tools/power turbostat: bugfix: TDP MSRs print bits fixing
        tools/power turbostat: correct output for MSR_NHM_SNB_PKG_CST_CFG_CTL dump
        tools/power turbostat: call __cpuid() instead of __get_cpuid()
        tools/power turbostat: indicate SMX and SGX support
        tools/power turbostat: detect and work around syscall jitter
        tools/power turbostat: show GFX%rc6
        tools/power turbostat: show GFXMHz
        tools/power turbostat: show IRQs per CPU
        tools/power turbostat: make fewer systems calls
        tools/power turbostat: fix compiler warnings
        tools/power turbostat: add --out option for saving output in a file
        tools/power turbostat: re-name "%Busy" field to "Busy%"
        tools/power turbostat: Intel Xeon x200: fix turbo-ratio decoding
        tools/power turbostat: Intel Xeon x200: fix erroneous bclk value
        tools/power turbostat: allow sub-sec intervals
        ACPI / APEI: ERST: Fixed leaked resources in erst_init
        ACPI / APEI: Fix leaked resources
        intel_pstate: Do not skip samples partially
        intel_pstate: Remove freq calculation from intel_pstate_calc_busy()
        intel_pstate: Move intel_pstate_calc_busy() into get_target_pstate_use_performance()
        ...
      277edbab
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 271ecc52
      Linus Torvalds authored
      Merge first patch-bomb from Andrew Morton:
      
       - some misc things
      
       - ofs2 updates
      
       - about half of MM
      
       - checkpatch updates
      
       - autofs4 update
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (120 commits)
        autofs4: fix string.h include in auto_dev-ioctl.h
        autofs4: use pr_xxx() macros directly for logging
        autofs4: change log print macros to not insert newline
        autofs4: make autofs log prints consistent
        autofs4: fix some white space errors
        autofs4: fix invalid ioctl return in autofs4_root_ioctl_unlocked()
        autofs4: fix coding style line length in autofs4_wait()
        autofs4: fix coding style problem in autofs4_get_set_timeout()
        autofs4: coding style fixes
        autofs: show pipe inode in mount options
        kallsyms: add support for relative offsets in kallsyms address table
        kallsyms: don't overload absolute symbol type for percpu symbols
        x86: kallsyms: disable absolute percpu symbols on !SMP
        checkpatch: fix another left brace warning
        checkpatch: improve UNSPECIFIED_INT test for bare signed/unsigned uses
        checkpatch: warn on bare unsigned or signed declarations without int
        checkpatch: exclude asm volatile from complex macro check
        mm: memcontrol: drop unnecessary lru locking from mem_cgroup_migrate()
        mm: migrate: consolidate mem_cgroup_migrate() calls
        mm/compaction: speed up pageblock_pfn_to_page() when zone is contiguous
        ...
      271ecc52
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · aa6865d8
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Fix misspellings in comments.
        m68k: Use conventional function parameters for do_sigreturn
        zorro: Use kobj_to_dev()
      aa6865d8
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 72aafdf0
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
      
       - Add the CPU id for the new z13s machine
      
       - Add a s390 specific XOR template for RAID-5 checksumming based on the
         XC instruction.  Remove all other alternatives, XC is always faster
      
       - The merge of our four different stack tracers into a single one
      
       - Tidy up the code related to page tables, several large inline
         functions are now out-of-line.  Bloat-o-meter reports ~11K text size
         reduction
      
       - A binary interface for the priviledged CLP instruction to retrieve
         the hardware view of the installed PCI functions
      
       - Improvements for the dasd format code
      
       - Bug fixes and cleanups
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (31 commits)
        s390/pci: enforce fmb page boundary rule
        s390: fix floating pointer register corruption (again)
        s390/cpumf: add missing lpp magic initialization
        s390: Fix misspellings in comments
        s390/mm: split arch/s390/mm/pgtable.c
        s390/mm: uninline pmdp_xxx functions from pgtable.h
        s390/mm: uninline ptep_xxx functions from pgtable.h
        s390/pci: add ioctl interface for CLP
        s390: Use pr_warn instead of pr_warning
        s390/dasd: remove casts to dasd_*_private
        s390/dasd: Refactor dasd format functions
        s390/dasd: Simplify code in format logic
        s390/dasd: Improve dasd format code
        s390/percpu: remove this_cpu_cmpxchg_double_4
        s390/cpumf: Improve guest detection heuristics
        s390/fault: merge report_user_fault implementations
        s390/dis: use correct escape sequence for '%' character
        s390/kvm: simplify set_guest_storage_key
        s390/oprofile: add z13/z13s model numbers
        s390: add z13s model number to z13 elf platform
        ...
      72aafdf0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 · 1c8e85b1
      Linus Torvalds authored
      Pull AVR32 updates from Hans-Christian Egtvedt.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
        avr32: fix asm operand constraint in cmpxchg()
        avr32: wire up copy_file_range syscall
      1c8e85b1
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 10dc3747
      Linus Torvalds authored
      Pull KVM updates from Paolo Bonzini:
       "One of the largest releases for KVM...  Hardly any generic
        changes, but lots of architecture-specific updates.
      
        ARM:
         - VHE support so that we can run the kernel at EL2 on ARMv8.1 systems
         - PMU support for guests
         - 32bit world switch rewritten in C
         - various optimizations to the vgic save/restore code.
      
        PPC:
         - enabled KVM-VFIO integration ("VFIO device")
         - optimizations to speed up IPIs between vcpus
         - in-kernel handling of IOMMU hypercalls
         - support for dynamic DMA windows (DDW).
      
        s390:
         - provide the floating point registers via sync regs;
         - separated instruction vs.  data accesses
         - dirty log improvements for huge guests
         - bugfixes and documentation improvements.
      
        x86:
         - Hyper-V VMBus hypercall userspace exit
         - alternative implementation of lowest-priority interrupts using
           vector hashing (for better VT-d posted interrupt support)
         - fixed guest debugging with nested virtualizations
         - improved interrupt tracking in the in-kernel IOAPIC
         - generic infrastructure for tracking writes to guest
           memory - currently its only use is to speedup the legacy shadow
           paging (pre-EPT) case, but in the future it will be used for
           virtual GPUs as well
         - much cleanup (LAPIC, kvmclock, MMU, PIT), including ubsan fixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (217 commits)
        KVM: x86: remove eager_fpu field of struct kvm_vcpu_arch
        KVM: x86: disable MPX if host did not enable MPX XSAVE features
        arm64: KVM: vgic-v3: Only wipe LRs on vcpu exit
        arm64: KVM: vgic-v3: Reset LRs at boot time
        arm64: KVM: vgic-v3: Do not save an LR known to be empty
        arm64: KVM: vgic-v3: Save maintenance interrupt state only if required
        arm64: KVM: vgic-v3: Avoid accessing ICH registers
        KVM: arm/arm64: vgic-v2: Make GICD_SGIR quicker to hit
        KVM: arm/arm64: vgic-v2: Only wipe LRs on vcpu exit
        KVM: arm/arm64: vgic-v2: Reset LRs at boot time
        KVM: arm/arm64: vgic-v2: Do not save an LR known to be empty
        KVM: arm/arm64: vgic-v2: Move GICH_ELRSR saving to its own function
        KVM: arm/arm64: vgic-v2: Save maintenance interrupt state only if required
        KVM: arm/arm64: vgic-v2: Avoid accessing GICH registers
        KVM: s390: allocate only one DMA page per VM
        KVM: s390: enable STFLE interpretation only if enabled for the guest
        KVM: s390: wake up when the VCPU cpu timer expires
        KVM: s390: step the VCPU timer while in enabled wait
        KVM: s390: protect VCPU cpu timer with a seqcount
        KVM: s390: step VCPU cpu timer during kvm_run ioctl
        ...
      10dc3747
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 047486d8
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - Altera: L2 cache and On-Chip RAM support (Thor Thayer).
      
       - EDAC: Workqueue handling cleanups (Borislav Petkov).
      
       - Xgene: Register bus error handling (Loc Ho).
      
       - Misc small fixes.
      
      * tag 'edac_for_4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        ARM: socfpga: Enable OCRAM ECC on startup
        ARM: socfpga: Enable L2 cache ECC on startup
        ARM: dts: Add Altera L2 Cache and OCRAM EDAC entries
        EDAC, altera: Add Altera L2 cache and OCRAM support
        EDAC: Use edac_debugfs_remove_recursive() in edac_debugfs_exit()
        EDAC, mpc85xx: Silence unused variable warning
        EDAC: Cleanup/sync workqueue functions
        EDAC: Kill workqueue setup/teardown functions
        EDAC: Balance workqueue setup and teardown
        arm64: Update the APM X-Gene EDAC node with the RB register resource
        EDAC, xgene: Add missing SoC register bus error handling
        Documentation, EDAC: Update xgene binding for missing register bus
        EDAC, amd64_edac: Shift wrapping issue in f1x_get_norm_dct_addr()
      047486d8
    • Linus Torvalds's avatar
      Merge tag 'leds_for_4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds · 9256d5a3
      Linus Torvalds authored
      Pull LED updates from Jacek Anaszewski:
       "LED core improvements:
         - Fix misleading comment after workqueue removal from drivers
         - Avoid error message when a USB LED device is unplugged
         - Add helpers for calling brightness_set(_blocking)
      
        LED triggers:
         - Simplify led_trigger_store by using sysfs_streq()
      
        LED class drivers improvements:
         - Improve wording and formatting in a comment: lp3944
         - Fix return value check in create_gpio_led(): leds-gpio
         - Use GPIOF_OUT_INIT_LOW instead of hardcoded zero: leds-gpio
         - Use devm_led_classdev_register(): leds-lm3533, leds-lm3533,
           leds-lp8788, leds-wm831x-status, leds-s3c24xx, leds-s3c24xx,
           leds-max8997.
      
        New LED class driver:
         - Add driver for the ISSI IS31FL32xx family of LED controllers.
      
        Device Tree documentation:
         - of: Add vendor prefixes for Integrated Silicon Solutions Inc.
           (issi) and Si-En Technology (si-en).
         - DT: Add common bindings for Si-En Technology SN3216/18 and
           IS31FL32xx family of LED controllers, since they seem to be the
           same hardware, just rebranded"
      
      * tag 'leds_for_4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
        leds: triggers: simplify led_trigger_store
        leds: max8997: Use devm_led_classdev_register
        leds: da903x: Use devm_led_classdev_register
        leds: s3c24xx: Use devm_led_classdev_register
        leds: wm831x-status: Use devm_led_classdev_register
        leds: lp8788: Use devm_led_classdev_register
        leds: 88pm860x: Use devm_led_classdev_register
        leds: Add SN3218 and SN3216 support to the IS31FL32XX driver
        of: Add vendor prefix for Si-En Technology
        leds: Add driver for the ISSI IS31FL32xx family of LED controllers
        DT: leds: Add binding for the ISSI IS31FL32xx family of LED controllers
        DT: Add vendor prefix for Integrated Silicon Solutions Inc.
        leds: lm3533: Use devm_led_classdev_register
        leds: gpio: Use GPIOF_OUT_INIT_LOW instead of hardcoded zero
        leds: core: add helpers for calling brightness_set(_blocking)
        leds: leds-gpio: Fix return value check in create_gpio_led()
        leds: lp3944: improve wording and formatting in a comment
        leds: core: avoid error message when a USB LED device is unplugged
        leds: core: fix misleading comment after workqueue removal from drivers
      9256d5a3
    • Linus Torvalds's avatar
      Merge tag 'rtc-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 13f6f62f
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Core:
         - New sysfs interface to set and read clock offset
         - Drivers can now be both I2C and SPI (see pcf2127 and ds3232)
      
        New drivers:
         - Alphascale ASM9260
         - Epson RX6110SA
         - Maxim max20024 and max77620 (in max77686)
         - Microchip PIC32
         - NXP pcf2129 (in pcf2127)
      
        Subsystem wide cleanups:
         - remove IRQF_EARLY_RESUME when unecessary
      
        Drivers:
         - ds1307: clock output, temperature sensor and wakeup-source support
         - ds1685: actually spin forever in poweroff error path
         - ds3232: many cleanups
         - ds3234: merged in ds3232
         - hym8563: fix invalid year calculation
         - max77686: many cleanups
         - max77802 merged in max77686
         - pcf2123: cleanups and offset support
         - pcf85063: cleanups
         - pcf8523: propely handle oscillator stop bit
         - rv3029: many cleanups, trickle charger and temperature sensor support
         - rv8803: convert spin_lock to mutex_lock
         - rx8025: many fixes
         - vr41xx: restore alarm_irq_enable"
      
      * tag 'rtc-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (86 commits)
        rtc: pcf2127: add pcf2129 device id
        rtc: pcf2127: add support for spi interface
        rtc: pcf2127: convert to use regmap
        rtc: rv3029: Add thermometer hwmon support
        rtc: rv3029: Add update_bits helper for eeprom access
        rtc: ds1685: actually spin forever in poweroff error path
        rtc: hym8563: fix invalid year calculation
        rtc: ds3232: use rtc->ops_lock to protect alarm operations
        rtc: ds3232: fix issue when irq is shared several devices
        rtc: ds3232: remove unused UIE code
        rtc: ds3232: add register access error checks
        rtc: ds3232: fix read on /dev/rtc after RTC_AIE_ON
        rtc: merge ds3232 and ds3234
        rtc: ds3232: convert to use regmap
        rtc: pxa: fix Kconfig indentation
        rtc: rv3029: Add device tree property for trickle charger
        rtc: rv3029: Add functions for EEPROM access
        rtc: rv3029: Add i2c register update-bits helper
        rtc: rv3029: Add missing register definitions
        rtc: rv3029: Add "rv3029" I2C device id
        ...
      13f6f62f
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.6' of... · f0718cea
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
       - New drivers for NSA320 and LTC2990
       - Added support for ADM1278 to adm1275 driver
       - Added support for ncpXXxh103 to ntc_thermistor driver
       - Renamed vexpress hwmon implementation
       - Minor cleanups and improvements
      
      * tag 'hwmon-for-linus-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: Create an NSA320 hardware monitoring driver
        hwmon: Define binding for the nsa320-hwmon driver
        hwmon: (adm1275) Add support for ADM1278
        hwmon: (ntc_thermistor) Add support for ncpXXxh103
        Doc: hwmon: Fix typo "montoring" in hwmon
        ARM: dts: vfxxx: Add iio_hwmon node for ADC temperature channel
        ARM: dts: Change iio_hwmon nodes to use hypen in node names
        hwmon: (iio_hwmon) Allow the driver to accept hypen in device tree node names
        hwmon: Add LTC2990 sensor driver
        hwmon: (vexpress) rename vexpress hwmon implementation
      f0718cea
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 555f8160
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "This has been an extremely quiet release for the regulator API, aside
        from bugfixes and small enhancements the only thing that really stands
        out are the new drivers for Action Semiconductors ACT8945A, HiSilicon
        HI665x, and the Maxim MAX20024 and MAX77620"
      
      * tag 'regulator-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (46 commits)
        regulator: pwm: Add support to have multiple instance of pwm regulator
        regulator: pwm: Fix calculation of voltage-to-duty cycle
        regulator: of: Use of_property_read_u32() for reading min/max
        regulator: pv88060: fix incorrect clear of event register
        regulator: pv88090: fix incorrect clear of event register
        regulator: max77620: Add support to configure active-discharge
        regulator: core: Add support for active-discharge configuration
        regulator: helper: Add helper to configure active-discharge using regmap
        regulator: core: Add support for active-discharge configuration
        regulator: DT: Add DT property for active-discharge configuration
        regulator: act8865: Specify fixed voltage of 3.3V for ACT8600's REG9
        regulator: act8865: Rename platform_data field to init_data
        regulator: act8865: Remove "static" from local variable
        ASoC: cs4271: add regulator consumer support
        regulator: max77620: Remove duplicate module alias
        regulator: max77620: Eliminate duplicate code
        regulator: max77620: Remove unused fields
        regulator: core: fix crash in error path of regulator_register
        regulator: core: Request GPIO before creating sysfs entries
        regulator: gpio: don't print error on EPROBE_DEFER
        ...
      555f8160
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · b7aae4a9
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "This has been a very busy release for regmap, not just in cleaning up
        the mess we got ourselves into with the endianness handling but also
        in other areas too:
      
         - Fixes for the endianness handling so that we now explicitly default
           to little endian (the code used to do this by accident).  This
           fixes handling of explictly specified endianness on big endian
           systems.
      
         - Optimisation of the implementation of register striding.
      
         - A refectoring of the _update_bits() code to reduce duplication.
      
         - Fixes and enhancements for the interrupt implementation which make
           it easier to use in a wider range of systems"
      
      * tag 'regmap-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (28 commits)
        regmap: irq: add devm apis for regmap_{add,del}_irq_chip
        regmap: replace regmap_write_bits()
        regmap: irq: Enable irq retriggering for nested irqs
        regmap: add regmap_fields_force_xxx() macros
        regmap: add regmap_field_force_xxx() macros
        regmap: merge regmap_fields_update_bits() into macro
        regmap: merge regmap_fields_write() into macro
        regmap: add regmap_fields_update_bits_base()
        regmap: merge regmap_field_update_bits() into macro
        regmap: merge regmap_field_write() into macro
        regmap: add regmap_field_update_bits_base()
        regmap: merge regmap_update_bits_check_async() into macro
        regmap: merge regmap_update_bits_check() into macro
        regmap: merge regmap_update_bits_async() into macro
        regmap: merge regmap_update_bits() into macro
        regmap: add regmap_update_bits_base()
        regcache: flat: Introduce register strider order
        regcache: Introduce the index parsing API by stride order
        regmap: core: Introduce register stride order
        regmap: irq: add devm apis for regmap_{add,del}_irq_chip
        ...
      b7aae4a9
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · ff280e36
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "Not the biggest set of changes for SPI but a bit of a pickup in
        activity on the core:
      
         - Support for memory mapped read from flash devices via a SPI
           controller.
      
         - The beginnings of a message rewriting framework in the core which
           should in time allow us to support transforming messages to work
           around the limits of controllers or optimise the performance for
           controllers transparently to calling drivers.
      
         - Updates to the PXA2xx, the main functional change being to improve
           the ACPI support.
      
         - A new driver for the Analog Devices AXI SPI engine"
      
      * tag 'spi-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (66 commits)
        spi: Add gfp parameter to kernel-doc to fix build warning
        spi: Fix htmldocs build error due struct spi_replaced_transfers
        spi: rockchip: covert rsd_nsecs to u32 type
        spi: rockchip: header file cleanup
        spi: xilinx: Add devicetree binding for spi-xilinx
        spi: respect the maximum segment size of DMA device
        spi: rockchip: check requesting dma channel with EPROBE_DEFER
        spi: rockchip: migrate to dmaengine_terminate_async
        spi: rockchip: check return value of dmaengine_prep_slave_sg
        spi: core: Fix deadlock when sending messages
        spi/rockchip: fix endian mode for 16-bit transfers
        spi/rockchip: Make sure spi clk is on in rockchip_spi_set_cs
        spi: pxa2xx: Use newer more explicit DMAengine terminate API
        spi: pxa2xx: Add support for Intel Broxton B-Step
        spi: lp-8841: return correct error code from probe
        spi: imx: drop bogus tests for rx/tx bufs in DMA transfer
        spi: imx: set MX51_ECSPI_CTRL_SMC bit in setup function
        spi: imx: make some register defines simpler
        spi: imx: remove unnecessary bit clearing in mx51_ecspi_config
        spi: imx: add support for all SPI word width for DMA
        ...
      ff280e36
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 5ca5446e
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "An almost purely driver related set of changes with no major changes
        to the framework, only one patch adding an unlocked version of the
        pinctrl_find_gpio_range_from_pin() library call.
      
        New drivers:
         - ST Microelectronics STM32 MCU support: this is a non-MMU low-end
           platform for IoT things (etc).
         - Microchip PIC32 MCU support: same story as for STM32.
      
        New subdrivers:
         - Allwinner SunXi H3 R_PIO controller support.
         - Qualcomm IPQ4019 support.
         - MediaTek MT2701 and MT7623.
         - Allwinner A64
      
        Non-critical fixes:
         - gpio_disable_free() for the Vybrid.
         - pinctrl single: use a separate lockdep class.
      
        Misc:
         - Substantial cleanups and rewrites for the Super-H PFC driver and
           subdrivers.
         - Various fixes and cleanups, especially Paul Gortmakers work to make
           nonmodular drivers nonmodular"
      
      * tag 'pinctrl-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (75 commits)
        pinctrl: single: Use a separate lockdep class
        drivers: pinctrl: add driver for Allwinner A64 SoC
        pinctrl: Broadcom Northstar2 pinctrl device tree bindings
        pinctrl: amlogic: Make driver independent from two-domain configuration
        pinctrl: amlogic: Separate some pin functions for Meson8 / Meson8b
        pinctrl: at91: use __maybe_unused to hide pm functions
        pinctrl: sh-pfc: core: don't open code of_device_get_match_data()
        pinctrl: uniphier: rename CONFIG options and file names
        pinctrl: sunxi: make A80 explicitly non-modular
        pinctrl: stm32: make explicitly non-modular
        pinctrl: sh-pfc: make explicitly non-modular
        pinctrl: meson: make explicitly non-modular
        pinctrl: pinctrl-mt6397 driver explicitly non-modular
        pinctrl: sunxi: does not need module.h
        pinctrl: pxa2xx: export symbols
        pinctrl: sunxi: Change mux setting on PI irq pins
        pinctrl: sunxi: Remove non existing irq's
        pinctrl: imx: attach iomuxc device to gpr syscon
        pinctrl-bcm2835: Fix cut-and-paste error in "pull" parsing
        pinctrl: lpc1850-scu: document nxp,gpio-pin-interrupt
        ...
      5ca5446e
  4. 15 Mar, 2016 3 commits