15 Mar, 2019

1 commit

  • Pull dmaengine updates from Vinod Koul:

    - dmatest updates for modularizing common struct and code

    - remove SG support for VDMA xilinx IP and updates to driver

    - Update to dw driver to support Intel iDMA controllers multi-block
    support

    - tegra updates for proper reporting of residue

    - Add Snow Ridge ioatdma device id and support for IOATDMA v3.4

    - struct_size() usage and useless LIST_HEAD cleanups in subsystem.

    - qDMA controller driver for Layerscape SoCs

    - stm32-dma PM Runtime support

    - And usual updates to imx-sdma, sprd, Documentation, fsl-edma,
    bcm2835, qcom_hidma etc

    * tag 'dmaengine-5.1-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (81 commits)
    dmaengine: imx-sdma: fix consistent dma test failures
    dmaengine: imx-sdma: add a test for imx8mq multi sdma devices
    dmaengine: imx-sdma: add clock ratio 1:1 check
    dmaengine: dmatest: move test data alloc & free into functions
    dmaengine: dmatest: add short-hand `buf_size` var in dmatest_func()
    dmaengine: dmatest: wrap src & dst data into a struct
    dmaengine: ioatdma: support latency tolerance report (LTR) for v3.4
    dmaengine: ioatdma: add descriptor pre-fetch support for v3.4
    dmaengine: ioatdma: disable DCA enabling on IOATDMA v3.4
    dmaengine: ioatdma: Add Snow Ridge ioatdma device id
    dmaengine: sprd: Change channel id to slave id for DMA cell specifier
    dt-bindings: dmaengine: sprd: Change channel id to slave id for DMA cell specifier
    dmaengine: mv_xor: Use correct device for DMA API
    Documentation :dmaengine: clarify DMA desc. pointer after submission
    Documentation: dmaengine: fix dmatest.rst warning
    dmaengine: k3dma: Add support for dma-channel-mask
    dmaengine: k3dma: Delete axi_config
    dmaengine: k3dma: Upgrade k3dma driver to support hisi_asp_dma hardware
    Documentation: bindings: dma: Add binding for dma-channel-mask
    Documentation: bindings: k3dma: Extend the k3dma driver binding to support hisi-asp
    ...

    Linus Torvalds
     

12 Mar, 2019

1 commit

  • Pull pin control updates from Linus Walleij:
    "This is a calm cycle, not much happened this time around: not even
    much incremental development. Some three new drivers, that is all.

    No core changes.

    New drivers:

    - NXP (ex Freescale) i.MX 8QM driver.

    - NXP (ex Freescale) i.MX 8MM driver.

    - AT91 SAM9X60 subdriver.

    Improvements:

    - Support for external interrups (EINT) on Mediatek virtual GPIOs.

    - Make BCM2835 pin config fully generic.

    - Lots of Renesas SH-PFC incremental improvements"

    * tag 'pinctrl-v5.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (70 commits)
    pinctrl: imx: fix scu link errors
    dt-bindings: pinctrl: Document the i.MX50 IOMUXC binding
    pinctrl: qcom: spmi-gpio: Reorder debug print
    pinctrl: nomadik: fix possible object reference leak
    pinctrl: stm32: return error upon hwspinlock failure
    pinctrl: stm32: fix memory leak issue
    pinctrl: sh-pfc: r8a77965: Add DRIF pins, groups and functions
    pinctrl: sh-pfc: r8a77965: Add TMU pins, groups and functions
    pinctrl: sh-pfc: Validate fixed-size field widths at build time
    pinctrl: sh-pfc: sh73a0: Fix fsic_spdif pin groups
    pinctrl: sh-pfc: r8a7792: Fix vin1_data18_b pin group
    pinctrl: sh-pfc: r8a7791: Fix scifb2_data_c pin group
    pinctrl: sh-pfc: emev2: Add missing pinmux functions
    pinctrl: sunxi: Support I/O bias voltage setting on A80
    pinctrl: ingenic: Add LCD pins for the JZ4725B SoC
    pinctrl: samsung: Remove legacy API for handling external wakeup interrupts mask
    pinctrl: bcm2835: Direct GPIO config changes to generic pinctrl
    pinctrl: bcm2835: declare pin config as generic
    pinctrl: qcom: qcs404: Drop unused UFS_RESET macro
    dt-bindings: add documentation for slew rate
    ...

    Linus Torvalds
     

10 Mar, 2019

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "A fairly routine cycle for docs - lots of typo fixes, some new
    documents, and more translations. There's also some LICENSES
    adjustments from Thomas"

    * tag 'docs-5.1' of git://git.lwn.net/linux: (74 commits)
    docs: Bring some order to filesystem documentation
    Documentation/locking/lockdep: Drop last two chars of sample states
    doc: rcu: Suspicious RCU usage is a warning
    docs: driver-api: iio: fix errors in documentation
    Documentation/process/howto: Update for 4.x -> 5.x versioning
    docs: Explicitly state that the 'Fixes:' tag shouldn't split lines
    doc: security: Add kern-doc for lsm_hooks.h
    doc: sctp: Merge and clean up rst files
    Docs: Correct /proc/stat path
    scripts/spdxcheck.py: fix C++ comment style detection
    doc: fix typos in license-rules.rst
    Documentation: fix admin-guide/README.rst minimum gcc version requirement
    doc: process: complete removal of info about -git patches
    doc: translations: sync translations 'remove info about -git patches'
    perf-security: wrap paragraphs on 72 columns
    perf-security: elaborate on perf_events/Perf privileged users
    perf-security: document collected perf_events/Perf data categories
    perf-security: document perf_events/Perf resource control
    sysfs.txt: add note on available attribute macros
    docs: kernel-doc: typo "if ... if" -> "if ... is"
    ...

    Linus Torvalds
     

09 Mar, 2019

