1. 06 Sep, 2017 5 commits
    • Linus Torvalds's avatar
      Merge tag 'locks-v4.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · 066dea8c
      Linus Torvalds authored
      Pull file locking updates from Jeff Layton:
       "This pile just has a few file locking fixes from Ben Coddington. There
        are a couple of cleanup patches + an attempt to bring sanity to the
        l_pid value that is reported back to userland on an F_GETLK request.
      
        After a few gyrations, he came up with a way for filesystems to
        communicate to the VFS layer code whether the pid should be translated
        according to the namespace or presented as-is to userland"
      
      * tag 'locks-v4.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        locks: restore a warn for leaked locks on close
        fs/locks: Remove fl_nspid and use fs-specific l_pid for remote locks
        fs/locks: Use allocation rather than the stack in fcntl_getlk()
      066dea8c
    • Linus Torvalds's avatar
      Merge tag 'dlm-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · c7f396f1
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
       "This set includes a bunch of minor code cleanups that have
        accumulated, probably from code analyzers people like to run. There is
        one nice fix that avoids some socket leaks by switching to use
        sock_create_lite()"
      
      * tag 'dlm-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        dlm: use sock_create_lite inside tcp_accept_from_sock
        uapi linux/dlm_netlink.h: include linux/dlmconstants.h
        dlm: avoid double-free on error path in dlm_device_{register,unregister}
        dlm: constify kset_uevent_ops structure
        dlm: print log message when cluster name is not set
        dlm: Delete an unnecessary variable initialisation in dlm_ls_start()
        dlm: Improve a size determination in two functions
        dlm: Use kcalloc() in two functions
        dlm: Use kmalloc_array() in make_member_array()
        dlm: Delete an error message for a failed memory allocation in dlm_recover_waiters_pre()
        dlm: Improve a size determination in dlm_recover_waiters_pre()
        dlm: Use kcalloc() in dlm_scan_waiters()
        dlm: Improve a size determination in table_seq_start()
        dlm: Add spaces for better code readability
        dlm: Replace six seq_puts() calls by seq_putc()
        dlm: Make dismatch error message more clear
        dlm: Fix kernel memory disclosure
      c7f396f1
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · be6297e9
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "Scalability improvements when allocating inodes, and some
        miscellaneous bug fixes and cleanups"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: avoid Y2038 overflow in recently_deleted()
        ext4: fix fault handling when mounted with -o dax,ro
        ext4: fix quota inconsistency during orphan cleanup for read-only mounts
        ext4: fix incorrect quotaoff if the quota feature is enabled
        ext4: remove useless test and assignment in strtohash functions
        ext4: backward compatibility support for Lustre ea_inode implementation
        ext4: remove timebomb in ext4_decode_extra_time()
        ext4: use sizeof(*ptr)
        ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets
        ext4: reduce lock contention in __ext4_new_inode
        ext4: cleanup goto next group
        ext4: do not unnecessarily allocate buffer in recently_deleted()
      be6297e9
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.14-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 57915779
      Linus Torvalds authored
      Pull XFS updates from Darrick Wong:
       "Here are the changes for xfs for 4.14. Most of these are cleanups and
        fixes for bad behavior, as we're mostly focusing on improving
        reliablity this cycle (read: there's potentially a lot of stuff on the
        horizon for 4.15 so better to spend a few weeks killing other bugs
        now).
      
        Summary:
      
         - Write unmount record for a ro mount to avoid unnecessary log replay
      
         - Clean up orphaned inodes when mounting fs readonly
      
         - Resubmit inode log items when buffer writeback fails to avoid
           umount hang
      
         - Fix log recovery corruption problems when log headers wrap around
           the end
      
         - Avoid infinite loop searching for free inodes when inode counters
           are wrong
      
         - Evict inodes involved with log redo so that we don't leak them
           later
      
         - Fix a potential race between reclaim and inode cluster freeing
      
         - Refactor the inode joining code w.r.t. transaction rolling &
           deferred ops
      
         - Fix a bug where the log doesn't properly deal with dirty buffers
           that are about to become ordered buffers
      
         - Fix the extent swap code to deal with making dirty buffers ordered
           properly
      
         - Consolidate page fault handlers
      
         - Refactor the incore extent manipulation functions to use the iext
           abstractions instead of directly modifying with extent data
      
         - Disable crashy chattr +/-x until we fix it
      
         - Don't allow us to set S_DAX for v2 inodes
      
         - Various cleanups
      
         - Clarify some documentation
      
         - Fix a problem where fsync and a log commit race to send the disk a
           flush command, resulting in a small window where power fail data
           loss could occur
      
         - Simplify some rmap operations in the fcollapse code
      
         - Fix some use-after-free problems in async writeback"
      
      * tag 'xfs-4.14-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (44 commits)
        xfs: use kmem_free to free return value of kmem_zalloc
        xfs: open code end_buffer_async_write in xfs_finish_page_writeback
        xfs: don't set v3 xflags for v2 inodes
        xfs: fix compiler warnings
        fsmap: fix documentation of FMR_OF_LAST
        xfs: simplify the rmap code in xfs_bmse_merge
        xfs: remove unused flags arg from xfs_file_iomap_begin_delay
        xfs: fix incorrect log_flushed on fsync
        xfs: disable per-inode DAX flag
        xfs: replace xfs_qm_get_rtblks with a direct call to xfs_bmap_count_leaves
        xfs: rewrite xfs_bmap_count_leaves using xfs_iext_get_extent
        xfs: use xfs_iext_*_extent helpers in xfs_bmap_split_extent_at
        xfs: use xfs_iext_*_extent helpers in xfs_bmap_shift_extents
        xfs: move some code around inside xfs_bmap_shift_extents
        xfs: use xfs_iext_get_extent in xfs_bmap_first_unused
        xfs: switch xfs_bmap_local_to_extents to use xfs_iext_insert
        xfs: add a xfs_iext_update_extent helper
        xfs: consolidate the various page fault handlers
        iomap: return VM_FAULT_* codes from iomap_page_mkwrite
        xfs: relog dirty buffers during swapext bmbt owner change
        ...
      57915779
    • Linus Torvalds's avatar
      Merge tag 'gfs2-4.14.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 77d0ab60
      Linus Torvalds authored
      Pull GFS2 updates from Bob Peterson:
       "We've got a whopping 29 GFS2 patches for this merge window, mainly
        because we held some back from the previous merge window until we
        could get them perfected and well tested. We have a couple patch sets,
        including my patch set for protecting glock gl_object and Andreas
        Gruenbacher's patch set to fix the long-standing shrink- slab hang,
        plus a bunch of assorted bugs and cleanups.
      
        Summary:
      
         - I fixed a bug whereby an IO error would lead to a double-brelse.
      
         - Andreas Gruenbacher made a minor cleanup to call his relatively new
           function, gfs2_holder_initialized, rather than doing it manually.
           This was just missed by a previous patch set.
      
         - Jan Kara fixed a bug whereby the SGID was being cleared when
           inheriting ACLs.
      
         - Andreas found a bug and fixed it in his previous patch, "Get rid of
           flush_delayed_work in gfs2_evict_inode". A call to
           flush_delayed_work was deleted from *gfs2_inode_lookup and added to
           gfs2_create_inode.
      
         - Wang Xibo found and fixed a list_add call in inode_go_lock that
           specified the parameters in the wrong order.
      
         - Coly Li submitted a patch to add the REQ_PRIO to some of GFS2's
           metadata reads that were accidentally missing them.
      
         - I submitted a 4-patch set to protect the glock gl_object field.
           GFS2 was setting and checking gl_object with no locking mechanism,
           so the value was occasionally stomped on, which caused file system
           corruption.
      
         - I submitted a small cleanup to function gfs2_clear_rgrpd. It was
           needlessly adding rgrp glocks to the lru list, then pulling them
           back off immediately. The rgrp glocks don't use the lru list
           anyway, so doing so was just a waste of time.
      
         - I submitted a patch that checks the GLOF_LRU flag on a glock before
           trying to remove it from the lru_list. This avoids a lot of
           unnecessary spin_lock contention.
      
         - I submitted a patch to delete GFS2's debugfs files only after we
           evict all the glocks. Before this patch, GFS2 would delete the
           debugfs files, and if unmount hung waiting for a glock, there was
           no way to debug the problem. Now, if a hang occurs during umount,
           we can examine the debugfs files to figure out why it's hung.
      
         - Andreas Gruenbacher submitted a patch to fix some trivial typos.
      
         - Andreas also submitted a five-part patch set to fix the
           longstanding hang involving the slab shrinker: dlm requires memory,
           calls the inode shrinker, which calls gfs2's evict, which calls
           back into DLM before it can evict an inode.
      
         - Abhi Das submitted a patch to forcibly flush the active items list
           to relieve memory pressure. This fixes a long-standing bug whereby
           GFS2 was getting hung permanently in balance_dirty_pages.
      
         - Thomas Tai submitted a patch to fix a slab corruption problem due
           to a residual pointer left in the lock_dlm lockstruct.
      
         - I submitted a patch to withdraw the file system if IO errors are
           encountered while writing to the journals or statfs system file
           which were previously not being sent back up. Before, some IO
           errors were sometimes not be detected for several hours, and at
           recovery time, the journal errors made journal replay impossible.
      
         - Andreas has a patch to fix an annoying format-truncation compiler
           warning so GFS2 compiles cleanly.
      
         - I have a patch that fixes a handful of sparse compiler warnings.
      
         - Andreas fixed up an useless gl_object warning caused by an earlier
           patch.
      
         - Arvind Yadav added a patch to properly constify our rhashtable
           params declare.
      
         - I added a patch to fix a regression caused by the non-recursive
           delete and truncate patch that caused file system blocks to not be
           properly freed.
      
         - Ernesto A. Fernández added a patch to fix a place where GFS2 would
           send back the wrong return code setting extended attributes.
      
         - Ernesto also added a patch to fix a case in which GFS2 was
           improperly setting an inode's i_mode, potentially granting access
           to the wrong users"
      
      * tag 'gfs2-4.14.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2: (29 commits)
        gfs2: preserve i_mode if __gfs2_set_acl() fails
        gfs2: don't return ENODATA in __gfs2_xattr_set unless replacing
        GFS2: Fix non-recursive truncate bug
        gfs2: constify rhashtable_params
        GFS2: Fix gl_object warnings
        GFS2: Fix up some sparse warnings
        gfs2: Silence gcc format-truncation warning
        GFS2: Withdraw for IO errors writing to the journal or statfs
        gfs2: fix slab corruption during mounting and umounting gfs file system
        gfs2: forcibly flush ail to relieve memory pressure
        gfs2: Clean up waiting on glocks
        gfs2: Defer deleting inodes under memory pressure
        gfs2: gfs2_evict_inode: Put glocks asynchronously
        gfs2: Get rid of gfs2_set_nlink
        gfs2: gfs2_glock_get: Wait on freeing glocks
        gfs2: Fix trivial typos
        GFS2: Delete debugfs files only after we evict the glocks
        GFS2: Don't waste time locking lru_lock for non-lru glocks
        GFS2: Don't bother trying to add rgrps to the lru list
        GFS2: Clear gl_object when deleting an inode in gfs2_delete_inode
        ...
      77d0ab60
  2. 05 Sep, 2017 29 commits
    • Linus Torvalds's avatar
      Merge tag 'devprop-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · e7d0c41e
      Linus Torvalds authored
      Pull device properties framework updates from Rafael Wysocki:
       "These introduce fwnode operations for all of the separate types of
        'firmware nodes' that can be handled by the device properties
        framework, make the framework use const fwnode arguments all over, add
        a helper for the consolidated handling of node references and switch
        over the framework to the new UUID API.
      
        Specifics:
      
         - Introduce fwnode operations for all of the separate types of
           'firmware nodes' that can be handled by the device properties
           framework and drop the type field from struct fwnode_handle (Sakari
           Ailus, Arnd Bergmann).
      
         - Make the device properties framework use const fwnode arguments
           where possible (Sakari Ailus).
      
         - Add a helper for the consolidated handling of node references to
           the device properties framework (Sakari Ailus).
      
         - Switch over the ACPI part of the device properties framework to the
           new UUID API (Andy Shevchenko)"
      
      * tag 'devprop-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: device property: Switch to use new generic UUID API
        device property: export irqchip_fwnode_ops
        device property: Introduce fwnode_property_get_reference_args
        device property: Constify fwnode property API
        device property: Constify argument to pset fwnode backend
        ACPI: Constify internal fwnode arguments
        ACPI: Constify acpi_bus helper functions, switch to macros
        ACPI: Prepare for constifying acpi_get_next_subnode() fwnode argument
        device property: Get rid of struct fwnode_handle type field
        ACPI: Use IS_ERR_OR_NULL() instead of non-NULL check in is_acpi_data_node()
      e7d0c41e
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 53ac64aa
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These include a usual ACPICA code update (this time to upstream
        revision 20170728), a fix for a boot crash on some systems with
        Thunderbolt devices connected at boot time, a rework of the handling
        of PCI bridges when setting up device wakeup, new support for Apple
        device properties, support for DMA configurations reported via ACPI on
        ARM64, APEI-related updates, ACPI EC driver updates and assorted minor
        modifications in several places.
      
        Specifics:
      
         - Update the ACPICA code in the kernel to upstream revision 20170728
           including:
            * Alias operator handling update (Bob Moore).
            * Deferred resolution of reference package elements (Bob Moore).
            * Support for the _DMA method in walk resources (Bob Moore).
            * Tables handling update and support for deferred table
              verification (Lv Zheng).
            * Update of SMMU models for IORT (Robin Murphy).
            * Compiler and disassembler updates (Alex James, Erik Schmauss,
              Ganapatrao Kulkarni, James Morse).
            * Tools updates (Erik Schmauss, Lv Zheng).
            * Assorted minor fixes and cleanups (Bob Moore, Kees Cook, Lv
              Zheng, Shao Ming).
      
         - Rework the initialization of non-wakeup GPEs with method handlers
           in order to address a boot crash on some systems with Thunderbolt
           devices connected at boot time where we miss an early hotplug event
           due to a delay in GPE enabling (Rafael Wysocki).
      
         - Rework the handling of PCI bridges when setting up ACPI-based
           device wakeup in order to avoid disabling wakeup for bridges
           prematurely (Rafael Wysocki).
      
         - Consolidate Apple DMI checks throughout the tree, add support for
           Apple device properties to the device properties framework and use
           these properties for the handling of I2C and SPI devices on Apple
           systems (Lukas Wunner).
      
         - Add support for _DMA to the ACPI-based device properties lookup
           code and make it possible to use the information from there to
           configure DMA regions on ARM64 systems (Lorenzo Pieralisi).
      
         - Fix several issues in the APEI code, add support for exporting the
           BERT error region over sysfs and update APEI MAINTAINERS entry with
           reviewers information (Borislav Petkov, Dongjiu Geng, Loc Ho, Punit
           Agrawal, Tony Luck, Yazen Ghannam).
      
         - Fix a potential initialization ordering issue in the ACPI EC driver
           and clean it up somewhat (Lv Zheng).
      
         - Update the ACPI SPCR driver to extend the existing XGENE 8250
           workaround in it to a new platform (m400) and to work around an
           Xgene UART clock issue (Graeme Gregory).
      
         - Add a new utility function to the ACPI core to support using ACPI
           OEM ID / OEM Table ID / Revision for system identification in
           blacklisting or similar and switch over the existing code already
           using this information to this new interface (Toshi Kani).
      
         - Fix an xpower PMIC issue related to GPADC reads that always return
           0 without extra pin manipulations (Hans de Goede).
      
         - Add statements to print debug messages in a couple of places in the
           ACPI core for easier diagnostics (Rafael Wysocki).
      
         - Clean up the ACPI processor driver slightly (Colin Ian King, Hanjun
           Guo).
      
         - Clean up the ACPI x86 boot code somewhat (Andy Shevchenko).
      
         - Add a quirk for Dell OptiPlex 9020M to the ACPI backlight driver
           (Alex Hung).
      
         - Assorted fixes, cleanups and updates related to ACPI (Amitoj Kaur
           Chawla, Bhumika Goyal, Frank Rowand, Jean Delvare, Punit Agrawal,
           Ronald Tschalär, Sumeet Pawnikar)"
      
      * tag 'acpi-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (75 commits)
        ACPI / APEI: Suppress message if HEST not present
        intel_pstate: convert to use acpi_match_platform_list()
        ACPI / blacklist: add acpi_match_platform_list()
        ACPI, APEI, EINJ: Subtract any matching Register Region from Trigger resources
        ACPI: make device_attribute const
        ACPI / sysfs: Extend ACPI sysfs to provide access to boot error region
        ACPI: APEI: fix the wrong iteration of generic error status block
        ACPI / processor: make function acpi_processor_check_duplicates() static
        ACPI / EC: Clean up EC GPE mask flag
        ACPI: EC: Fix possible issues related to EC initialization order
        ACPI / PM: Add debug statements to acpi_pm_notify_handler()
        ACPI: Add debug statements to acpi_global_event_handler()
        ACPI / scan: Enable GPEs before scanning the namespace
        ACPICA: Make it possible to enable runtime GPEs earlier
        ACPICA: Dispatch active GPEs at init time
        ACPI: SPCR: work around clock issue on xgene UART
        ACPI: SPCR: extend XGENE 8250 workaround to m400
        ACPI / LPSS: Don't abort ACPI scan on missing mem resource
        mailbox: pcc: Drop uninformative output during boot
        ACPI/IORT: Add IORT named component memory address limits
        ...
      53ac64aa
    • Linus Torvalds's avatar
      Merge tag 'pm-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 43964409
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "This time (again) cpufreq gets the majority of changes which mostly
        are driver updates (including a major consolidation of intel_pstate),
        some schedutil governor modifications and core cleanups.
      
        There also are some changes in the system suspend area, mostly related
        to diagnostics and debug messages plus some renames of things related
        to suspend-to-idle. One major change here is that suspend-to-idle is
        now going to be preferred over S3 on systems where the ACPI tables
        indicate to do so and provide requsite support (the Low Power Idle S0
        _DSM in particular). The system sleep documentation and the tools
        related to it are updated too.
      
        The rest is a few cpuidle changes (nothing major), devfreq updates,
        generic power domains (genpd) framework updates and a few assorted
        modifications elsewhere.
      
        Specifics:
      
         - Drop the P-state selection algorithm based on a PID controller from
           intel_pstate and make it use the same P-state selection method
           (based on the CPU load) for all types of systems in the active mode
           (Rafael Wysocki, Srinivas Pandruvada).
      
         - Rework the cpufreq core and governors to make it possible to take
           cross-CPU utilization updates into account and modify the schedutil
           governor to actually do so (Viresh Kumar).
      
         - Clean up the handling of transition latency information in the
           cpufreq core and untangle it from the information on which drivers
           cannot do dynamic frequency switching (Viresh Kumar).
      
         - Add support for new SoCs (MT2701/MT7623 and MT7622) to the mediatek
           cpufreq driver and update its DT bindings (Sean Wang).
      
         - Modify the cpufreq dt-platdev driver to autimatically create
           cpufreq devices for the new (v2) Operating Performance Points (OPP)
           DT bindings and update its whitelist of supported systems (Viresh
           Kumar, Shubhrajyoti Datta, Marc Gonzalez, Khiem Nguyen, Finley
           Xiao).
      
         - Add support for Ux500 to the cpufreq-dt driver and drop the
           obsolete dbx500 cpufreq driver (Linus Walleij, Arnd Bergmann).
      
         - Add new SoC (R8A7795) support to the cpufreq rcar driver (Khiem
           Nguyen).
      
         - Fix and clean up assorted issues in the cpufreq drivers and core
           (Arvind Yadav, Christophe Jaillet, Colin Ian King, Gustavo Silva,
           Julia Lawall, Leonard Crestez, Rob Herring, Sudeep Holla).
      
         - Update the IO-wait boost handling in the schedutil governor to make
           it less aggressive (Joel Fernandes).
      
         - Rework system suspend diagnostics to make it print fewer messages
           to the kernel log by default, add a sysfs knob to allow more
           suspend-related messages to be printed and add Low Power S0 Idle
           constraints checks to the ACPI suspend-to-idle code (Rafael
           Wysocki, Srinivas Pandruvada).
      
         - Prefer suspend-to-idle over S3 on ACPI-based systems with the
           ACPI_FADT_LOW_POWER_S0 flag set and the Low Power Idle S0 _DSM
           interface present in the ACPI tables (Rafael Wysocki).
      
         - Update documentation related to system sleep and rename a number of
           items in the code to make it cleare that they are related to
           suspend-to-idle (Rafael Wysocki).
      
         - Export a variable allowing device drivers to check the target
           system sleep state from the core system suspend code (Florian
           Fainelli).
      
         - Clean up the cpuidle subsystem to handle the polling state on x86
           in a more straightforward way and to use %pOF instead of full_name
           (Rafael Wysocki, Rob Herring).
      
         - Update the devfreq framework to fix and clean up a few minor issues
           (Chanwoo Choi, Rob Herring).
      
         - Extend diagnostics in the generic power domains (genpd) framework
           and clean it up slightly (Thara Gopinath, Rob Herring).
      
         - Fix and clean up a couple of issues in the operating performance
           points (OPP) framework (Viresh Kumar, Waldemar Rymarkiewicz).
      
         - Add support for RV1108 to the rockchip-io Adaptive Voltage Scaling
           (AVS) driver (David Wu).
      
         - Fix the usage of notifiers in CPU power management on some
           platforms (Alex Shi).
      
         - Update the pm-graph system suspend/hibernation and boot profiling
           utility (Todd Brandt).
      
         - Make it possible to run the cpupower utility without CPU0 (Prarit
           Bhargava)"
      
      * tag 'pm-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (87 commits)
        cpuidle: Make drivers initialize polling state
        cpuidle: Move polling state initialization code to separate file
        cpuidle: Eliminate the CPUIDLE_DRIVER_STATE_START symbol
        cpufreq: imx6q: Fix imx6sx low frequency support
        cpufreq: speedstep-lib: make several arrays static, makes code smaller
        PM: docs: Delete the obsolete states.txt document
        PM: docs: Describe high-level PM strategies and sleep states
        PM / devfreq: Fix memory leak when fail to register device
        PM / devfreq: Add dependency on PM_OPP
        PM / devfreq: Move private devfreq_update_stats() into devfreq
        PM / devfreq: Convert to using %pOF instead of full_name
        PM / AVS: rockchip-io: add io selectors and supplies for RV1108
        cpufreq: ti: Fix 'of_node_put' being called twice in error handling path
        cpufreq: dt-platdev: Drop few entries from whitelist
        cpufreq: dt-platdev: Automatically create cpufreq device with OPP v2
        ARM: ux500: don't select CPUFREQ_DT
        cpuidle: Convert to using %pOF instead of full_name
        cpufreq: Convert to using %pOF instead of full_name
        PM / Domains: Convert to using %pOF instead of full_name
        cpufreq: Cap the default transition delay value to 10 ms
        ...
      43964409
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · b42a362e
      Linus Torvalds authored
      Pull HID update from Jiri Kosina:
      
       - Wacom driver fixes/updates (device name generation improvements,
         touch ring status support) from Jason Gerecke
      
       - T100 touchpad support from Hans de Goede
      
       - support for batteries driven by HID input reports, from Dmitry
         Torokhov
      
       - Arnd pointed out that driver_lock semaphore is superfluous, as driver
         core already provides all the necessary concurency protection.
         Removal patch from Binoy Jayan
      
       - logical minimum numbering improvements in sensor-hub driver, from
         Srinivas Pandruvada
      
       - support for Microsoft Win8 Wireless Radio Controls extensions from
         João Paulo Rechi Vita
      
       - assorted small fixes and device ID additions
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (28 commits)
        HID: prodikeys: constify snd_rawmidi_ops structures
        HID: sensor: constify platform_device_id
        HID: input: throttle battery uevents
        HID: usbmouse: constify usb_device_id and fix space before '[' error
        HID: usbkbd: constify usb_device_id and fix space before '[' error.
        HID: hid-sensor-hub: Force logical minimum to 1 for power and report state
        HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage
        HID: asus: Add T100CHI bluetooth keyboard dock touchpad support
        HID: ntrig: constify attribute_group structures.
        HID: logitech-hidpp: constify attribute_group structures.
        HID: sensor: constify attribute_group structures.
        HID: multitouch: constify attribute_group structures.
        HID: multitouch: use proper symbolic constant for 0xff310076 application
        HID: multitouch: Support Asus T304UA media keys
        HID: multitouch: Support HID_GD_WIRELESS_RADIO_CTLS
        HID: input: optionally use device id in battery name
        HID: input: map digitizer battery usage
        HID: Remove the semaphore driver_lock
        HID: wacom: add USB_HID dependency
        HID: add ALWAYS_POLL quirk for Logitech 0xc077
        ...
      b42a362e
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 70b8e9eb
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of the GPIO changes for the v4.14 cycle.
      
        Not so much changes this time, phew. David Daney and Bartosz
        Golaszewski did all the really interesting work in infrastructure
        improvement across GPIO and IRQ core, hats off for them and to tglx
        and Marc Z for general help with these patch sets.
      
        Core changes:
      
         - Allow the GPIO irqchip to allocate IRQs dynamically. This is an
           important change on systems where only a restricted number of IRQs,
           lesser than the number of GPIO lines, can be utilized. Now we can
           allocate these on a first-come-first-served basis instead of
           hogging up valuable IRQ lines.
      
         - Serious fix-up of the kerneldoc documentation and inclusion into
           the kerneldoc builds.
      
         - Pulled in the IRQ simulator from the IRQ core tree and use this in
           the GPIO mockup driver for exhaustive testing of interrupt
           abilities.
      
        New drivers:
      
         - New driver for ThunderX and OCTEON-TX. This is especially
           interesting as it picks up improvements from the IRQ core that
           allow us to handle fasteoi ACKs upwards in a hierarchy when there
           are IRQ flag latches on several levels in a hierarchy. Very
           interesting work here.
      
         - New subdriver for Renesas R-Car r8a7745 (RZ/G1E).
      
        Misc:
      
         - Several fixes and improvements for Xilinx Zynq GPIO.
      
         - Support an enablement GPIO for the 74x164 GPIO.
      
         - Switch a bunch of chips to use devres to allocate irq descriptors.
      
         - A bunch of constification fixes"
      
      * tag 'gpio-v4.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (63 commits)
        gpio: mockup: remove unused variable gc
        gpio: pl061: constify amba_id
        Revert "gpiolib: request the gpio before querying its direction"
        gpio: twl6040: remove unneeded forward declaration
        gpio: zevio: make gpio_chip const
        gpio: add gpio_add_lookup_tables() to add several tables at once
        gpio: rcar: Add r8a7745 (RZ/G1E) support
        gpio: brcmstb: check return value of gpiochip_irqchip_add()
        MAINTAINERS: Add entry for THUNDERX GPIO Driver.
        gpio: Add gpio driver support for ThunderX and OCTEON-TX
        gpio: mockup: use irq_sim
        gpio: mxs: use devres for irq generic chip
        gpio: mxc: use devres for irq generic chip
        gpio: pch: use devres for irq generic chip
        gpio: ml-ioh: use devres for irq generic chip
        gpio: sta2x11: use devres for irq generic chip
        gpio: sta2x11: disallow unbinding the driver
        gpio: mxs: disallow unbinding the driver
        gpio: mxc: disallow unbinding the driver
        gpio: aspeed: Remove reference to clock name in debounce warning message
        ...
      70b8e9eb
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · d16605c9
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the big bulk of pin control changes for the v4.14 kernel.
        There are just a few bigger changes (new drivers mostly) and then a
        lot of small patches all over the place.
      
        Core changes:
         - Decision to wrap the sleep mode of the Spreadtrum and in the future
           others into a specially tagged state. The generic DT bindings and
           the new Spreadtrum driver conforms to this. Others should be moved
           over if possible.
      
        New drivers:
         - Spreadtrum SoCs especially the SC9860 SoC.
         - Storlink/Cortina Gemini 3512 and 3516 SoCs.
      
        New subdrivers:
         - Intel Denverton subdriver.
         - Intel Cannon Lake subdriver.
         - Intel Lewisburg subdriver.
         - Allwinner sunxi: R40 subdriver for A10.
         - Socionext uniphier PXs3 subdriver.
         - Rockchip RK3128 subdriver.
         - Renesas SH-PFC R8A77995 subdriver.
      
        Miscellaneous:
         - Qualcomm APQ8064 can handle general purpose clock muxing.
         - Mediatek MT7623 PCIe mux data fixed up.
         - Intel GPIO IRQs are disabled during suspend.
         - Several fixes and addtions to Renesas r8a7796.
         - Qualcomm SPMI GPIO supports dtest route and LV/MV subtype.
         - Input schmitt trigger support in Rockchip RV1108.
         - Aspeed G4 and G5 USB host/device pin control control added.
         - Qualcomm IPQ4019 has matured with a few missing pin groups and
           control bits put in place.
         - Lots of constification, this is the latest in cocinelle fixes"
      
      * tag 'pinctrl-v4.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (147 commits)
        Revert "pinctrl: sunxi: Don't enforce bias disable (for now)"
        pinctrl: uniphier: fix members of rmii group for Pro4
        pinctrl: Delete an error message
        pinctrl: core: Delete an error message
        pinctrl: intel: Read back TX buffer state
        pinctrl: rockchip: Add rv1108 recalculated iomux support
        pinctrl: intel: Decrease indentation in intel_gpio_set()
        pinctrl: rza1: Remove suffix from gpiochip label
        pinctrl: qcom: spmi-gpio: Correct power_source range check
        pinctrl: freescale: make mxs_regs const
        pinctrl: aspeed: Rework strap register write logic for the AST2500
        pinctrl: rza1: off by one in rza1_parse_gpiochip()
        pinctrl: qcom: General Purpose clocks for apq8064
        pinctrl: sprd: Add Spreadtrum pin control driver
        dt-bindings: pinctrl: Add DT bindings for Spreadtrum SC9860
        pinctrl: Add sleep related state to indicate sleep related configs
        pinctrl: mediatek: update PCIe mux data for MT7623
        pinctrl: intel: Add Intel Lewisburg GPIO support
        pinctrl: intel: Add Intel Cannon Lake PCH-H pin controller support
        pinctrl: aspeed: Fix ast2500 strap register write logic
        ...
      d16605c9
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · fe9e3138
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "This is an extremely quiet release for the regulator subsystem, it's
        all fairly minor fixes and cleanups plus a few new drivers and ddevice
        ID additions:
      
         - Support for MediaTek MT6380, Ricoh RC5T619 and ST Voltage Reference
           Buffers"
      
      * tag 'regulator-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (24 commits)
        regulator: Add support for stm32-vrefbuf
        regulator: Add STM32 Voltage Reference Buffer
        regulator: pv88090: Exception handling for out of bounds
        regulator: da9063: Return an error code on probe failure
        regulator: rn5t618: add RC5T619 PMIC support
        regulator: ltc3589: constify i2c_device_id
        regulator: fan53555: fix I2C device ids
        regulator: add fixes with MT6397 dt-bindings shouldn't reference driver
        regulator: add fixes with MT6323 dt-bindings shouldn't reference driver
        regulator: add fixes with MT6311 dt-bindings shouldn't reference driver
        regulator: Add document for MediaTek MT6380 regulator
        regulator: mt6380: Add support for MT6380
        regulator: pwm-regulator: Remove unneeded gpiod NULL check
        regulator: core: fix a possible race in disable_work handling
        regulator: fan53555: Use of_device_get_match_data() to simplify probe
        regulator: of: regulator_of_get_init_data() missing of_node_get()
        regulator: pwm-regulator: fix example syntax
        regulator: Convert to using %pOF instead of full_name
        regulator: cpcap: Add OF mode mapping
        regulator: cpcap: Fix standby mode
        ...
      fe9e3138
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · b88f5577
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "A fairly quiet release for the SPI subsystem:
      
         - Move to using IDR for allocating bus numbers
      
         - Modernisation of the ep93xx driver, removing a lot of open coding
           and using the framework more
      
         - The tools have been moved to use the standard tools build system
           and an install target added (there will be a fairly trivial
           conflict with tip resulting from the changes in the main tools
           Makefile)
      
         - A refactoring of the Qualcomm QUP driver which enables new variants
           to be supported
      
         - Explicit support for the Freescale i.MX53 and i.MX6 SPI, Renesas
           R-Car H3 and Rockchip RV1108 controllers"
      
      * tag 'spi-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (71 commits)
        spi: spi-falcon: drop check of boot select
        spi: imx: fix use of native chip-selects with devicetree
        spi: pl022: constify amba_id
        spi: imx: fix little-endian build
        spi: omap: Allocate bus number from spi framework
        spi: Kernel coding style fixes
        spi: imx: dynamic burst length adjust for PIO mode
        spi: Pick spi bus number from Linux idr or spi alias
        spi: rockchip: configure CTRLR1 according to size and data frame
        spi: altera: Consolidate TX/RX data register access
        spi: altera: Switch to SPI core transfer queue management
        spi: rockchip: add compatible string for rv1108 spi
        spi: qup: fix 64-bit build warning
        spi: qup: hide warning for uninitialized variable
        spi: spi-ep93xx: use the default master transfer queueing mechanism
        spi: spi-ep93xx: remove private data 'current_msg'
        spi: spi-ep93xx: pass the spi_master pointer around
        spi: spi-ep93xx: absorb the interrupt enable/disable helpers
        spi: spi-ep93xx: add spi master prepare_transfer_hardware()
        spi: spi-ep93xx: use 32-bit read/write for all registers
        ...
      b88f5577
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 16a832a2
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - pnd2_edac: A minimal sideband driver (Tony Luck)
      
       - small-ish cleanups and fixes all over the place
      
      * tag 'edac_for_4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, mce_amd: Get rid of local var in amd_filter_mce()
        EDAC, mce_amd: Get rid of most struct cpuinfo_x86 uses
        EDAC, mce_amd: Rename decode_smca_errors() to decode_smca_error()
        EDAC: Make device_type const
        EDAC, pnd2: Properly toggle hidden state for P2SB PCI device
        EDAC, pnd2: Conditionally unhide/hide the P2SB PCI device to read BAR
        EDAC, pnd2: Mask off the lower four bits of a BAR
        EDAC, thunderx: Fix error handling path in thunderx_lmc_probe()
        EDAC, altera: Fix error handling path in altr_edac_device_probe()
        EDAC, pnd2: Build in a minimal sideband driver for Apollo Lake
        EDAC, sb_edac: Classify memory mirroring modes
        EDAC, cpc925, ppc4xx: Convert to using %pOF instead of full_name
        EDAC: Get rid of mci->mod_ver
        EDAC: Constify attribute_group structures
        EDAC, mce_amd: Use cpu_to_node() to find the node ID
      16a832a2
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · bafb0762
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the big char/misc driver update for 4.14-rc1.
      
        Lots of different stuff in here, it's been an active development cycle
        for some reason. Highlights are:
      
         - updated binder driver, this brings binder up to date with what
           shipped in the Android O release, plus some more changes that
           happened since then that are in the Android development trees.
      
         - coresight updates and fixes
      
         - mux driver file renames to be a bit "nicer"
      
         - intel_th driver updates
      
         - normal set of hyper-v updates and changes
      
         - small fpga subsystem and driver updates
      
         - lots of const code changes all over the driver trees
      
         - extcon driver updates
      
         - fmc driver subsystem upadates
      
         - w1 subsystem minor reworks and new features and drivers added
      
         - spmi driver updates
      
        Plus a smattering of other minor driver updates and fixes.
      
        All of these have been in linux-next with no reported issues for a
        while"
      
      * tag 'char-misc-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (244 commits)
        ANDROID: binder: don't queue async transactions to thread.
        ANDROID: binder: don't enqueue death notifications to thread todo.
        ANDROID: binder: Don't BUG_ON(!spin_is_locked()).
        ANDROID: binder: Add BINDER_GET_NODE_DEBUG_INFO ioctl
        ANDROID: binder: push new transactions to waiting threads.
        ANDROID: binder: remove proc waitqueue
        android: binder: Add page usage in binder stats
        android: binder: fixup crash introduced by moving buffer hdr
        drivers: w1: add hwmon temp support for w1_therm
        drivers: w1: refactor w1_slave_show to make the temp reading functionality separate
        drivers: w1: add hwmon support structures
        eeprom: idt_89hpesx: Support both ACPI and OF probing
        mcb: Fix an error handling path in 'chameleon_parse_cells()'
        MCB: add support for SC31 to mcb-lpc
        mux: make device_type const
        char: virtio: constify attribute_group structures.
        Documentation/ABI: document the nvmem sysfs files
        lkdtm: fix spelling mistake: "incremeted" -> "incremented"
        perf: cs-etm: Fix ETMv4 CONFIGR entry in perf.data file
        nvmem: include linux/err.h from header
        ...
      bafb0762
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.14-rc1' of... · 44b1671f
      Linus Torvalds authored
      Merge tag 'driver-core-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core update from Greg KH:
       "Here is the "big" driver core update for 4.14-rc1.
      
        It's really not all that big, the largest thing here being some
        firmware tests to help ensure that that crazy api is working properly.
      
        There's also a new uevent for when a driver is bound or unbound from a
        device, fixing a hole in the driver model that's been there since the
        very beginning. Many thanks to Dmitry for being persistent and
        pointing out how wrong I was about this all along :)
      
        Patches for the new uevents are already in the systemd tree, if people
        want to play around with them.
      
        Otherwise just a number of other small api changes and updates here,
        nothing major. All of these patches have been in linux-next for a
        while with no reported issues"
      
      * tag 'driver-core-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (28 commits)
        driver core: bus: Fix a potential double free
        Do not disable driver and bus shutdown hook when class shutdown hook is set.
        base: topology: constify attribute_group structures.
        base: Convert to using %pOF instead of full_name
        kernfs: Clarify lockdep name for kn->count
        fbdev: uvesafb: remove DRIVER_ATTR() usage
        xen: xen-pciback: remove DRIVER_ATTR() usage
        driver core: Document struct device:dma_ops
        mod_devicetable: Remove excess description from structured comment
        test_firmware: add batched firmware tests
        firmware: enable a debug print for batched requests
        firmware: define pr_fmt
        firmware: send -EINTR on signal abort on fallback mechanism
        test_firmware: add test case for SIGCHLD on sync fallback
        initcall_debug: add deferred probe times
        Input: axp20x-pek - switch to using devm_device_add_group()
        Input: synaptics_rmi4 - use devm_device_add_group() for attributes in F01
        Input: gpio_keys - use devm_device_add_group() for attributes
        driver core: add devm_device_add_group() and friends
        driver core: add device_{add|remove}_group() helpers
        ...
      44b1671f
    • Linus Torvalds's avatar
      Merge tag 'staging-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · bf1d6b2c
      Linus Torvalds authored
      Pull staging/IIO driver updates from Greg KH:
       "Here is the big staging and IIO driver update for 4.14-rc1.
      
        Lots of staging driver fixes and cleanups, including some reorginizing
        of the lustre header files to try to impose some sanity on what is,
        and what is not, the uapi for that filesystem.
      
        There are some tty core changes in here as well, as the speakup
        drivers need them, and that's ok with me, they are sane and the
        speakup code is getting nicer because of it.
      
        There is also the addition of the obiligatory new wifi driver, just
        because it has been a release or two since we added our last one...
      
        Other than that, lots and lots of small coding style fixes, as usual.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (612 commits)
        staging:rtl8188eu:core Fix remove unneccessary else block
        staging: typec: fusb302: make structure fusb302_psy_desc static
        staging: unisys: visorbus: make two functions static
        staging: fsl-dpaa2/eth: fix off-by-one FD ctrl bitmaks
        staging: r8822be: Simplify deinit_priv()
        staging: r8822be: Remove some dead code
        staging: vboxvideo: Use CONFIG_DRM_KMS_FB_HELPER to check for fbdefio availability
        staging:rtl8188eu Fix comparison to NULL
        staging: rts5208: rename mmc_ddr_tunning_rx_cmd to mmc_ddr_tuning_rx_cmd
        Staging: Pi433: style fix - tabs and spaces
        staging: pi433: fix spelling mistake: "preample" -> "preamble"
        staging:rtl8188eu:core Fix Code Indent
        staging: typec: fusb302: Export current-limit through a power_supply class dev
        staging: typec: fusb302: Add support for USB2 charger detection through extcon
        staging: typec: fusb302: Use client->irq as irq if set
        staging: typec: fusb302: Get max snk mv/ma/mw from device-properties
        staging: typec: fusb302: Set max supply voltage to 5V
        staging: typec: tcpm: Add get_current_limit tcpc_dev callback
        staging:rtl8188eu Use __func__ instead of function name
        staging: lustre: coding style fixes found by checkpatch.pl
        ...
      bf1d6b2c
    • Linus Torvalds's avatar
      Merge tag 'tty-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · e63a94f1
      Linus Torvalds authored
      Pull tty/serial updates from Greg KH:
       "Here is the big tty/serial driver update for 4.14-rc1.
      
        Well, not all that big, just a number of small serial driver fixes,
        and a new serial driver. Also in here are some much needed goldfish
        tty driver (emulator) fixes to try to get that codebase under control.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'tty-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (94 commits)
        tty: goldfish: Implement support for kernel 'earlycon' parameter
        tty: goldfish: Use streaming DMA for r/w operations on Ranchu platforms
        tty: goldfish: Refactor constants to better reflect their nature
        serial: 8250_port: Remove useless NULL checks
        earlycon: initialise baud field of earlycon device structure
        tty: hvcs: make ktermios const
        pty: show associative slave of ptmx in fdinfo
        tty: n_gsm: Add compat_ioctl
        tty: hvcs: constify vio_device_id
        tty: hvc_vio: constify vio_device_id
        tty: mips_ejtag_fdc: constify mips_cdmm_device_id
        Introduce 8250_men_mcb
        mcb: introduce mcb_get_resource()
        serial: imx: Avoid post-PIO cleanup if TX DMA is started
        tty: serial: imx: disable irq after suspend
        serial: 8250_uniphier: add suspend/resume support
        serial: 8250_uniphier: use CHAR register for canary to detect power-off
        serial: 8250_uniphier: fix serial port index in private data
        serial: 8250: of: Add new port type for MediaTek BTIF controller on MT7622/23 SoC
        dt-bindings: serial: 8250: Add MediaTek BTIF controller bindings
        ...
      e63a94f1
    • Linus Torvalds's avatar
      Merge tag 'usb-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 1a3b85ea
      Linus Torvalds authored
      Pull USB/PHY driver updates from Greg KH:
       "Here is the large USB and PHY driver update for 4.14-rc1.
      
        Not all that exciting, a few new PHY drivers, the usual mess of gadget
        driver updates and fixes, and of course, xhci updates to try to tame
        that beast.
      
        A number of usb-serial updates and other small fixes all over the USB
        driver tree are in here as well. Full details are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (171 commits)
        usbip: vhci-hcd: make vhci_hc_driver const
        usb: phy: Avoid unchecked dereference warning
        usb: imx21-hcd: make imx21_hc_driver const
        usb: host: make ehci_fsl_overrides const and __initconst
        dt-bindings: mt8173-mtu3: add generic compatible and rename file
        dt-bindings: mt8173-xhci: add generic compatible and rename file
        usb: xhci-mtk: add generic compatible string
        usbip: auto retry for concurrent attach
        USB: serial: option: simplify 3 D-Link device entries
        USB: serial: option: add support for D-Link DWM-157 C1
        usb: core: usbport: fix "BUG: key not in .data" when lockdep is enabled
        usb: chipidea: usb2: check memory allocation failure
        usb: Add device quirk for Logitech HD Pro Webcam C920-C
        usb: misc: lvstest: add entry to place port in compliance mode
        usb: xhci: Support enabling of compliance mode for xhci 1.1
        usb:xhci:Fix regression when ATI chipsets detected
        usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard
        usb: gadget: make snd_pcm_hardware const
        usb: common: use of_property_read_bool()
        USB: core: constify vm_operations_struct
        ...
      1a3b85ea
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 04759194
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
      
       - VMAP_STACK support, allowing the kernel stacks to be allocated in the
         vmalloc space with a guard page for trapping stack overflows. One of
         the patches introduces THREAD_ALIGN and changes the generic
         alloc_thread_stack_node() to use this instead of THREAD_SIZE (no
         functional change for other architectures)
      
       - Contiguous PTE hugetlb support re-enabled (after being reverted a
         couple of times). We now have the semantics agreed in the generic mm
         layer together with API improvements so that the architecture code
         can detect between contiguous and non-contiguous huge PTEs
      
       - Initial support for persistent memory on ARM: DC CVAP instruction
         exposed to user space (HWCAP) and the in-kernel pmem API implemented
      
       - raid6 improvements for arm64: faster algorithm for the delta syndrome
         and implementation of the recovery routines using Neon
      
       - FP/SIMD refactoring and removal of support for Neon in interrupt
         context. This is in preparation for full SVE support
      
       - PTE accessors converted from inline asm to cmpxchg so that we can use
         LSE atomics if available (ARMv8.1)
      
       - Perf support for Cortex-A35 and A73
      
       - Non-urgent fixes and cleanups
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (75 commits)
        arm64: cleanup {COMPAT_,}SET_PERSONALITY() macro
        arm64: introduce separated bits for mm_context_t flags
        arm64: hugetlb: Cleanup setup_hugepagesz
        arm64: Re-enable support for contiguous hugepages
        arm64: hugetlb: Override set_huge_swap_pte_at() to support contiguous hugepages
        arm64: hugetlb: Override huge_pte_clear() to support contiguous hugepages
        arm64: hugetlb: Handle swap entries in huge_pte_offset() for contiguous hugepages
        arm64: hugetlb: Add break-before-make logic for contiguous entries
        arm64: hugetlb: Spring clean huge pte accessors
        arm64: hugetlb: Introduce pte_pgprot helper
        arm64: hugetlb: set_huge_pte_at Add WARN_ON on !pte_present
        arm64: kexec: have own crash_smp_send_stop() for crash dump for nonpanic cores
        arm64: dma-mapping: Mark atomic_pool as __ro_after_init
        arm64: dma-mapping: Do not pass data to gen_pool_set_algo()
        arm64: Remove the !CONFIG_ARM64_HW_AFDBM alternative code paths
        arm64: Ignore hardware dirty bit updates in ptep_set_wrprotect()
        arm64: Move PTE_RDONLY bit handling out of set_pte_at()
        kvm: arm64: Convert kvm_set_s2pte_readonly() from inline asm to cmpxchg()
        arm64: Convert pte handling from inline asm to using (cmp)xchg
        arm64: neon/efi: Make EFI fpsimd save/restore variables static
        ...
      04759194
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 9e85ae6a
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
       "The first part of the s390 updates for 4.14:
      
         - Add machine type 0x3906 for IBM z14
      
         - Add IBM z14 TLB flushing improvements for KVM guests
      
         - Exploit the TOD clock epoch extension to provide a continuous TOD
           clock afer 2042/09/17
      
         - Add NIAI spinlock hints for IBM z14
      
         - Rework the vmcp driver and use CMA for the respone buffer of z/VM
           CP commands
      
         - Drop some s390 specific asm headers and use the generic version
      
         - Add block discard for DASD-FBA devices under z/VM
      
         - Add average request times to DASD statistics
      
         - A few of those constify patches which seem to be in vogue right now
      
         - Cleanup and bug fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (50 commits)
        s390/mm: avoid empty zero pages for KVM guests to avoid postcopy hangs
        s390/dasd: Add discard support for FBA devices
        s390/zcrypt: make CPRBX const
        s390/uaccess: avoid mvcos jump label
        s390/mm: use generic mm_hooks
        s390/facilities: fix typo
        s390/vmcp: simplify vmcp_response_free()
        s390/topology: Remove the unused parent_node() macro
        s390/dasd: Change unsigned long long to unsigned long
        s390/smp: convert cpuhp_setup_state() return code to zero on success
        s390: fix 'novx' early parameter handling
        s390/dasd: add average request times to dasd statistics
        s390/scm: use common completion path
        s390/pci: log changes to uid checking
        s390/vmcp: simplify vmcp_ioctl()
        s390/vmcp: return -ENOTTY for unknown ioctl commands
        s390/vmcp: split vmcp header file and move to uapi
        s390/vmcp: make use of contiguous memory allocator
        s390/cpcmd,vmcp: avoid GFP_DMA allocations
        s390/vmcp: fix uaccess check and avoid undefined behavior
        ...
      9e85ae6a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha · 6caffe21
      Linus Torvalds authored
      Pull alpha updates from Matt Turner:
       "This contains some small clean up patches I've neglected, and some
        build improvements from Ben Hutchings"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha:
        alpha: math-emu: Fix modular build
        alpha: Restore symbol versions for symbols exported from assembly
        alpha: defconfig: Cleanup from old Kconfig options
        alpha: use kobj_to_dev()
        alpha: squash lines for immediate return
        alpha: kernel: Use vma_pages()
        alpha: silence a buffer overflow warning
        alpha: marvel: make use of raw_spinlock variants
        alpha: cleanup: remove __NR_sys_epoll_*, leave __NR_epoll_*
        alpha: use generic fb.h
      6caffe21
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · f32c9e05
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "Major changes include:
      
         - Full support of the firmware Page Deallocation Table with
           MADV_HWPOISON and MADV_SOFT_OFFLINE. A kernel thread scans
           regularily for new bad memory pages.
      
         - Full support for self-extracting kernel.
      
         - Added UBSAN support.
      
         - Lots of section mismatch fixes across all parisc drivers.
      
         - Added examples for %pF and %pS usage in printk-formats.txt"
      
      * 'parisc-4.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: (28 commits)
        printk-formats.txt: Add examples for %pF and %pS usage
        parisc: Fix up devices below a PCI-PCI MegaRAID controller bridge
        parisc/core: Fix section mismatches
        parisc/ipmi_si_intf: Fix section mismatches on parisc platform
        parisc/input/hilkbd: Fix section mismatches
        parisc/net/lasi_82596: Fix section mismatches
        parisc/serio: Fix section mismatches in gscps2 and hp_sdc drivers
        parisc: Fix section mismatches in parisc core drivers
        parisc/parport_gsc: Fix section mismatches
        parisc/scsi/lasi700: Fix section mismatches
        parisc/scsi/zalon: Fix section mismatches
        parisc/8250_gsc: Fix section mismatches
        parisc/mux: Fix section mismatches
        parisc/sticore: Fix section mismatches
        parisc/harmony: Fix section mismatches
        parisc: Wire up support for self-extracting kernel
        parisc: Make existing core files reuseable for bootloader
        parisc: Add core code for self-extracting kernel
        parisc: Enable UBSAN support
        parisc/random: Add machine specific randomness
        ...
      f32c9e05
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v4.14-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · d1ce4956
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
        - restore symbol versions for symbols exported from assembly
      
        - defconfig updates
      
        - Mac fixes
      
      * tag 'm68k-for-v4.14-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/mac: Avoid soft-lockup warning after mach_power_off
        m68k/mac: Don't hang waiting for Cuda power-down command
        m68k: Restore symbol versions for symbols exported from assembly
        m68k/defconfig: Update defconfigs for v4.13-rc1
      d1ce4956
    • Jiri Kosina's avatar
      Merge branch 'for-4.14/wacom' into for-linus · de6c5070
      Jiri Kosina authored
      - name generation improvement for Wacom devices from Jason Gerecke
      - Kconfig dependency fix for Wacom driver from Arnd Bergmann
      de6c5070
    • Jiri Kosina's avatar
      Merge branch 'for-4.14/upstream' into for-linus · 5c891d5e
      Jiri Kosina authored
      - usb_device_id and snd_rawmidi_ops constifications from Julia Lawall
        and Arvind Yadav
      5c891d5e
    • Jiri Kosina's avatar
      Merge branch 'for-4.14/multitouch' into for-linus · 38e50c9b
      Jiri Kosina authored
      - support for media keys on Asus T304UA from João Paulo Rechi Vita
      - support for Microsoft Win8 Wireless Radio Controls extensions
        from João Paulo Rechi Vita
      
      Conflicts:
      	drivers/hid/hid-ids.h
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      38e50c9b
    • Jiri Kosina's avatar
      Merge branch 'for-4.14/ish' into for-linus · d29ed11b
      Jiri Kosina authored
      - bring consistency into logical minimum numbering in sensor-hub
        driver, from Srinivas Pandruvada
      d29ed11b
    • Jiri Kosina's avatar
      Merge branch 'for-4.14/driver-lock-removal' into for-linus · 2682b892
      Jiri Kosina authored
      - Arnd pointed out that driver_lock semaphore is superfluous, as
        driver core already provides all the necessary concurency protection.
        Removal patch from Binoy Jayan
      2682b892
    • Jiri Kosina's avatar
      Merge branch 'for-4.14/constify-attribute_group' into for-linus · aaf4f13c
      Jiri Kosina authored
      - struct attribute_group constification from Arvind Yadav
      aaf4f13c
    • Jiri Kosina's avatar
      Merge branch 'for-4.14/battery' into for-linus · b11918bd
      Jiri Kosina authored
      - support for batteries driven by HID input reports, from Dmitry Torokhov
      b11918bd
    • Jiri Kosina's avatar
      Merge branch 'for-4.14/asus' into for-linus · d3c7ad24
      Jiri Kosina authored
      - T100 touchpad support from Hans de Goede
      d3c7ad24
    • Jiri Kosina's avatar
      Merge branch 'for-4.13/upstream-fixes' into for-linus · d487bb6e
      Jiri Kosina authored
      - WACOM_HID_WD_TOUCHRINGSTATUS usage mapping fix in Wacom driver
        from Jason Gerecke
      - new Logitech device ID quirk from Kyle Roarty
      d487bb6e
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 24e700e2
      Linus Torvalds authored
      Pull x86 apic updates from Thomas Gleixner:
       "This update provides:
      
         - Cleanup of the IDT management including the removal of the extra
           tracing IDT. A first step to cleanup the vector management code.
      
         - The removal of the paravirt op adjust_exception_frame. This is a
           XEN specific issue, but merged through this branch to avoid nasty
           merge collisions
      
         - Prevent dmesg spam about the TSC DEADLINE bug, when the CPU has
           disabled the TSC DEADLINE timer in CPUID.
      
         - Adjust a debug message in the ioapic code to print out the
           information correctly"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
        x86/idt: Fix the X86_TRAP_BP gate
        x86/xen: Get rid of paravirt op adjust_exception_frame
        x86/eisa: Add missing include
        x86/idt: Remove superfluous ALIGNment
        x86/apic: Silence "FW_BUG TSC_DEADLINE disabled due to Errata" on CPUs without the feature
        x86/idt: Remove the tracing IDT leftovers
        x86/idt: Hide set_intr_gate()
        x86/idt: Simplify alloc_intr_gate()
        x86/idt: Deinline setup functions
        x86/idt: Remove unused functions/inlines
        x86/idt: Move interrupt gate initialization to IDT code
        x86/idt: Move APIC gate initialization to tables
        x86/idt: Move regular trap init to tables
        x86/idt: Move IST stack based traps to table init
        x86/idt: Move debug stack init to table based
        x86/idt: Switch early trap init to IDT tables
        x86/idt: Prepare for table based init
        x86/idt: Move early IDT setup out of 32-bit asm
        x86/idt: Move early IDT handler setup to IDT code
        x86/idt: Consolidate IDT invalidation
        ...
      24e700e2
  3. 04 Sep, 2017 6 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f5709176
      Linus Torvalds authored
      Pull x86 cache quality monitoring update from Thomas Gleixner:
       "This update provides a complete rewrite of the Cache Quality
        Monitoring (CQM) facility.
      
        The existing CQM support was duct taped into perf with a lot of issues
        and the attempts to fix those turned out to be incomplete and
        horrible.
      
        After lengthy discussions it was decided to integrate the CQM support
        into the Resource Director Technology (RDT) facility, which is the
        obvious choise as in hardware CQM is part of RDT. This allowed to add
        Memory Bandwidth Monitoring support on top.
      
        As a result the mechanisms for allocating cache/memory bandwidth and
        the corresponding monitoring mechanisms are integrated into a single
        management facility with a consistent user interface"
      
      * 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (37 commits)
        x86/intel_rdt: Turn off most RDT features on Skylake
        x86/intel_rdt: Add command line options for resource director technology
        x86/intel_rdt: Move special case code for Haswell to a quirk function
        x86/intel_rdt: Remove redundant ternary operator on return
        x86/intel_rdt/cqm: Improve limbo list processing
        x86/intel_rdt/mbm: Fix MBM overflow handler during CPU hotplug
        x86/intel_rdt: Modify the intel_pqr_state for better performance
        x86/intel_rdt/cqm: Clear the default RMID during hotcpu
        x86/intel_rdt: Show bitmask of shareable resource with other executing units
        x86/intel_rdt/mbm: Handle counter overflow
        x86/intel_rdt/mbm: Add mbm counter initialization
        x86/intel_rdt/mbm: Basic counting of MBM events (total and local)
        x86/intel_rdt/cqm: Add CPU hotplug support
        x86/intel_rdt/cqm: Add sched_in support
        x86/intel_rdt: Introduce rdt_enable_key for scheduling
        x86/intel_rdt/cqm: Add mount,umount support
        x86/intel_rdt/cqm: Add rmdir support
        x86/intel_rdt: Separate the ctrl bits from rmdir
        x86/intel_rdt/cqm: Add mon_data
        x86/intel_rdt: Prepare for RDT monitor data support
        ...
      f5709176
    • Linus Torvalds's avatar
      Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d725c7ac
      Linus Torvalds authored
      Pull CPU hotplug fix from Thomas Gleixner:
       "A single fix to handle the removal of the first dynamic CPU hotplug
        state correctly"
      
      * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        smp/hotplug: Handle removal correctly in cpuhp_store_callbacks()
      d725c7ac
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 93cc1228
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "The interrupt subsystem delivers this time:
      
         - Refactoring of the GIC-V3 driver to prepare for the GIC-V4 support
      
         - Initial GIC-V4 support
      
         - Consolidation of the FSL MSI support
      
         - Utilize the effective affinity interface in various ARM irqchip
           drivers
      
         - Yet another interrupt chip driver (UniPhier AIDET)
      
         - Bulk conversion of the irq chip driver to use %pOF
      
         - The usual small fixes and improvements all over the place"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (77 commits)
        irqchip/ls-scfg-msi: Add MSI affinity support
        irqchip/ls-scfg-msi: Add LS1043a v1.1 MSI support
        irqchip/ls-scfg-msi: Add LS1046a MSI support
        arm64: dts: ls1046a: Add MSI dts node
        arm64: dts: ls1043a: Share all MSIs
        arm: dts: ls1021a: Share all MSIs
        arm64: dts: ls1043a: Fix typo of MSI compatible string
        arm: dts: ls1021a: Fix typo of MSI compatible string
        irqchip/ls-scfg-msi: Fix typo of MSI compatible strings
        irqchip/irq-bcm7120-l2: Use correct I/O accessors for irq_fwd_mask
        irqchip/mmp: Make mmp_intc_conf const
        irqchip/gic: Make irq_chip const
        irqchip/gic-v3: Advertise GICv4 support to KVM
        irqchip/gic-v4: Enable low-level GICv4 operations
        irqchip/gic-v4: Add some basic documentation
        irqchip/gic-v4: Add VLPI configuration interface
        irqchip/gic-v4: Add VPE command interface
        irqchip/gic-v4: Add per-VM VPE domain creation
        irqchip/gic-v3-its: Set implementation defined bit to enable VLPIs
        irqchip/gic-v3-its: Allow doorbell interrupts to be injected/cleared
        ...
      93cc1228
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dd90cccf
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "A rather small update for the time(r) subsystem:
      
         - A new clocksource driver IMX-TPM
      
         - Minor fixes to the alarmtimer facility
      
         - Device tree cleanups for Renesas drivers
      
         - A new kselftest and fixes for the timer related tests
      
         - Conversion of the clocksource drivers to use %pOF
      
         - Use the proper helpers to access rlimits in the posix-cpu-timer
           code"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        alarmtimer: Ensure RTC module is not unloaded
        clocksource: Convert to using %pOF instead of full_name
        clocksource/drivers/bcm2835: Remove message for a memory allocation failure
        devicetree: bindings: Remove deprecated properties
        devicetree: bindings: Remove unused 32-bit CMT bindings
        devicetree: bindings: Deprecate property, update example
        devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
        devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
        devicetree: bindings: Remove sh7372 CMT binding
        clocksource/drivers/imx-tpm: Add imx tpm timer support
        dt-bindings: timer: Add nxp tpm timer binding doc
        posix-cpu-timers: Use dedicated helper to access rlimit values
        alarmtimer: Fix unavailable wake-up source in sysfs
        timekeeping: Use proper timekeeper for debug code
        kselftests: timers: set-timer-lat: Add one-shot timer test cases
        kselftests: timers: set-timer-lat: Tweak reporting when timer fires early
        kselftests: timers: freq-step: Fix build warning
        kselftests: timers: freq-step: Define ADJ_SETOFFSET if device has older kernel headers
      dd90cccf
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b1b6f83a
      Linus Torvalds authored
      Pull x86 mm changes from Ingo Molnar:
       "PCID support, 5-level paging support, Secure Memory Encryption support
      
        The main changes in this cycle are support for three new, complex
        hardware features of x86 CPUs:
      
         - Add 5-level paging support, which is a new hardware feature on
           upcoming Intel CPUs allowing up to 128 PB of virtual address space
           and 4 PB of physical RAM space - a 512-fold increase over the old
           limits. (Supercomputers of the future forecasting hurricanes on an
           ever warming planet can certainly make good use of more RAM.)
      
           Many of the necessary changes went upstream in previous cycles,
           v4.14 is the first kernel that can enable 5-level paging.
      
           This feature is activated via CONFIG_X86_5LEVEL=y - disabled by
           default.
      
           (By Kirill A. Shutemov)
      
         - Add 'encrypted memory' support, which is a new hardware feature on
           upcoming AMD CPUs ('Secure Memory Encryption', SME) allowing system
           RAM to be encrypted and decrypted (mostly) transparently by the
           CPU, with a little help from the kernel to transition to/from
           encrypted RAM. Such RAM should be more secure against various
           attacks like RAM access via the memory bus and should make the
           radio signature of memory bus traffic harder to intercept (and
           decrypt) as well.
      
           This feature is activated via CONFIG_AMD_MEM_ENCRYPT=y - disabled
           by default.
      
           (By Tom Lendacky)
      
         - Enable PCID optimized TLB flushing on newer Intel CPUs: PCID is a
           hardware feature that attaches an address space tag to TLB entries
           and thus allows to skip TLB flushing in many cases, even if we
           switch mm's.
      
           (By Andy Lutomirski)
      
        All three of these features were in the works for a long time, and
        it's coincidence of the three independent development paths that they
        are all enabled in v4.14 at once"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (65 commits)
        x86/mm: Enable RCU based page table freeing (CONFIG_HAVE_RCU_TABLE_FREE=y)
        x86/mm: Use pr_cont() in dump_pagetable()
        x86/mm: Fix SME encryption stack ptr handling
        kvm/x86: Avoid clearing the C-bit in rsvd_bits()
        x86/CPU: Align CR3 defines
        x86/mm, mm/hwpoison: Clear PRESENT bit for kernel 1:1 mappings of poison pages
        acpi, x86/mm: Remove encryption mask from ACPI page protection type
        x86/mm, kexec: Fix memory corruption with SME on successive kexecs
        x86/mm/pkeys: Fix typo in Documentation/x86/protection-keys.txt
        x86/mm/dump_pagetables: Speed up page tables dump for CONFIG_KASAN=y
        x86/mm: Implement PCID based optimization: try to preserve old TLB entries using PCID
        x86: Enable 5-level paging support via CONFIG_X86_5LEVEL=y
        x86/mm: Allow userspace have mappings above 47-bit
        x86/mm: Prepare to expose larger address space to userspace
        x86/mpx: Do not allow MPX if we have mappings above 47-bit
        x86/mm: Rename tasksize_32bit/64bit to task_size_32bit/64bit()
        x86/xen: Redefine XEN_ELFNOTE_INIT_P2M using PUD_SIZE * PTRS_PER_PUD
        x86/mm/dump_pagetables: Fix printout of p4d level
        x86/mm/dump_pagetables: Generalize address normalization
        x86/boot: Fix memremap() related build failure
        ...
      b1b6f83a
    • Ben Hutchings's avatar
      alpha: math-emu: Fix modular build · d9e3cb2f
      Ben Hutchings authored
      Commit 00fc0e0d ("alpha: move exports to actual definitions") also
      removed the exports of the math emulator hooks, which are defined in C
      code.  In case anyone cares about the option of CONFIG_MATHEMU=m, add
      exports next to those definitions.  Also add a MODULE_LICENSE.
      
      Fixes: 00fc0e0d ("alpha: move exports to actual definitions")
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      d9e3cb2f