1. 14 Oct, 2016 3 commits
    • Linus Torvalds's avatar
      Merge tag 'nfsd-4.9' of git://linux-nfs.org/~bfields/linux · 27785564
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "Some RDMA work and some good bugfixes, and two new features that could
        benefit from user testing:
      
         - Anna Schumacker contributed a simple NFSv4.2 COPY implementation.
           COPY is already supported on the client side, so a call to
           copy_file_range() on a recent client should now result in a
           server-side copy that doesn't require all the data to make a round
           trip to the client and back.
      
         - Jeff Layton implemented callbacks to notify clients when contended
           locks become available, which should reduce latency on workloads
           with contended locks"
      
      * tag 'nfsd-4.9' of git://linux-nfs.org/~bfields/linux:
        NFSD: Implement the COPY call
        nfsd: handle EUCLEAN
        nfsd: only WARN once on unmapped errors
        exportfs: be careful to only return expected errors.
        nfsd4: setclientid_confirm with unmatched verifier should fail
        nfsd: randomize SETCLIENTID reply to help distinguish servers
        nfsd: set the MAY_NOTIFY_LOCK flag in OPEN replies
        nfs: add a new NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK constant
        nfsd: add a LRU list for blocked locks
        nfsd: have nfsd4_lock use blocking locks for v4.1+ locks
        nfsd: plumb in a CB_NOTIFY_LOCK operation
        NFSD: fix corruption in notifier registration
        svcrdma: support Remote Invalidation
        svcrdma: Server-side support for rpcrdma_connect_private
        rpcrdma: RDMA/CM private message data structure
        svcrdma: Skip put_page() when send_reply() fails
        svcrdma: Tail iovec leaves an orphaned DMA mapping
        nfsd: fix dprintk in nfsd4_encode_getdeviceinfo
        nfsd: eliminate cb_minorversion field
        nfsd: don't set a FL_LAYOUT lease for flexfiles layouts
      27785564
    • Linus Torvalds's avatar
      Merge tag 'xfs-reflink-for-linus-4.9-rc1' of... · 35a891be
      Linus Torvalds authored
      Merge tag 'xfs-reflink-for-linus-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs
      
          < XFS has gained super CoW powers! >
           ----------------------------------
                  \   ^__^
                   \  (oo)\_______
                      (__)\       )\/\
                          ||----w |
                          ||     ||
      
      Pull XFS support for shared data extents from Dave Chinner:
       "This is the second part of the XFS updates for this merge cycle.  This
        pullreq contains the new shared data extents feature for XFS.
      
        Given the complexity and size of this change I am expecting - like the
        addition of reverse mapping last cycle - that there will be some
        follow-up bug fixes and cleanups around the -rc3 stage for issues that
        I'm sure will show up once the code hits a wider userbase.
      
        What it is:
      
        At the most basic level we are simply adding shared data extents to
        XFS - i.e. a single extent on disk can now have multiple owners. To do
        this we have to add new on-disk features to both track the shared
        extents and the number of times they've been shared. This is done by
        the new "refcount" btree that sits in every allocation group. When we
        share or unshare an extent, this tree gets updated.
      
        Along with this new tree, the reverse mapping tree needs to be updated
        to track each owner or a shared extent. This also needs to be updated
        ever share/unshare operation. These interactions at extent allocation
        and freeing time have complex ordering and recovery constraints, so
        there's a significant amount of new intent-based transaction code to
        ensure that operations are performed atomically from both the runtime
        and integrity/crash recovery perspectives.
      
        We also need to break sharing when writes hit a shared extent - this
        is where the new copy-on-write implementation comes in. We allocate
        new storage and copy the original data along with the overwrite data
        into the new location. We only do this for data as we don't share
        metadata at all - each inode has it's own metadata that tracks the
        shared data extents, the extents undergoing CoW and it's own private
        extents.
      
        Of course, being XFS, nothing is simple - we use delayed allocation
        for CoW similar to how we use it for normal writes. ENOSPC is a
        significant issue here - we build on the reservation code added in
        4.8-rc1 with the reverse mapping feature to ensure we don't get
        spurious ENOSPC issues part way through a CoW operation. These
        mechanisms also help minimise fragmentation due to repeated CoW
        operations. To further reduce fragmentation overhead, we've also
        introduced a CoW extent size hint, which indicates how large a region
        we should allocate when we execute a CoW operation.
      
        With all this functionality in place, we can hook up .copy_file_range,
        .clone_file_range and .dedupe_file_range and we gain all the
        capabilities of reflink and other vfs provided functionality that
        enable manipulation to shared extents. We also added a fallocate mode
        that explicitly unshares a range of a file, which we implemented as an
        explicit CoW of all the shared extents in a file.
      
        As such, it's a huge chunk of new functionality with new on-disk
        format features and internal infrastructure. It warns at mount time as
        an experimental feature and that it may eat data (as we do with all
        new on-disk features until they stabilise). We have not released
        userspace suport for it yet - userspace support currently requires
        download from Darrick's xfsprogs repo and build from source, so the
        access to this feature is really developer/tester only at this point.
        Initial userspace support will be released at the same time the kernel
        with this code in it is released.
      
        The new code causes 5-6 new failures with xfstests - these aren't
        serious functional failures but things the output of tests changing
        slightly due to perturbations in layouts, space usage, etc. OTOH,
        we've added 150+ new tests to xfstests that specifically exercise this
        new functionality so it's got far better test coverage than any
        functionality we've previously added to XFS.
      
        Darrick has done a pretty amazing job getting us to this stage, and
        special mention also needs to go to Christoph (review, testing,
        improvements and bug fixes) and Brian (caught several intricate bugs
        during review) for the effort they've also put in.
      
        Summary:
      
         - unshare range (FALLOC_FL_UNSHARE) support for fallocate
      
         - copy-on-write extent size hints (FS_XFLAG_COWEXTSIZE) for fsxattr
           interface
      
         - shared extent support for XFS
      
         - copy-on-write support for shared extents
      
         - copy_file_range support
      
         - clone_file_range support (implements reflink)
      
         - dedupe_file_range support
      
         - defrag support for reverse mapping enabled filesystems"
      
      * tag 'xfs-reflink-for-linus-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (71 commits)
        xfs: convert COW blocks to real blocks before unwritten extent conversion
        xfs: rework refcount cow recovery error handling
        xfs: clear reflink flag if setting realtime flag
        xfs: fix error initialization
        xfs: fix label inaccuracies
        xfs: remove isize check from unshare operation
        xfs: reduce stack usage of _reflink_clear_inode_flag
        xfs: check inode reflink flag before calling reflink functions
        xfs: implement swapext for rmap filesystems
        xfs: refactor swapext code
        xfs: various swapext cleanups
        xfs: recognize the reflink feature bit
        xfs: simulate per-AG reservations being critically low
        xfs: don't mix reflink and DAX mode for now
        xfs: check for invalid inode reflink flags
        xfs: set a default CoW extent size of 32 blocks
        xfs: convert unwritten status of reverse mappings for shared files
        xfs: use interval query for rmap alloc operations on shared files
        xfs: add shared rmap map/unmap/convert log item types
        xfs: increase log reservations for reflink
        ...
      35a891be
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.9-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 40bd3a5f
      Linus Torvalds authored
      PCI changes for the v4.9 merge window:
       "Here are some more changes I'd like to have in v4.9.  There's one
        small Tegra bug fix in the PHY poweroff path, which is only used in
        failure paths.
      
        The rest is all strictly cleanup that should make host bridge drivers
        more readable, but shouldn't actually change any behavior.
      
        Summary:
      
         - use local struct device pointers in many host bridge drivers for
           clarity
      
         - remove unused platform data
      
         - use generic DesignWare accessors
      
         - misc cleanups: remove redundant structure entries and re-order
           structure members to put comon generic fields first etc"
      
      * tag 'pci-v4.9-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (108 commits)
        MAINTAINERS: Add maintainer for the PCIe Marvell Armada 8K driver
        MAINTAINERS: Add DT binding to the Aardvark PCIe driver maintainer
        PCI: rockchip: Indent "if" statement body
        PCI: hisi: Reorder struct hisi_pcie
        PCI: hisi: Pass device-specific struct to internal functions
        PCI: hisi: Include register block base in PCIE_SYS_STATE4 address
        PCI: dra7xx: Reorder struct dra7xx_pcie
        PCI: xilinx-nwl: Remove unused platform data
        PCI: xilinx-nwl: Add local struct device pointers
        PCI: xilinx: Removed unused xilinx_pcie_assign_msi() argument
        PCI: xilinx: Remove unused platform data
        PCI: xilinx: Add local struct device pointers
        PCI: xgene: Add register accessors
        PCI: xgene: Pass struct xgene_pcie_port to setup functions
        PCI: xgene: Remove unused platform data
        PCI: tegra: Remove unused platform data
        PCI: tegra: Add local struct device pointers
        PCI: tegra: Fix argument order in tegra_pcie_phy_disable()
        PCI: rockchip: Remove unused platform data
        PCI: rcar-gen2: Add local struct device pointers
        ...
      40bd3a5f
  2. 13 Oct, 2016 2 commits
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.9-1' of... · 44dc8c9d
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v4.9-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull x86 platform drivers updates from Darren Hart:
       "Cleanups, refactoring, and a couple bug fixes.
      
        intel_pmc_core:
         - avoid boot time warning for !CONFIG_DEBUGFS_FS
      
        intel_pmc_ipc:
         - Convert to use platform_device_register_full
      
        asus-wmi:
         - Filter buggy scan codes on ASUS Q500A
      
        toshiba_bluetooth:
         - Decouple an error checking status code
      
        toshiba_haps:
         - Change logging level from info to debug
         - Split ACPI and HDD protection error handling
      
        asus-laptop:
         - get rid of parse_arg()
      
        asus-wmi:
         - fix asus ux303ub brightness issue
      
        toshiba_acpi:
         - Fix typo in *_cooling_method_set function
         - Change error checking logic from TCI functions
         - Clean up variable declaration"
      
      * tag 'platform-drivers-x86-v4.9-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
        platform/x86: intel_pmc_core: avoid boot time warning for !CONFIG_DEBUGFS_FS
        platform/x86: intel_pmc_ipc: Convert to use platform_device_register_full
        platform/x86: asus-wmi: Filter buggy scan codes on ASUS Q500A
        platform/x86: toshiba_bluetooth: Decouple an error checking status code
        platform/x86: toshiba_haps: Change logging level from info to debug
        platform/x86: toshiba_haps: Split ACPI and HDD protection error handling
        platform/x86: asus-laptop: get rid of parse_arg()
        platform/x86: asus-wmi: fix asus ux303ub brightness issue
        platform/x86: toshiba_acpi: Fix typo in *_cooling_method_set function
        platform/x86: toshiba_acpi: Change error checking logic from TCI functions
        platform/x86: toshiba_acpi: Clean up variable declaration
      44dc8c9d
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · e3799a21
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - a new watchdog pretimeout governor framework
      
       - support to upload the firmware on the ziirave_wdt
      
       - several fixes and cleanups
      
      * git://www.linux-watchdog.org/linux-watchdog: (26 commits)
        watchdog: imx2_wdt: add pretimeout function support
        watchdog: softdog: implement pretimeout support
        watchdog: pretimeout: add pretimeout_available_governors attribute
        watchdog: pretimeout: add option to select a pretimeout governor in runtime
        watchdog: pretimeout: add panic pretimeout governor
        watchdog: pretimeout: add noop pretimeout governor
        watchdog: add watchdog pretimeout governor framework
        watchdog: hpwdt: add support for iLO5
        fs: compat_ioctl: add pretimeout functions for watchdogs
        watchdog: add pretimeout support to the core
        watchdog: imx2_wdt: use preferred BIT macro instead of open coded values
        watchdog: st_wdt: Remove support for obsolete platforms
        watchdog: bindings: Remove obsolete platforms from dt doc.
        watchdog: mt7621_wdt: Remove assignment of dev pointer
        watchdog: rt2880_wdt: Remove assignment of dev pointer
        watchdog: constify watchdog_ops structures
        watchdog: tegra: constify watchdog_ops structures
        watchdog: iTCO_wdt: constify iTCO_wdt_pm structure
        watchdog: cadence_wdt: Fix the suspend resume
        watchdog: txx9wdt: Add missing clock (un)prepare calls for CCF
        ...
      e3799a21
  3. 12 Oct, 2016 35 commits
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-4.9-rc1' of... · b67be92f
      Linus Torvalds authored
      Merge tag 'pwm/for-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "This set of changes contains support for PWM signal capture in the STi
        driver as well as support for the PWM controller found on Meson SoCs.
        There's also support added for the MediaTek MT2701 and SunXi H3 to the
        existing drivers.
      
        Other than that there's a fair set of miscellaneous cleanups and fixes
        across the board"
      
      * tag 'pwm/for-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (24 commits)
        pwm: meson: Handle unknown ID values
        pwm: sti: Take the opportunity to conduct a little house keeping
        pwm: sti: It's now valid for number of PWM channels to be zero
        pwm: sti: Add PWM capture callback
        pwm: sti: Add support for PWM capture interrupts
        pwm: sti: Initialise PWM capture device data
        pwm: sti: Supply PWM Capture clock handling
        pwm: sti: Supply PWM capture register addresses and bit locations
        pwm: sti: Only request clock rate when needed
        pwm: sti: Reorganise register names in preparation for new functionality
        pwm: sti: Rename channel => device
        dt-bindings: pwm: sti: Update DT bindings for capture support
        pwm: lpc-18xx: use pwm_set_chip_data
        pwm: sunxi: Add H3 support
        pwm: Add support for Meson PWM Controller
        dt-bindings: pwm: Add bindings for Meson PWM Controller
        pwm: samsung: Fix to use lowest div for large enough modulation bits
        pwm: pwm-tipwmss: Remove all runtime PM gets/puts
        pwm: cros-ec: Add __packed to prevent padding
        pwm: Add MediaTek MT2701 display PWM driver support
        ...
      b67be92f
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 2d2474a1
      Linus Torvalds authored
      Pull thermal managament updates from Zhang Rui:
      
       - Enhance thermal "userspace" governor to export the reason when a
         thermal event is triggered and delivered to user space. From Srinivas
         Pandruvada
      
       - Introduce a single TSENS thermal driver for the different versions of
         the TSENS IP that exist, on different qcom msm/apq SoCs'. Support for
         msm8916, msm8960, msm8974 and msm8996 families is also added. From
         Rajendra Nayak
      
       - Introduce hardware-tracked trip points support to the device tree
         thermal sensor framework. The framework supports an arbitrary number
         of trip points. Whenever the current temperature is changed, the trip
         points immediately below and above the current temperature are found,
         driver callback is invoked to program the hardware to get notified
         when either of the two trip points are triggered. Hardware-tracked
         trip points support for rockchip thermal driver is also added at the
         same time. From Sascha Hauer, Caesar Wang
      
       - Introduce a new thermal driver, which enables TMU (Thermal Monitor
         Unit) on QorIQ platform. From Jia Hongtao
      
       - Introduce a new thermal driver for Maxim MAX77620. From Laxman
         Dewangan
      
       - Introduce a new thermal driver for Intel platforms using WhiskeyCove
         PMIC. From Bin Gao
      
       - Add mt2701 chip support to MTK thermal driver. From Dawei Chien
      
       - Enhance Tegra thermal driver to enable soctherm node and set
         "critical", "hot" trips, for Tegra124, Tegra132, Tegra210. From Wei
         Ni
      
       - Add resume support for tango thermal driver. From Marc Gonzalez
      
       - several small fixes and improvements for rockchip, qcom, imx, rcar,
         mtk thermal drivers and thermal core code. From Caesar Wang, Keerthy,
         Rocky Hao, Wei Yongjun, Peter Robinson, Bui Duc Phuc, Axel Lin, Hugh
         Kang
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (48 commits)
        thermal: int3403: Process trip change notification
        thermal: int340x: New Interface to read trip and notify
        thermal: user_space gov: Add additional information in uevent
        thermal: Enhance thermal_zone_device_update for events
        arm64: tegra: set hot trips for Tegra210
        arm64: tegra: set critical trips for Tegra210
        arm64: tegra: add soctherm node for Tegra210
        arm64: tegra: set hot trips for Tegra132
        arm64: tegra: set critical trips for Tegra132
        arm64: tegra: use tegra132-soctherm for Tegra132
        arm: tegra: set hot trips for Tegra124
        arm: tegra: set critical trips for Tegra124
        thermal: tegra: add hw-throttle for Tegra132
        thermal: tegra: add hw-throttle function
        of: Add bindings of hw throttle for Tegra soctherm
        thermal: mtk_thermal: Check return value of devm_thermal_zone_of_sensor_register
        thermal: Add Mediatek thermal driver for mt2701.
        dt-bindings: thermal: Add binding document for Mediatek thermal controller
        thermal: max77620: Add thermal driver for reporting junction temp
        thermal: max77620: Add DT binding doc for thermal driver
        ...
      2d2474a1
    • Linus Torvalds's avatar
      Merge tag 'fbdev-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · 084165a3
      Linus Torvalds authored
      Pull fbdev updates from Tomi Valkeinen:
       "Main changes:
      
         - amba-cldc: DT backlight support, Nomadik support, Versatile
           improvements, fixes
      
         - efifb: fix fbcon RGB565 palette
      
         - exynos: remove unused DSI driver"
      
      * tag 'fbdev-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (42 commits)
        video: smscufx: remove unused variable
        matroxfb: fix size of memcpy
        fbdev: ssd1307fb: fix a possible NULL dereference
        fbdev: ssd1307fb: constify the device_info pointer
        simplefb: Disable and release clocks and regulators in destroy callback
        video: fbdev: constify fb_fix_screeninfo and fb_var_screeninfo structures
        matroxfb: constify local structures
        video: fbdev: i810: add in missing white space in error message text
        video: fbdev: add missing \n at end of printk error message
        ARM: exynos_defconfig: Remove old non-working MIPI driver
        video: fbdev: exynos: Remove old non-working MIPI driver
        omapfb: fix return value check in dsi_bind()
        MAINTAINERS: update fbdev entries
        video: fbdev: offb: Call pci_enable_device() before using the PCI VGA device
        fbdev: vfb: simplify memory management
        fbdev: vfb: add option for video mode
        fbdev: vfb: add description to module parameters
        video: fbdev: intelfb: remove impossible condition
        fb: adv7393: off by one in probe function
        video: fbdev: pxafb: add missing of_node_put() in of_get_pxafb_mode_info()
        ...
      084165a3
    • Linus Torvalds's avatar
      Disable the __builtin_return_address() warning globally after all · ef6000b4
      Linus Torvalds authored
      This affectively reverts commit 377ccbb4 ("Makefile: Mute warning
      for __builtin_return_address(>0) for tracing only") because it turns out
      that it really isn't tracing only - it's all over the tree.
      
      We already also had the warning disabled separately for mm/usercopy.c
      (which this commit also removes), and it turns out that we will also
      want to disable it for get_lock_parent_ip(), that is used for at least
      TRACE_IRQFLAGS.  Which (when enabled) ends up being all over the tree.
      
      Steven Rostedt had a patch that tried to limit it to just the config
      options that actually triggered this, but quite frankly, the extra
      complexity and abstraction just isn't worth it.  We have never actually
      had a case where the warning is actually useful, so let's just disable
      it globally and not worry about it.
      Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ef6000b4
    • Bjorn Helgaas's avatar
      Merge branches 'pci/host-armada', 'pci/host-artpec', 'pci/host-dra7xx',... · 217c6d21
      Bjorn Helgaas authored
      Merge branches 'pci/host-armada', 'pci/host-artpec', 'pci/host-dra7xx', 'pci/host-exynos', 'pci/host-hisi', 'pci/host-imx6', 'pci/host-keystone', 'pci/host-layerscape', 'pci/host-qcom' and 'pci/host-spear' into next
      
      * pci/host-armada:
        MAINTAINERS: Add maintainer for the PCIe Marvell Armada 8K driver
        PCI: armada: Reorder struct armada8k_pcie
        PCI: armada: Pass device-specific struct to internal functions
        PCI: armada: Use generic DesignWare accessors
        PCI: armada: Remove redundant struct armada8k_pcie.base
        PCI: armada: Add local base pointer
        PCI: armada: Remove unused platform data
      
      * pci/host-artpec:
        PCI: artpec6: Add resource name comments
        PCI: artpec6: Pass device-specific struct to internal functions
        PCI: artpec6: Remove unnecessary artpec6_pcie_link_up()
        PCI: artpec6: Use generic DesignWare accessors
        PCI: artpec6: Add register accessors
        PCI: artpec6: Remove unused platform data
        PCI: artpec6: Add local struct device pointers
      
      * pci/host-dra7xx:
        PCI: dra7xx: Reorder struct dra7xx_pcie
        PCI: dra7xx: Move struct pcie_port setup to probe function
        PCI: dra7xx: Pass device-specific struct to internal functions
        PCI: dra7xx: Use generic DesignWare accessors
        PCI: dra7xx: Set drvdata at end of probe function
        PCI: dra7xx: Remove redundant struct device pointer from dra7xx_pcie
        PCI: dra7xx: Add local struct device pointers
      
      * pci/host-exynos:
        PCI: exynos: Reorder struct exynos_pcie
        PCI: exynos: Pass device-specific struct to internal functions
        PCI: exynos: Name private struct pointer "exynos_pcie" consistently
        PCI: exynos: Uninline register accessors
        PCI: exynos: Add local struct device pointers
      
      * pci/host-hisi:
        PCI: hisi: Reorder struct hisi_pcie
        PCI: hisi: Pass device-specific struct to internal functions
        PCI: hisi: Include register block base in PCIE_SYS_STATE4 address
        PCI: hisi: Use generic DesignWare accessors
        PCI: hisi: Remove redundant struct hisi_pcie.reg_base
        PCI: hisi: Name private struct pointer "hisi_pcie" consistently
        PCI: hisi: Remove unused platform data
        PCI: hisi: Add local struct device pointers
      
      * pci/host-imx6:
        PCI: imx6: Remove unused return values
        PCI: imx6: Reorder struct imx6_pcie
        PCI: imx6: Use generic DesignWare accessors
        PCI: imx6: Pass device-specific struct to internal functions
        PCI: imx6: Pass struct imx6_pcie to PHY accessors
        PCI: imx6: Removed unused struct imx6_pcie.mem_base
        PCI: imx6: Remove redundant of_node pointer
        PCI: imx6: Add local struct device pointers
      
      * pci/host-keystone:
        PCI: keystone: Reorder struct keystone_pcie
        PCI: keystone: Add app register accessors
        PCI: keystone: Pass keystone_pcie, not va_app_base, to DBI functions
        PCI: keystone: Pass keystone_pcie, not address, to IRQ functions
        PCI: keystone: Use generic DesignWare accessors
        PCI: keystone: Add local struct device pointers
      
      * pci/host-layerscape:
        PCI: layerscape: Reorder struct ls_pcie
        PCI: layerscape: Remove unused ls_add_pcie_port() platform_device arg
        PCI: layerscape: Move struct pcie_port setup to probe function
        PCI: layerscape: Pass device-specific struct to internal functions
        PCI: layerscape: Remove redundant struct ls_pcie.dbi
        PCI: layerscape: Remove unused platform data
        PCI: layerscape: Add local struct device pointers
      
      * pci/host-qcom:
        PCI: qcom: Reorder struct qcom_pcie
        PCI: qcom: Remove redundant struct qcom_pcie.dev
        PCI: qcom: Remove redundant struct qcom_pcie.dbi
        PCI: qcom: Remove unused platform data
      
      * pci/host-spear:
        PCI: spear: Clean up struct device usage
        PCI: spear: Reorder struct spear13xx_pcie
        PCI: spear: Pass device-specific struct to internal functions
        PCI: spear: Remove unused constants
      217c6d21
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-designware' into next · 22c7e1d4
      Bjorn Helgaas authored
      * pci/host-designware:
        PCI: designware-plat: Remove unused platform data
        PCI: designware-plat: Add local struct device pointers
        PCI: designware-plat: Remove redundant dw_plat_pcie.mem_base
        PCI: designware: Swap order of dw_pcie_writel_unroll() reg/val arguments
        PCI: designware: Uninline register accessors
        PCI: designware: Export dw_pcie_readl_rc(), dw_pcie_writel_rc()
        PCI: designware: Swap order of dw_pcie_writel_rc() reg/val arguments
        PCI: designware: Simplify pcie_host_ops.readl_rc() and .writel_rc() interfaces
        PCI: designware: Simplify dw_pcie_readl_unroll(), dw_pcie_writel_unroll()
        PCI: designware: Rename dw_pcie_valid_config() to dw_pcie_valid_device()
      22c7e1d4
    • Bjorn Helgaas's avatar
      Merge branches 'pci/host-aardvark', 'pci/host-altera', 'pci/host-iproc',... · dd5bba52
      Bjorn Helgaas authored
      Merge branches 'pci/host-aardvark', 'pci/host-altera', 'pci/host-iproc', 'pci/host-mvebu', 'pci/host-rcar', 'pci/host-rockchip', 'pci/host-tegra', 'pci/host-xgene' and 'pci/host-xilinx' into next
      
      * pci/host-aardvark:
        MAINTAINERS: Add DT binding to the Aardvark PCIe driver maintainer
        PCI: aardvark: Remove unused platform data
        PCI: aardvark: Add local struct device pointers
      
      * pci/host-altera:
        PCI: altera: Simplify TLP_CFG_DW1 usage
        PCI: altera: Simplify TLB_CFG_DW0 usage
        PCI: altera: Rename altera_pcie_valid_config() to altera_pcie_valid_device()
        PCI: altera: Remove redundant platform_get_resource() return value check
        PCI: altera: Remove unused platform data
        PCI: altera: Add local struct device pointers
      
      * pci/host-iproc:
        PCI: iproc: Hard-code PCIe capability offset instead of searching
        PCI: iproc: Remove redundant null pointer checking
        PCI: iproc: Validate CSR base in BCMA setup code
        PCI: iproc: Set drvdata at end of probe function
        PCI: iproc: Add local struct device pointers
      
      * pci/host-mvebu:
        PCI: mvebu: Use existing of_node pointer
        PCI: mvebu: Add local struct device pointers
      
      * pci/host-rcar:
        PCI: rcar-gen2: Add local struct device pointers
        PCI: rcar: Remove DRV_NAME macro
        PCI: rcar: Remove unused rcar_pcie_get_resources() platform_device arg
        PCI: rcar: Remove unused platform data
        PCI: rcar: Add local struct device pointers
      
      * pci/host-rockchip:
        PCI: rockchip: Indent "if" statement body
        PCI: rockchip: Remove unused platform data
      
      * pci/host-tegra:
        PCI: tegra: Remove unused platform data
        PCI: tegra: Add local struct device pointers
        PCI: tegra: Fix argument order in tegra_pcie_phy_disable()
      
      * pci/host-xgene:
        PCI: xgene: Add register accessors
        PCI: xgene: Pass struct xgene_pcie_port to setup functions
        PCI: xgene: Remove unused platform data
        PCI: xgene: Add local struct device pointers
      
      * pci/host-xilinx:
        PCI: xilinx-nwl: Remove unused platform data
        PCI: xilinx-nwl: Add local struct device pointers
        PCI: xilinx: Removed unused xilinx_pcie_assign_msi() argument
        PCI: xilinx: Remove unused platform data
        PCI: xilinx: Add local struct device pointers
      dd5bba52
    • Thomas Petazzoni's avatar
    • Thomas Petazzoni's avatar
    • Dan Carpenter's avatar
      PCI: rockchip: Indent "if" statement body · 08015ee0
      Dan Carpenter authored
      Body of an "if" statement wasn't indented.  Add a tab.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      08015ee0
    • Arnd Bergmann's avatar
      platform/x86: intel_pmc_core: avoid boot time warning for !CONFIG_DEBUGFS_FS · 127595ed
      Arnd Bergmann authored
      While looking at a patch that introduced a compile-time warning
      "‘pmc_core_dev_state_get’ defined but not used" (I sent a patch
      for debugfs to fix it), I noticed that the same patch caused
      it in intel_pmc_core also introduced a bogus run-time warning:
      "PMC Core: debugfs register failed".
      
      The problem is the IS_ERR_OR_NULL() check that as usual gets
      things wrong: when CONFIG_DEBUGFS_FS is disabled,
      debugfs_create_dir() fails with an error code, and we don't
      need to warn about it, unlike the case in which it returns
      NULL.
      
      This reverts the driver to the previous state of not warning
      about CONFIG_DEBUGFS_FS being disabled. I chose not to
      restore the driver to making a runtime error in debugfs
      fatal in pmc_core_probe().
      
      Fixes: df2294fb ("intel_pmc_core: Convert to DEFINE_DEBUGFS_ATTRIBUTE")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
      127595ed
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 1573d2ca
      Linus Torvalds authored
      Pull parisc fixes from Helge Deller:
       "Some final updates and fixes for this merge window for the parisc
        architecture. Changes include:
      
         - Fix boot problems with new memblock allocator on rp3410 machine
      
         - Increase initial kernel mapping size for 32- and 64-bit kernels,
           this allows to boot bigger kernels which have many modules built-in
      
         - Fix kernel layout regarding __gp and move exception table into RO
           section
      
         - Show trap names in crashes, use extable.h header instead of
           module.h"
      
      * 'parisc-4.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Show trap name in kernel crash
        parisc: Zero-initialize newly alloced memblock
        parisc: Move exception table into read-only section
        parisc: Fix kernel memory layout regarding position of __gp
        parisc: Increase initial kernel mapping size
        parisc: Migrate exception table users off module.h and onto extable.h
      1573d2ca
    • Linus Torvalds's avatar
      Merge branch 'work.uaccess2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 4cdf8dbe
      Linus Torvalds authored
      Pull uaccess.h prepwork from Al Viro:
       "Preparations to tree-wide switch to use of linux/uaccess.h (which,
        obviously, will allow to start unifying stuff for real). The last step
        there, ie
      
          PATT='^[[:blank:]]*#[[:blank:]]*include[[:blank:]]*<asm/uaccess.h>'
          sed -i -e "s!$PATT!#include <linux/uaccess.h>!" \
                  `git grep -l "$PATT"|grep -v ^include/linux/uaccess.h`
      
        is not taken here - I would prefer to do it once just before or just
        after -rc1.  However, everything should be ready for it"
      
      * 'work.uaccess2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        remove a stray reference to asm/uaccess.h in docs
        sparc64: separate extable_64.h, switch elf_64.h to it
        score: separate extable.h, switch module.h to it
        mips: separate extable.h, switch module.h to it
        x86: separate extable.h, switch sections.h to it
        remove stray include of asm/uaccess.h from cacheflush.h
        mn10300: remove a bogus processor.h->uaccess.h include
        xtensa: split uaccess.h into C and asm sides
        bonding: quit messing with IOCTL
        kill __kernel_ds_p off
        mn10300: finish verify_area() off
        frv: move HAVE_ARCH_UNMAPPED_AREA to pgtable.h
        exceptions: detritus removal
      4cdf8dbe
    • Bjorn Helgaas's avatar
      PCI: hisi: Reorder struct hisi_pcie · f84cfdf7
      Bjorn Helgaas authored
      Reorder struct hisi_pcie to put generic fields first.  No functional change
      intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      f84cfdf7
    • Bjorn Helgaas's avatar
      PCI: hisi: Pass device-specific struct to internal functions · e9480b5a
      Bjorn Helgaas authored
      Only interfaces used from outside the driver, e.g., those called by the
      DesignWare core, need to accept pointers to the generic struct pcie_port.
      Internal interfaces can accept pointers to the device-specific struct,
      which makes them more straightforward.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      e9480b5a
    • Bjorn Helgaas's avatar
      PCI: hisi: Include register block base in PCIE_SYS_STATE4 address · a458ce33
      Bjorn Helgaas authored
      Include the PCIE_HIP06_CTRL_OFF block base in the PCIE_SYS_STATE4 register
      address so reads of PCIE_SYS_STATE4 don't have to mention both.  No
      functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      a458ce33
    • Bjorn Helgaas's avatar
      PCI: dra7xx: Reorder struct dra7xx_pcie · 8e5ec414
      Bjorn Helgaas authored
      Reorder struct dra7xx_pcie to put generic fields first.  No functional
      change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      8e5ec414
    • Bjorn Helgaas's avatar
      PCI: xilinx-nwl: Remove unused platform data · 228ee66c
      Bjorn Helgaas authored
      The xilinx-nwl driver never uses the platform drvdata pointer, so don't
      bother setting it.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      228ee66c
    • Bjorn Helgaas's avatar
      PCI: xilinx-nwl: Add local struct device pointers · adf9e284
      Bjorn Helgaas authored
      Use a local "struct device *dev" for brevity and consistency with other
      drivers.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      adf9e284
    • Bjorn Helgaas's avatar
      PCI: xilinx: Removed unused xilinx_pcie_assign_msi() argument · e59e5ff9
      Bjorn Helgaas authored
      xilinx_pcie_assign_msi() doesn't use the struct xilinx_pcie_port pointer
      passed to it, so remove the argument completely.  No functional change
      intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      e59e5ff9
    • Bjorn Helgaas's avatar
      PCI: xilinx: Remove unused platform data · 6a6c2e8a
      Bjorn Helgaas authored
      The xilinx driver never uses the platform drvdata pointer, so don't
      bother setting it.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      6a6c2e8a
    • Bjorn Helgaas's avatar
      PCI: xilinx: Add local struct device pointers · 5d07188e
      Bjorn Helgaas authored
      Use a local "struct device *dev" for brevity and consistency with other
      drivers.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      5d07188e
    • Bjorn Helgaas's avatar
      PCI: xgene: Add register accessors · 8e93c513
      Bjorn Helgaas authored
      Add device-specific register accessors for consistency across host drivers.
      No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      8e93c513
    • Bjorn Helgaas's avatar
      PCI: xgene: Pass struct xgene_pcie_port to setup functions · 4ecf6b0f
      Bjorn Helgaas authored
      Pass the struct xgene_pcie_port pointer, not addresses, to setup functions.
      This enables future simplifications.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      4ecf6b0f
    • Bjorn Helgaas's avatar
      PCI: xgene: Remove unused platform data · c6fe9eba
      Bjorn Helgaas authored
      The xgene driver never uses the platform drvdata pointer, so don't
      bother setting it.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      c6fe9eba
    • Bjorn Helgaas's avatar
      PCI: tegra: Remove unused platform data · 16cbff14
      Bjorn Helgaas authored
      The tegra driver never uses the platform drvdata pointer, so don't
      bother setting it.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      16cbff14
    • Bjorn Helgaas's avatar
      PCI: tegra: Add local struct device pointers · a581fa99
      Bjorn Helgaas authored
      Use a local "struct device *dev" for brevity and consistency with other
      drivers.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      a581fa99
    • Bjorn Helgaas's avatar
      PCI: tegra: Fix argument order in tegra_pcie_phy_disable() · 8dd99bca
      Bjorn Helgaas authored
      The tegra_pcie_phy_disable() path called pads_writel() with arguments in
      the wrong order.  Swap them to be the "value, offset" order expected by
      pads_writel().
      
      Fixes: 6fe7c187 ("PCI: tegra: Support per-lane PHYs")
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      CC: stable@vger.kernel.org	# v4.7+
      8dd99bca
    • Bjorn Helgaas's avatar
      PCI: rockchip: Remove unused platform data · 9d274755
      Bjorn Helgaas authored
      The rockchip driver never uses the platform drvdata pointer, so don't
      bother setting it.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarShawn Lin <shawn.lin@rock-chips.com>
      9d274755
    • Bjorn Helgaas's avatar
      PCI: rcar-gen2: Add local struct device pointers · de9e6bc8
      Bjorn Helgaas authored
      Use a local "struct device *dev" for brevity and consistency with other
      drivers.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      de9e6bc8
    • Bjorn Helgaas's avatar
      PCI: rcar: Remove DRV_NAME macro · 3ff8e4ac
      Bjorn Helgaas authored
      The DRV_NAME macro is only used once, so there's no real advantage to
      having the macro at all.  Remove it and use the "rcar-pcie" name directly
      in the struct platform_driver.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      3ff8e4ac
    • Bjorn Helgaas's avatar
      PCI: rcar: Remove unused rcar_pcie_get_resources() platform_device arg · d0206f21
      Bjorn Helgaas authored
      rcar_pcie_get_resources() doesn't use the platform_device pointer passed to
      it, so remove it.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      d0206f21
    • Bjorn Helgaas's avatar
      PCI: rcar: Remove unused platform data · d9c64c50
      Bjorn Helgaas authored
      The rcar driver never uses the platform drvdata pointer, so don't bother
      setting it.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      d9c64c50
    • Bjorn Helgaas's avatar
      PCI: qcom: Reorder struct qcom_pcie · ee053694
      Bjorn Helgaas authored
      Reorder struct qcom_pcie to put generic fields first.  No functional change
      intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      ee053694
    • Bjorn Helgaas's avatar
      PCI: qcom: Remove redundant struct qcom_pcie.dev · e6a087ee
      Bjorn Helgaas authored
      Remove the struct qcom_pcie.dev member, which is a duplicate of the generic
      pp.dev member.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      e6a087ee