1 commit

  • Pull GPIO updates from Linus Walleij:
    "This is the bulk of GPIO changes for the v5.1 cycle:

    Core changes:

    - The big change this time around is the irqchip handling in the
    qualcomm pin controllers, closely coupled with the gpiochip. This
    rework, in a classic fall-between-the-chairs fashion has been
    sidestepped for too long.

    The Qualcomm IRQchips using the SPMI and SSBI transport mechanisms
    have been rewritten to use hierarchical irqchip. This creates the
    base from which I intend to gradually pull support for hierarchical
    irqchips into the gpiolib irqchip helpers to cut down on duplicate
    code.

    We have too many hacks in the kernel because people have been
    working around the missing hierarchical irqchip for years, and once
    it was there, noone understood it for a while. We are now slowly
    adapting to using it.

    This is why this pull requests include changes to MFD, SPMI,
    IRQchip core and some ARM Device Trees pertaining to the Qualcomm
    chip family. Since Qualcomm have so many chips and such large
    deployments it is paramount that this platform gets this right, and
    now it (hopefully) does.

    - Core support for pull-up and pull-down configuration, also from the
    device tree. When a simple GPIO chip supports an "off or on" pull-up
    or pull-down resistor, we provide a way to set this up using
    machine descriptors or device tree.

    If more elaborate control of pull up/down (such as resistance shunt
    setting) is required, drivers should be phased over to use pin
    control. We do not yet provide a userspace ABI for this pull
    up-down setting but I suspect the makers are going to ask for it
    soon enough. PCA953x is the first user of this new API.

    - The GPIO mockup driver has been revamped after some discussion
    improving the IRQ simulator in the process.

    The idea is to make it possible to use the mockup for both testing
    and virtual prototyping, e.g. when you do not yet have a GPIO
    expander to play with but really want to get something to develop
    code around before hardware is available. It's neat. The blackbox
    testing usecase is currently making its way into kernelci.

    - ACPI GPIO core preserves non direction flags when updating flags.

    - A new device core helper for devm_platform_ioremap_resource() is
    funneled through the GPIO tree with Greg's ACK.

    New drivers:

    - TQ-Systems QTMX86 GPIO controllers (using port-mapped I/O)

    - Gateworks PLD GPIO driver (vaccumed up from OpenWrt)

    - AMD G-Series PCH (Platform Controller Hub) GPIO driver.

    - Fintek F81804 & F81966 subvariants.

    - PCA953x now supports NXP PCAL6416.

    Driver improvements:

    - IRQ support on the Nintendo Wii (Hollywood) GPIO.

    - get_direction() support for the MVEBU driver.

    - Set the right output level on SAMA5D2.

    - Drop the unused irq trigger setting on the Spreadtrum driver.

    - Wakeup support for PCA953x.

    - A slew of cleanups in the various Intel drivers"

    * tag 'gpio-v5.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (110 commits)
    gpio: gpio-omap: fix level interrupt idling
    gpio: amd-fch: Set proper output level for direction_output
    x86: apuv2: remove unused variable
    gpio: pca953x: Use PCA_LATCH_INT
    platform/x86: fix PCENGINES_APU2 Kconfig warning
    gpio: pca953x: Fix dereference of irq data in shutdown
    gpio: amd-fch: Fix type error found by sparse
    gpio: amd-fch: Drop const from resource
    gpio: mxc: add check to return defer probe if clock tree NOT ready
    gpio: ftgpio: Register per-instance irqchip
    gpio: ixp4xx: Add DT bindings
    x86: pcengines apuv2 gpio/leds/keys platform driver
    gpio: AMD G-Series PCH gpio driver
    drivers: depend on HAS_IOMEM for devm_platform_ioremap_resource()
    gpio: tqmx86: Set proper output level for direction_output
    gpio: sprd: Change to use SoC compatible string
    gpio: sprd: Use SoC compatible string instead of wildcard string
    gpio: of: Handle both enable-gpio{,s}
    gpio: of: Restrict enable-gpio quirk to regulator-gpio
    gpio: davinci: use devm_platform_ioremap_resource()
    ...

    Linus Torvalds
     

07 Mar, 2019

3 commits

  • Pull driver core updates from Greg KH:
    "Here is the big driver core patchset for 5.1-rc1

    More patches than "normal" here this merge window, due to some work in
    the driver core by Alexander Duyck to rework the async probe
    functionality to work better for a number of devices, and independant
    work from Rafael for the device link functionality to make it work
    "correctly".

    Also in here is:

    - lots of BUS_ATTR() removals, the macro is about to go away

    - firmware test fixups

    - ihex fixups and simplification

    - component additions (also includes i915 patches)

    - lots of minor coding style fixups and cleanups.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'driver-core-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (65 commits)
    driver core: platform: remove misleading err_alloc label
    platform: set of_node in platform_device_register_full()
    firmware: hardcode the debug message for -ENOENT
    driver core: Add missing description of new struct device_link field
    driver core: Fix PM-runtime for links added during consumer probe
    drivers/component: kerneldoc polish
    async: Add cmdline option to specify drivers to be async probed
    driver core: Fix possible supplier PM-usage counter imbalance
    PM-runtime: Fix __pm_runtime_set_status() race with runtime resume
    driver: platform: Support parsing GpioInt 0 in platform_get_irq()
    selftests: firmware: fix verify_reqs() return value
    Revert "selftests: firmware: remove use of non-standard diff -Z option"
    Revert "selftests: firmware: add CONFIG_FW_LOADER_USER_HELPER_FALLBACK to config"
    device: Fix comment for driver_data in struct device
    kernfs: Allocating memory for kernfs_iattrs with kmem_cache.
    sysfs: remove unused include of kernfs-internal.h
    driver core: Postpone DMA tear-down until after devres release
    driver core: Document limitation related to DL_FLAG_RPM_ACTIVE
    PM-runtime: Take suppliers into account in __pm_runtime_set_status()
    device.h: Add __cold to dev_ logging functions
    ...

    Linus Torvalds
     
  • Pull char/misc driver updates from Greg KH:
    "Here is the big char/misc driver patch pull request for 5.1-rc1.

    The largest thing by far is the new habanalabs driver for their AI
    accelerator chip. For now it is in the drivers/misc directory but will
    probably move to a new directory soon along with other drivers of this
    type.

    Other than that, just the usual set of individual driver updates and
    fixes. There's an "odd" merge in here from the DRM tree that they
    asked me to do as the MEI driver is starting to interact with the i915
    driver, and it needed some coordination. All of those patches have
    been properly acked by the relevant subsystem maintainers.

    All of these have been in linux-next with no reported issues, most for
    quite some time"

    * tag 'char-misc-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (219 commits)
    habanalabs: adjust Kconfig to fix build errors
    habanalabs: use %px instead of %p in error print
    habanalabs: use do_div for 64-bit divisions
    intel_th: gth: Fix an off-by-one in output unassigning
    habanalabs: fix little-endiancpu conversion warnings
    habanalabs: use NULL to initialize array of pointers
    habanalabs: fix little-endiancpu conversion warnings
    habanalabs: soft-reset device if context-switch fails
    habanalabs: print pointer using %p
    habanalabs: fix memory leak with CBs with unaligned size
    habanalabs: return correct error code on MMU mapping failure
    habanalabs: add comments in uapi/misc/habanalabs.h
    habanalabs: extend QMAN0 job timeout
    habanalabs: set DMA0 completion to SOB 1007
    habanalabs: fix validation of WREG32 to DMA completion
    habanalabs: fix mmu cache registers init
    habanalabs: disable CPU access on timeouts
    habanalabs: add MMU DRAM default page mapping
    habanalabs: Dissociate RAZWI info from event types
    misc/habanalabs: adjust Kconfig to fix build errors
    ...

    Linus Torvalds
     
  • Pull power management updates from Rafael Wysocki:
    "These are PM-runtime framework changes to use ktime instead of jiffies
    for accounting, new PM core flag to mark devices that don't need any
    form of power management, cpuidle updates including driver API
    documentation and a new governor, cpufreq updates including a new
    driver for Armada 8K, thermal cleanups and more, some energy-aware
    scheduling (EAS) enabling changes, new chips support in the intel_idle
    and RAPL drivers and assorted cleanups in some other places.

    Specifics:

    - Update the PM-runtime framework to use ktime instead of jiffies for
    accounting (Thara Gopinath, Vincent Guittot)

    - Optimize the autosuspend code in the PM-runtime framework somewhat
    (Ladislav Michl)

    - Add a PM core flag to mark devices that don't need any form of
    power management (Sudeep Holla)

    - Introduce driver API documentation for cpuidle and add a new
    cpuidle governor for tickless systems (Rafael Wysocki)

    - Add Jacobsville support to the intel_idle driver (Zhang Rui)

    - Clean up a cpuidle core header file and the cpuidle-dt and ACPI
    processor-idle drivers (Yangtao Li, Joseph Lo, Yazen Ghannam)

    - Add new cpufreq driver for Armada 8K (Gregory Clement)

    - Fix and clean up cpufreq core (Rafael Wysocki, Viresh Kumar, Amit
    Kucheria)

    - Add support for light-weight tear-down and bring-up of CPUs to the
    cpufreq core and use it in the cpufreq-dt driver (Viresh Kumar)

    - Fix cpu_cooling Kconfig dependencies, add support for CPU cooling
    auto-registration to the cpufreq core and use it in multiple
    cpufreq drivers (Amit Kucheria)

    - Fix some minor issues and do some cleanups in the davinci,
    e_powersaver, ap806, s5pv210, qcom and kryo cpufreq drivers
    (Bartosz Golaszewski, Gustavo Silva, Julia Lawall, Paweł Chmiel,
    Taniya Das, Viresh Kumar)

    - Add a Hisilicon CPPC quirk to the cppc_cpufreq driver (Xiongfeng
    Wang)

    - Clean up the intel_pstate and acpi-cpufreq drivers (Erwan Velu,
    Rafael Wysocki)

    - Clean up multiple cpufreq drivers (Yangtao Li)

    - Update cpufreq-related MAINTAINERS entries (Baruch Siach, Lukas
    Bulwahn)

    - Add support for exposing the Energy Model via debugfs and make
    multiple cpufreq drivers register an Energy Model to support
    energy-aware scheduling (Quentin Perret, Dietmar Eggemann, Matthias
    Kaehlcke)

    - Add Ice Lake mobile and Jacobsville support to the Intel RAPL
    power-capping driver (Gayatri Kammela, Zhang Rui)

    - Add a power estimation helper to the operating performance points
    (OPP) framework and clean up a core function in it (Quentin Perret,
    Viresh Kumar)

    - Make minor improvements in the generic power domains (genpd), OPP
    and system suspend frameworks and in the PM core (Aditya Pakki,
    Douglas Anderson, Greg Kroah-Hartman, Rafael Wysocki, Yangtao Li)"

    * tag 'pm-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (80 commits)
    cpufreq: kryo: Release OPP tables on module removal
    cpufreq: ap806: add missing of_node_put after of_device_is_available
    cpufreq: acpi-cpufreq: Report if CPU doesn't support boost technologies
    cpufreq: Pass updated policy to driver ->setpolicy() callback
    cpufreq: Fix two debug messages in cpufreq_set_policy()
    cpufreq: Reorder and simplify cpufreq_update_policy()
    cpufreq: Add kerneldoc comments for two core functions
    PM / core: Add support to skip power management in device/driver model
    cpufreq: intel_pstate: Rework iowait boosting to be less aggressive
    cpufreq: intel_pstate: Eliminate intel_pstate_get_base_pstate()
    cpufreq: intel_pstate: Avoid redundant initialization of local vars
    powercap/intel_rapl: add Ice Lake mobile
    ACPI / processor: Set P_LVL{2,3} idle state descriptions
    cpufreq / cppc: Work around for Hisilicon CPPC cpufreq
    ACPI / CPPC: Add a helper to get desired performance
    cpufreq: davinci: move configuration to include/linux/platform_data
    cpufreq: speedstep: convert BUG() to BUG_ON()
    cpufreq: powernv: fix missing check of return value in init_powernv_pstates()
    cpufreq: longhaul: remove unneeded semicolon
    cpufreq: pcc-cpufreq: remove unneeded semicolon
    ..

    Linus Torvalds
     

05 Mar, 2019

1 commit


20 Feb, 2019

1 commit


18 Feb, 2019

1 commit


14 Feb, 2019

1 commit


12 Feb, 2019

1 commit


11 Feb, 2019

4 commits


08 Feb, 2019

2 commits

  • While typing these I think doing an s/component_master/aggregate/
    would be useful:
    - it's shorter :-)
    - I think component/aggregate is much more meaningful naming than
    component/puppetmaster or something like that. At least to my
    English ear "aggregate" emphasizes much more the "assemble a pile of
    things into something bigger" aspect, and there's not really much
    of a control hierarchy between aggregate and constituing components.

    But that's way more than a quick doc typing exercise ...

    Thanks to Ram for commenting on an initial draft of these docs.

    v2: Review from Rafael:
    - git add Documenation/driver-api/component.rst
    - lots of polish to the wording + spelling fixes.

    v3: Review from Russell:
    - s/framework/helper
    - clarify the documentation for component_match_add functions.

    v4: Remove a few superflous "This".

    Reviewed-by: Rafael J. Wysocki
    Cc: "C, Ramalingam"
    Cc: Greg Kroah-Hartman
    Cc: Russell King
    Cc: Rafael J. Wysocki
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Rodrigo Vivi
    Cc: Jani Nikula
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20190207232759.14553-1-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • If device_link_add() is called twice in a row to create a stateless
    device link for the same consumer-supplier pair without an attempt
    to delete the link between these calls, and the second caller passes
    DL_FLAG_RPM_ACTIVE to it in flags, calling either device_link_del()
    or device_link_remove() immediately after that will leave the link's
    supplier device with nonzero PM-runtime usage counter, which may
    prevent the supplier from being runtime-suspended going forward
    until the link is deleted by another invocation of device_link_del()
    or device_link_remove() for it.

    Even though this is confusing and may lead to subtle issues, trying
    to avoid it in the framework also may cause problems to appear, so
    document it as a known limitation.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Greg Kroah-Hartman

    Rafael J. Wysocki
     

01 Feb, 2019

4 commits

  • Fix the missing and malformed documentation that kernel-doc and
    sphinx warn about. While at it, also add some things to the docs
    to fix missing links.

    Sadly, the only way I could find to fix this was to add some
    trailing whitespace.

    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • Add a new device link flag, DL_FLAG_AUTOPROBE_CONSUMER, to request the
    driver core to probe for a consumer driver automatically after binding
    a driver to the supplier device on a persistent managed device link.

    As unbinding the supplier driver on a managed device link causes the
    consumer driver to be detached from its device automatically, this
    flag provides a complementary mechanism which is needed to address
    some "composite device" use cases.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Greg Kroah-Hartman

    Rafael J. Wysocki
     
  • Even though stateful device links are managed by the driver core in
    principle, their creators are allowed and sometimes even expected
    to drop references to them via device_link_del() or
    device_link_remove(), but that doesn't really play well with the
    "persistent" link concept.

    If "persistent" managed device links are created from driver
    probe callbacks, device_link_add() called to do that will take a
    new reference on the link each time the callback runs and those
    references will never be dropped, which kind of isn't nice.

    This issues arises because of the link reference counting carried
    out by device_link_add() for existing links, but that is only done to
    avoid deleting device links that may still be necessary, which
    shouldn't be a concern for managed (stateful) links. These device
    links are managed by the driver core and whoever creates one of them
    will need it at least as long as until the consumer driver is detached
    from its device and deleting it may be left to the driver core just
    fine.

    For this reason, rework device_link_add() to apply the reference
    counting to stateless links only and make device_link_del() and
    device_link_remove() drop references to stateless links only too.
    After this change, if called to add a stateful device link for
    a consumer-supplier pair for which a stateful device link is
    present already, device_link_add() will return the existing link
    without incrementing its reference counter. Accordingly,
    device_link_del() and device_link_remove() will WARN() and do
    nothing when called to drop a reference to a stateful link. Thus,
    effectively, all stateful device links will be owned by the driver
    core.

    In addition, clean up the handling of the link management flags,
    DL_FLAG_AUTOREMOVE_CONSUMER and DL_FLAG_AUTOREMOVE_SUPPLIER, so that
    (a) they are never set at the same time and (b) if device_link_add()
    is called for a consumer-supplier pair with an existing stateful link
    between them, the flags of that link will be combined with the flags
    passed to device_link_add() to ensure that the life time of the link
    is sufficient for all of the callers of device_link_add() for the
    same consumer-supplier pair.

    Update the device_link_add() kerneldoc comment to reflect the
    above changes.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Greg Kroah-Hartman

    Rafael J. Wysocki
     
  • Currently, it is not valid to add a device link from a consumer
    driver ->probe callback to a supplier that is still probing too, but
    generally this is a valid use case. For example, if the consumer has
    just acquired a resource that can only be available if the supplier
    is functional, adding a device link to that supplier right away
    should be safe (and even desirable arguably), but device_link_add()
    doesn't handle that case correctly and the initial state of the link
    created by it is wrong then.

    To address this problem, change the initial state of device links
    added between a probing supplier and a probing consumer to
    DL_STATE_CONSUMER_PROBE and update device_links_driver_bound() to
    skip such links on the supplier side.

    With this change, if the supplier probe completes first,
    device_links_driver_bound() called for it will skip the link state
    update and when it is called for the consumer, the link state will
    be updated to "active". In turn, if the consumer probe completes
    first, device_links_driver_bound() called for it will change the
    state of the link to "active" and when it is called for the
    supplier, the link status update will be skipped.

    However, in principle the supplier or consumer probe may still fail
    after the link has been added, so modify device_links_no_driver() to
    change device links in the "active" or "consumer probe" state to
    "dormant" on the supplier side and update __device_links_no_driver()
    to change the link state to "available" only if it is "consumer
    probe" or "active".

    Then, if the supplier probe fails first, the leftover link to the
    probing consumer will become "dormant" and device_links_no_driver()
    called for the consumer (when its probe fails) will clean it up.
    In turn, if the consumer probe fails first, it will either drop the
    link, or change its state to "available" and, in the latter case,
    when device_links_no_driver() is called for the supplier, it will
    update the link state to "dormant". [If the supplier probe fails,
    but the consumer probe succeeds, which should not happen as long as
    the consumer driver is correct, the link still will be around, but
    it will be "dormant" until the supplier is probed again.]

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Greg Kroah-Hartman

    Rafael J. Wysocki
     

28 Jan, 2019

1 commit


18 Jan, 2019

1 commit


06 Jan, 2019

1 commit

  • Pull PCI updates from Bjorn Helgaas:

    - Remove unused lists from ASPM pcie_link_state (Frederick Lawler)

    - Fix Broadcom CNB20LE host bridge unintended sign extension (Colin Ian
    King)

    - Expand Kconfig "PF" acronyms (Randy Dunlap)

    - Update MAINTAINERS for arch/x86/kernel/early-quirks.c (Bjorn Helgaas)

    - Add missing include to drivers/pci.h (Alexandru Gagniuc)

    - Override Synopsys USB 3.x HAPS device class so dwc3-haps can claim it
    instead of xhci (Thinh Nguyen)

    - Clean up P2PDMA documentation (Randy Dunlap)

    - Allow runtime PM even if driver doesn't supply callbacks (Jarkko
    Nikula)

    - Remove status check after submitting Switchtec MRPC Firmware Download
    commands to avoid Completion Timeouts (Kelvin Cao)

    - Set Switchtec coherent DMA mask to allow 64-bit DMA (Boris Glimcher)

    - Fix Switchtec SWITCHTEC_IOCTL_EVENT_IDX_ALL flag overwrite issue
    (Joey Zhang)

    - Enable write combining for Switchtec MRPC Input buffers (Kelvin Cao)

    - Add Switchtec MRPC DMA mode support (Wesley Sheng)

    - Skip VF scanning on powerpc, which does this in firmware (Sebastian
    Ott)

    - Add Amlogic Meson PCIe controller driver and DT bindings (Yue Wang)

    - Constify histb dw_pcie_host_ops structure (Julia Lawall)

    - Support multiple power domains for imx6 (Leonard Crestez)

    - Constify layerscape driver data (Stefan Agner)

    - Update imx6 Kconfig to allow imx6 PCIe in imx7 kernel (Trent Piepho)

    - Support armada8k GPIO reset (Baruch Siach)

    - Support suspend/resume support on imx6 (Leonard Crestez)

    - Don't hard-code DesignWare DBI/ATU offst (Stephen Warren)

    - Skip i.MX6 PHY setup on i.MX7D (Andrey Smirnov)

    - Remove Jianguo Sun from HiSilicon STB maintainers (Lorenzo Pieralisi)

    - Mask DesignWare interrupts instead of disabling them to avoid lost
    interrupts (Marc Zyngier)

    - Add locking when acking DesignWare interrupts (Marc Zyngier)

    - Ack DesignWare interrupts in the proper callbacks (Marc Zyngier)

    - Use devm resource parser in mediatek (Honghui Zhang)

    - Remove unused mediatek "num-lanes" DT property (Honghui Zhang)

    - Add UniPhier PCIe controller driver and DT bindings (Kunihiko
    Hayashi)

    - Enable MSI for imx6 downstream components (Richard Zhu)

    * tag 'pci-v4.21-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (40 commits)
    PCI: imx: Enable MSI from downstream components
    s390/pci: skip VF scanning
    PCI/IOV: Add flag so platforms can skip VF scanning
    PCI/IOV: Factor out sriov_add_vfs()
    PCI: uniphier: Add UniPhier PCIe host controller support
    dt-bindings: PCI: Add UniPhier PCIe host controller description
    PCI: amlogic: Add the Amlogic Meson PCIe controller driver
    dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller
    arm64: dts: mt7622: Remove un-used property for PCIe
    arm: dts: mt7623: Remove un-used property for PCIe
    dt-bindings: PCI: MediaTek: Remove un-used property
    PCI: mediatek: Remove un-used variant in struct mtk_pcie_port
    MAINTAINERS: Remove Jianguo Sun from HiSilicon STB DWC entry
    PCI: dwc: Don't hard-code DBI/ATU offset
    PCI: imx: Add imx6sx suspend/resume support
    PCI: armada8k: Add support for gpio controlled reset signal
    PCI: dwc: Adjust Kconfig to allow IMX6 PCIe host on IMX7
    PCI: dwc: layerscape: Constify driver data
    PCI: imx: Add multi-pd support
    PCI: Override Synopsys USB 3.x HAPS device class
    ...

    Linus Torvalds
     

02 Jan, 2019

1 commit

  • Pull dmaengine updates from Vinod Koul:
    "This includes a new driver, removes R-Mobile APE6 as it is no longer
    used, sprd cyclic dma support, last batch of dma_slave_config
    direction removal and random updates to bunch of drivers.

    Summary:
    - New driver for UniPhier MIO DMA controller
    - Remove R-Mobile APE6 support
    - Sprd driver updates and support for cyclic link-list
    - Remove dma_slave_config direction usage from rest of drivers
    - Minor updates to dmatest, dw-dmac, zynqmp and bcm dma drivers"

    * tag 'dmaengine-4.21-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (48 commits)
    dmaengine: qcom_hidma: convert to DEFINE_SHOW_ATTRIBUTE
    dmaengine: pxa: remove DBGFS_FUNC_DECL()
    dmaengine: mic_x100_dma: convert to DEFINE_SHOW_ATTRIBUTE
    dmaengine: amba-pl08x: convert to DEFINE_SHOW_ATTRIBUTE
    dmaengine: Documentation: Add documentation for multi chan testing
    dmaengine: dmatest: Add transfer_size parameter
    dmaengine: dmatest: Add alignment parameter
    dmaengine: dmatest: Use fixed point div to calculate iops
    dmaengine: dmatest: Add support for multi channel testing
    dmaengine: rcar-dmac: Document R8A774C0 bindings
    dt-bindings: dmaengine: usb-dmac: Add binding for r8a774c0
    dmaengine: zynqmp_dma: replace spin_lock_bh with spin_lock_irqsave
    dmaengine: sprd: Add me as one of the module authors
    dmaengine: sprd: Support DMA 2-stage transfer mode
    dmaengine: sprd: Support DMA link-list cyclic callback
    dmaengine: sprd: Set cur_desc as NULL when free or terminate one dma channel
    dmaengine: sprd: Fix the last link-list configuration
    dmaengine: sprd: Get transfer residue depending on the transfer direction
    dmaengine: sprd: Remove direction usage from struct dma_slave_config
    dmaengine: dmatest: fix a small memory leak in dmatest_func()
    ...

    Linus Torvalds
     

30 Dec, 2018

1 commit

  • Pull documentation update from Jonathan Corbet:
    "A fairly normal cycle for documentation stuff. We have a new document
    on perf security, more Italian translations, more improvements to the
    memory-management docs, improvements to the pathname lookup
    documentation, and the usual array of smaller fixes.

    As is often the case, there are a few reaches outside of
    Documentation/ to adjust kerneldoc comments"

    * tag 'docs-5.0' of git://git.lwn.net/linux: (38 commits)
    docs: improve pathname-lookup document structure
    configfs: fix wrong name of struct in documentation
    docs/mm-api: link slab_common.c to "The Slab Cache" section
    slab: make kmem_cache_create{_usercopy} description proper kernel-doc
    doc:process: add links where missing
    docs/core-api: make mm-api.rst more structured
    x86, boot: documentation whitespace fixup
    Documentation: devres: note checking needs when converting
    doc:it: add some process/* translations
    doc:it: fixes in process/1.Intro
    Documentation: convert path-lookup from markdown to resturctured text
    Documentation/admin-guide: update admin-guide index.rst
    Documentation/admin-guide: introduce perf-security.rst file
    scripts/kernel-doc: Fix struct and struct field attribute processing
    Documentation: dev-tools: Fix typos in index.rst
    Correct gen_init_cpio tool's documentation
    Document /proc/pid PID reuse behavior
    Documentation: update path-lookup.md for parallel lookups
    Documentation: Use "while" instead of "whilst"
    dmaengine: Add mailing list address to the documentation
    ...

    Linus Torvalds
     

29 Dec, 2018

3 commits

  • Pull char/misc driver updates from Greg KH:
    "Here is the big set of char and misc driver patches for 4.21-rc1.

    Lots of different types of driver things in here, as this tree seems
    to be the "collection of various driver subsystems not big enough to
    have their own git tree" lately.

    Anyway, some highlights of the changes in here:

    - binderfs: is it a rule that all driver subsystems will eventually
    grow to have their own filesystem? Binder now has one to handle the
    use of it in containerized systems.

    This was discussed at the Plumbers conference a few months ago and
    knocked into mergable shape very fast by Christian Brauner. Who
    also has signed up to be another binder maintainer, showing a
    distinct lack of good judgement :)

    - binder updates and fixes

    - mei driver updates

    - fpga driver updates and additions

    - thunderbolt driver updates

    - soundwire driver updates

    - extcon driver updates

    - nvmem driver updates

    - hyper-v driver updates

    - coresight driver updates

    - pvpanic driver additions and reworking for more device support

    - lp driver updates. Yes really, it's _finally_ moved to the proper
    parallal port driver model, something I never thought I would see
    happen. Good stuff.

    - other tiny driver updates and fixes.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (116 commits)
    MAINTAINERS: add another Android binder maintainer
    intel_th: msu: Fix an off-by-one in attribute store
    stm class: Add a reference to the SyS-T document
    stm class: Fix a module refcount leak in policy creation error path
    char: lp: use new parport device model
    char: lp: properly count the lp devices
    char: lp: use first unused lp number while registering
    char: lp: detach the device when parallel port is removed
    char: lp: introduce list to save port number
    bus: qcom: remove duplicated include from qcom-ebi2.c
    VMCI: Use memdup_user() rather than duplicating its implementation
    char/rtc: Use of_node_name_eq for node name comparisons
    misc: mic: fix a DMA pool free failure
    ptp: fix an IS_ERR() vs NULL check
    genwqe: Fix size check
    binder: implement binderfs
    binder: fix use-after-free due to ksys_close() during fdget()
    bus: fsl-mc: remove duplicated include files
    bus: fsl-mc: explicitly define the fsl_mc_command endianness
    misc: ti-st: make array read_ver_cmd static, shrinks object size
    ...

    Linus Torvalds
     
  • Pull USB/PHY updates from Greg KH:
    "Here is the big set of USB and PHY driver patches for 4.21-rc1.

    All of the usual bits are in here:

    - loads of USB gadget driver updates and additions

    - new device ids

    - phy driver updates

    - xhci reworks and new features

    - typec updates

    Full details are in the shortlog.

    All of these have been in linux-next for a long time with no reported
    issues"

    * tag 'usb-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (142 commits)
    USB: serial: option: add Fibocom NL678 series
    cdc-acm: fix abnormal DATA RX issue for Mediatek Preloader.
    usb: r8a66597: Fix a possible concurrency use-after-free bug in r8a66597_endpoint_disable()
    usb: typec: tcpm: Extend the matching rules on PPS APDO selection
    usb: typec: Improve Alt Mode documentation
    usb: musb: dsps: fix runtime pm for peripheral mode
    usb: musb: dsps: fix otg state machine
    USB: serial: pl2303: add ids for Hewlett-Packard HP POS pole displays
    usb: renesas_usbhs: add support for RZ/G2E
    usb: ehci-omap: Fix deferred probe for phy handling
    usb: roles: Add a description for the class to Kconfig
    usb: renesas_usbhs: mark PM functions as __maybe_unused
    usb: core: Remove unnecessary memset()
    usb: host: isp1362-hcd: convert to DEFINE_SHOW_ATTRIBUTE
    phy: qcom-qmp: Expose provided clocks to DT
    dt-bindings: phy-qcom-qmp: Move #clock-cells to child
    phy: qcom-qmp: Utilize fully-specified DT registers
    dt-bindings: phy-qcom-qmp: Fix register underspecification
    phy: ti: fix semicolon.cocci warnings
    phy: dphy: Add configuration helpers
    ...

    Linus Torvalds
     
  • Pull GPIO updates from Linus Walleij:
    "This is the bulk of GPIO changes for the v4.21 kernel series.

    Core changes:

    - Some core changes are already in outside of this pull request as
    they came through the regulator tree, most notably
    devm_gpiod_unhinge() that removes devres refcount management from a
    GPIO descriptor. This is needed in subsystems such as regulators
    where the regulator core need to take over the reference counting
    and lifecycle management for a GPIO descriptor.

    - We dropped devm_gpiochip_remove() and devm_gpio_chip_match() as
    nothing needs it. We can bring it back if need be.

    - Add a global TODO so people see where we are going. This helps
    setting the direction now that we are two GPIO maintainers.

    - Handle the MMC CD/WP properties in the device tree core. (The bulk
    of patches activating this code is already merged through the
    MMC/SD tree.)

    - Augment gpiochip_request_own_desc() to pass a flag so we as
    gpiochips can request lines as active low or open drain etc even
    from ourselves.

    New drivers:

    - New driver for Cadence GPIO blocks.

    - New driver for Atmel SAMA5D2 PIOBU GPIO lines.

    Driver improvements:

    - A major refactoring of the PCA953x driver - this driver has been
    around for ages, and is now modernized to reduce code duplication
    that has stacked up and is using regmap to read write and cache
    registers.

    - Intel drivers are now maintained in a separate tree and start with
    a round of cleanups and unifications"

    * tag 'gpio-v4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (99 commits)
    gpio: sama5d2-piobu: Depend on OF_GPIO
    gpio: Add Cadence GPIO driver
    dt-bindings: gpio: Add bindings for Cadence GPIO
    gpiolib-acpi: remove unused variable 'err', cleans up build warning
    gpio: mxs: read pin level directly instead of using .get
    gpio: aspeed: remove duplicated statement
    gpio: add driver for SAMA5D2 PIOBU pins
    dt-bindings: arm: atmel: describe SECUMOD usage as a GPIO controller
    gpio/mmc/of: Respect polarity in the device tree
    dt-bindings: gpio: rcar: Add r8a774c0 (RZ/G2E) support
    memory: omap-gpmc: Get the header of the enum
    ARM: omap1: Fix new user of gpiochip_request_own_desc()
    gpio: pca953x: Add regmap dependency for PCA953x driver
    gpio: raspberrypi-exp: decrease refcount on firmware dt node
    gpiolib: Fix return value of gpio_to_desc() stub if !GPIOLIB
    gpio: pca953x: Restore registers after suspend/resume cycle
    gpio: pca953x: Zap single use of pca953x_read_single()
    gpio: pca953x: Zap ad-hoc reg_output cache
    gpio: pca953x: Zap ad-hoc reg_direction cache
    gpio: pca953x: Perform basic regmap conversion
    ...

    Linus Torvalds
     

19 Dec, 2018

1 commit


17 Dec, 2018

1 commit


14 Dec, 2018

1 commit

  • Before things go out of hand, make it possible to pass
    flags when requesting "own" descriptors from a gpio_chip.
    This is necessary if the chip wants to request a GPIO with
    active low semantics, for example.

    Cc: Janusz Krzysztofik
    Cc: Thomas Petazzoni
    Cc: Jason Cooper
    Cc: Jiri Kosina
    Cc: Roger Quadros
    Reviewed-by: Gregory CLEMENT
    Signed-off-by: Linus Walleij

    Linus Walleij
     

11 Dec, 2018

1 commit


07 Dec, 2018

1 commit

  • Some documents are refering to others without links. With this
    patch I add those missing links.

    This patch affects only documents under process/ and labels where
    necessary.

    Signed-off-by: Federico Vaga
    Signed-off-by: Jonathan Corbet

    Federico Vaga
     

27 Nov, 2018

1 commit


21 Nov, 2018

1 commit


12 Nov, 2018

1 commit


27 Oct, 2018

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big set of char/misc patches for 4.20-rc1.

    Loads of things here, we have new code in all of these driver
    subsystems:
    - fpga
    - stm
    - extcon
    - nvmem
    - eeprom
    - hyper-v
    - gsmi
    - coresight
    - thunderbolt
    - vmw_balloon
    - goldfish
    - soundwire
    along with lots of fixes and minor changes to other small drivers.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (245 commits)
    Documentation/security-bugs: Clarify treatment of embargoed information
    lib: Fix ia64 bootloader linkage
    MAINTAINERS: Clarify UIO vs UIOVEC maintainer
    docs/uio: fix a grammar nitpick
    docs: fpga: document programming fpgas using regions
    fpga: add devm_fpga_region_create
    fpga: bridge: add devm_fpga_bridge_create
    fpga: mgr: add devm_fpga_mgr_create
    hv_balloon: Replace spin_is_locked() with lockdep
    sgi-xp: Replace spin_is_locked() with lockdep
    eeprom: New ee1004 driver for DDR4 memory
    eeprom: at25: remove unneeded 'at25_remove'
    w1: IAD Register is yet readable trough iad sys file. Fix snprintf (%u for unsigned, count for max size).
    misc: mic: scif: remove set but not used variables 'src_dma_addr, dst_dma_addr'
    misc: mic: fix a DMA pool free failure
    platform: goldfish: pipe: Add a blank line to separate varibles and code
    platform: goldfish: pipe: Remove redundant casting
    platform: goldfish: pipe: Call misc_deregister if init fails
    platform: goldfish: pipe: Move the file-scope goldfish_pipe_dev variable into the driver state
    platform: goldfish: pipe: Move the file-scope goldfish_pipe_miscdev variable into the driver state
    ...

    Linus Torvalds
     

25 Oct, 2018

1 commit

  • Pull PCI updates from Bjorn Helgaas:

    - Fix ASPM link_state teardown on removal (Lukas Wunner)

    - Fix misleading _OSC ASPM message (Sinan Kaya)

    - Make _OSC optional for PCI (Sinan Kaya)

    - Don't initialize ASPM link state when ACPI_FADT_NO_ASPM is set
    (Patrick Talbert)

    - Remove x86 and arm64 node-local allocation for host bridge structures
    (Punit Agrawal)

    - Pay attention to device-specific _PXM node values (Jonathan Cameron)

    - Support new Immediate Readiness bit (Felipe Balbi)

    - Differentiate between pciehp surprise and safe removal (Lukas Wunner)

    - Remove unnecessary pciehp includes (Lukas Wunner)

    - Drop pciehp hotplug_slot_ops wrappers (Lukas Wunner)

    - Tolerate PCIe Slot Presence Detect being hardwired to zero to
    workaround broken hardware, e.g., the Wilocity switch/wireless device
    (Lukas Wunner)

    - Unify pciehp controller & slot structs (Lukas Wunner)

    - Constify hotplug_slot_ops (Lukas Wunner)

    - Drop hotplug_slot_info (Lukas Wunner)

    - Embed hotplug_slot struct into users instead of allocating it
    separately (Lukas Wunner)

    - Initialize PCIe port service drivers directly instead of relying on
    initcall ordering (Keith Busch)

    - Restore PCI config state after a slot reset (Keith Busch)

    - Save/restore DPC config state along with other PCI config state
    (Keith Busch)

    - Reference count devices during AER handling to avoid race issue with
    concurrent hot removal (Keith Busch)

    - If an Upstream Port reports ERR_FATAL, don't try to read the Port's
    config space because it is probably unreachable (Keith Busch)

    - During error handling, use slot-specific reset instead of secondary
    bus reset to avoid link up/down issues on hotplug ports (Keith Busch)

    - Restore previous AER/DPC handling that does not remove and
    re-enumerate devices on ERR_FATAL (Keith Busch)

    - Notify all drivers that may be affected by error recovery resets
    (Keith Busch)

    - Always generate error recovery uevents, even if a driver doesn't have
    error callbacks (Keith Busch)

    - Make PCIe link active reporting detection generic (Keith Busch)

    - Support D3cold in PCIe hierarchies during system sleep and runtime,
    including hotplug and Thunderbolt ports (Mika Westerberg)

    - Handle hpmemsize/hpiosize kernel parameters uniformly, whether slots
    are empty or occupied (Jon Derrick)

    - Remove duplicated include from pci/pcie/err.c and unused variable
    from cpqphp (YueHaibing)

    - Remove driver pci_cleanup_aer_uncorrect_error_status() calls (Oza
    Pawandeep)

    - Uninline PCI bus accessors for better ftracing (Keith Busch)

    - Remove unused AER Root Port .error_resume method (Keith Busch)

    - Use kfifo in AER instead of a local version (Keith Busch)

    - Use threaded IRQ in AER bottom half (Keith Busch)

    - Use managed resources in AER core (Keith Busch)

    - Reuse pcie_port_find_device() for AER injection (Keith Busch)

    - Abstract AER interrupt handling to disconnect error injection (Keith
    Busch)

    - Refactor AER injection callbacks to simplify future improvments
    (Keith Busch)

    - Remove unused Netronome NFP32xx Device IDs (Jakub Kicinski)

    - Use bitmap_zalloc() for dma_alias_mask (Andy Shevchenko)

    - Add switch fall-through annotations (Gustavo A. R. Silva)

    - Remove unused Switchtec quirk variable (Joshua Abraham)

    - Fix pci.c kernel-doc warning (Randy Dunlap)

    - Remove trivial PCI wrappers for DMA APIs (Christoph Hellwig)

    - Add Intel GPU device IDs to spurious interrupt quirk (Bin Meng)

    - Run Switchtec DMA aliasing quirk only on NTB endpoints to avoid
    useless dmesg errors (Logan Gunthorpe)

    - Update Switchtec NTB documentation (Wesley Yung)

    - Remove redundant "default n" from Kconfig (Bartlomiej Zolnierkiewicz)

    - Avoid panic when drivers enable MSI/MSI-X twice (Tonghao Zhang)

    - Add PCI support for peer-to-peer DMA (Logan Gunthorpe)

    - Add sysfs group for PCI peer-to-peer memory statistics (Logan
    Gunthorpe)

    - Add PCI peer-to-peer DMA scatterlist mapping interface (Logan
    Gunthorpe)

    - Add PCI configfs/sysfs helpers for use by peer-to-peer users (Logan
    Gunthorpe)

    - Add PCI peer-to-peer DMA driver writer's documentation (Logan
    Gunthorpe)

    - Add block layer flag to indicate driver support for PCI peer-to-peer
    DMA (Logan Gunthorpe)

    - Map Infiniband scatterlists for peer-to-peer DMA if they contain P2P
    memory (Logan Gunthorpe)

    - Register nvme-pci CMB buffer as PCI peer-to-peer memory (Logan
    Gunthorpe)

    - Add nvme-pci support for PCI peer-to-peer memory in requests (Logan
    Gunthorpe)

    - Use PCI peer-to-peer memory in nvme (Stephen Bates, Steve Wise,
    Christoph Hellwig, Logan Gunthorpe)

    - Cache VF config space size to optimize enumeration of many VFs
    (KarimAllah Ahmed)

    - Remove unnecessary include (Bjorn Helgaas)

    - Fix VMD AERSID quirk Device ID matching (Jon Derrick)

    - Fix Cadence PHY handling during probe (Alan Douglas)

    - Signal Cadence Endpoint interrupts via AXI region 0 instead of last
    region (Alan Douglas)

    - Write Cadence Endpoint MSI interrupts with 32 bits of data (Alan
    Douglas)

    - Remove redundant controller tests for "device_type == pci" (Rob
    Herring)

    - Document R-Car E3 (R8A77990) bindings (Tho Vu)

    - Add device tree support for R-Car r8a7744 (Biju Das)

    - Drop unused mvebu PCIe capability code (Thomas Petazzoni)

    - Add shared PCI bridge emulation code (Thomas Petazzoni)

    - Convert mvebu to use shared PCI bridge emulation (Thomas Petazzoni)

    - Add aardvark Root Port emulation (Thomas Petazzoni)

    - Support 100MHz/200MHz refclocks for i.MX6 (Lucas Stach)

    - Add initial power management for i.MX7 (Leonard Crestez)

    - Add PME_Turn_Off support for i.MX7 (Leonard Crestez)

    - Fix qcom runtime power management error handling (Bjorn Andersson)

    - Update TI dra7xx unaligned access errata workaround for host mode as
    well as endpoint mode (Vignesh R)

    - Fix kirin section mismatch warning (Nathan Chancellor)

    - Remove iproc PAXC slot check to allow VF support (Jitendra Bhivare)

    - Quirk Keystone K2G to limit MRRS to 256 (Kishon Vijay Abraham I)

    - Update Keystone to use MRRS quirk for host bridge instead of open
    coding (Kishon Vijay Abraham I)

    - Refactor Keystone link establishment (Kishon Vijay Abraham I)

    - Simplify and speed up Keystone link training (Kishon Vijay Abraham I)

    - Remove unused Keystone host_init argument (Kishon Vijay Abraham I)

    - Merge Keystone driver files into one (Kishon Vijay Abraham I)

    - Remove redundant Keystone platform_set_drvdata() (Kishon Vijay
    Abraham I)

    - Rename Keystone functions for uniformity (Kishon Vijay Abraham I)

    - Add Keystone device control module DT binding (Kishon Vijay Abraham
    I)

    - Use SYSCON API to get Keystone control module device IDs (Kishon
    Vijay Abraham I)

    - Clean up Keystone PHY handling (Kishon Vijay Abraham I)

    - Use runtime PM APIs to enable Keystone clock (Kishon Vijay Abraham I)

    - Clean up Keystone config space access checks (Kishon Vijay Abraham I)

    - Get Keystone outbound window count from DT (Kishon Vijay Abraham I)

    - Clean up Keystone outbound window configuration (Kishon Vijay Abraham
    I)

    - Clean up Keystone DBI setup (Kishon Vijay Abraham I)

    - Clean up Keystone ks_pcie_link_up() (Kishon Vijay Abraham I)

    - Fix Keystone IRQ status checking (Kishon Vijay Abraham I)

    - Add debug messages for all Keystone errors (Kishon Vijay Abraham I)

    - Clean up Keystone includes and macros (Kishon Vijay Abraham I)

    - Fix Mediatek unchecked return value from devm_pci_remap_iospace()
    (Gustavo A. R. Silva)

    - Fix Mediatek endpoint/port matching logic (Honghui Zhang)

    - Change Mediatek Root Port Class Code to PCI_CLASS_BRIDGE_PCI (Honghui
    Zhang)

    - Remove redundant Mediatek PM domain check (Honghui Zhang)

    - Convert Mediatek to pci_host_probe() (Honghui Zhang)

    - Fix Mediatek MSI enablement (Honghui Zhang)

    - Add Mediatek system PM support for MT2712 and MT7622 (Honghui Zhang)

    - Add Mediatek loadable module support (Honghui Zhang)

    - Detach VMD resources after stopping root bus to prevent orphan
    resources (Jon Derrick)

    - Convert pcitest build process to that used by other tools (iio, perf,
    etc) (Gustavo Pimentel)

    * tag 'pci-v4.20-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (140 commits)
    PCI/AER: Refactor error injection fallbacks
    PCI/AER: Abstract AER interrupt handling
    PCI/AER: Reuse existing pcie_port_find_device() interface
    PCI/AER: Use managed resource allocations
    PCI: pcie: Remove redundant 'default n' from Kconfig
    PCI: aardvark: Implement emulated root PCI bridge config space
    PCI: mvebu: Convert to PCI emulated bridge config space
    PCI: mvebu: Drop unused PCI express capability code
    PCI: Introduce PCI bridge emulated config space common logic
    PCI: vmd: Detach resources after stopping root bus
    nvmet: Optionally use PCI P2P memory
    nvmet: Introduce helper functions to allocate and free request SGLs
    nvme-pci: Add support for P2P memory in requests
    nvme-pci: Use PCI p2pmem subsystem to manage the CMB
    IB/core: Ensure we map P2P memory correctly in rdma_rw_ctx_[init|destroy]()
    block: Add PCI P2P flag for request queue
    PCI/P2PDMA: Add P2P DMA driver writer's documentation
    docs-rst: Add a new directory for PCI documentation
    PCI/P2PDMA: Introduce configfs/sysfs enable attribute helpers
    PCI/P2PDMA: Add PCI p2pmem DMA mappings to adjust the bus offset
    ...

    Linus Torvalds