Merge tag 'char-misc-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 5 Aug 2020 18:43:47 +0000 (11:43 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 5 Aug 2020 18:43:47 +0000 (11:43 -0700)
Pull char/misc driver updates from Greg KH:
 "Here is the large set of char and misc and other driver subsystem
  patches for 5.9-rc1. Lots of new driver submissions in here, and
  cleanups and features for existing drivers.

  Highlights are:
   - habanalabs driver updates
   - coresight driver updates
   - nvmem driver updates
   - huge number of "W=1" build warning cleanups from Lee Jones
   - dyndbg updates
   - virtbox driver fixes and updates
   - soundwire driver updates
   - mei driver updates
   - phy driver updates
   - fpga driver updates
   - lots of smaller individual misc/char driver cleanups and fixes

  Full details are in the shortlog.

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

* tag 'char-misc-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (322 commits)
  habanalabs: remove unused but set variable 'ctx_asid'
  nvmem: qcom-spmi-sdam: Enable multiple devices
  dt-bindings: nvmem: SID: add binding for A100's SID controller
  nvmem: update Kconfig description
  nvmem: qfprom: Add fuse blowing support
  dt-bindings: nvmem: Add properties needed for blowing fuses
  dt-bindings: nvmem: qfprom: Convert to yaml
  nvmem: qfprom: use NVMEM_DEVID_AUTO for multiple instances
  nvmem: core: add support to auto devid
  nvmem: core: Add nvmem_cell_read_u8()
  nvmem: core: Grammar fixes for help text
  nvmem: sc27xx: add sc2730 efuse support
  nvmem: Enforce nvmem stride in the sysfs interface
  MAINTAINERS: Add git tree for NVMEM FRAMEWORK
  nvmem: sprd: Fix return value of sprd_efuse_probe()
  drivers: android: Fix the SPDX comment style
  drivers: android: Fix a variable declaration coding style issue
  drivers: android: Remove braces for a single statement if-else block
  drivers: android: Remove the use of else after return
  drivers: android: Fix a variable declaration coding style issue
  ...

1  2 
Documentation/fpga/dfl.rst
MAINTAINERS
drivers/bus/fsl-mc/dprc-driver.c
drivers/bus/fsl-mc/fsl-mc-bus.c
drivers/misc/Kconfig
include/asm-generic/vmlinux.lds.h

@@@ -8,7 -8,7 +8,7 @@@ Authors
  - Xiao Guangrong <guangrong.xiao@linux.intel.com>
  - Wu Hao <hao.wu@intel.com>
  
 -The Device Feature List (DFL) FPGA framework (and drivers according to this
 +The Device Feature List (DFL) FPGA framework (and drivers according to
  this framework) hides the very details of low layer hardwares and provides
  unified interfaces to userspace. Applications could use these interfaces to
  configure, enumerate, open and access FPGA accelerators on platforms which
@@@ -89,6 -89,8 +89,8 @@@ The following functions are exposed thr
  - Program bitstream (DFL_FPGA_FME_PORT_PR)
  - Assign port to PF (DFL_FPGA_FME_PORT_ASSIGN)
  - Release port from PF (DFL_FPGA_FME_PORT_RELEASE)
+ - Get number of irqs of FME global error (DFL_FPGA_FME_ERR_GET_IRQ_NUM)
+ - Set interrupt trigger for FME error (DFL_FPGA_FME_ERR_SET_IRQ)
  
  More functions are exposed through sysfs
  (/sys/class/fpga_region/regionX/dfl-fme.n/):
@@@ -149,6 -151,10 +151,10 @@@ The following functions are exposed thr
  - Map DMA buffer (DFL_FPGA_PORT_DMA_MAP)
  - Unmap DMA buffer (DFL_FPGA_PORT_DMA_UNMAP)
  - Reset AFU (DFL_FPGA_PORT_RESET)
+ - Get number of irqs of port error (DFL_FPGA_PORT_ERR_GET_IRQ_NUM)
+ - Set interrupt trigger for port error (DFL_FPGA_PORT_ERR_SET_IRQ)
+ - Get number of irqs of UINT (DFL_FPGA_PORT_UINT_GET_IRQ_NUM)
+ - Set interrupt trigger for UINT (DFL_FPGA_PORT_UINT_SET_IRQ)
  
  DFL_FPGA_PORT_RESET:
    reset the FPGA Port and its AFU. Userspace can do Port
@@@ -462,6 -468,19 +468,19 @@@ since they are system-wide counters on 
  The current driver does not support sampling. So "perf record" is unsupported.
  
  
+ Interrupt support
+ =================
+ Some FME and AFU private features are able to generate interrupts. As mentioned
+ above, users could call ioctl (DFL_FPGA_*_GET_IRQ_NUM) to know whether or how
+ many interrupts are supported for this private feature. Drivers also implement
+ an eventfd based interrupt handling mechanism for users to get notified when
+ interrupt happens. Users could set eventfds to driver via
+ ioctl (DFL_FPGA_*_SET_IRQ), and then poll/select on these eventfds waiting for
+ notification.
+ In Current DFL, 3 sub features (Port error, FME global error and AFU interrupt)
+ support interrupts.
  Add new FIUs support
  ====================
  It's possible that developers made some new function blocks (FIUs) under this
diff --combined MAINTAINERS
@@@ -782,7 -782,7 +782,7 @@@ F: include/dt-bindings/reset/altr,rst-m
  F:    include/linux/mfd/altera-a10sr.h
  
  ALTERA TRIPLE SPEED ETHERNET DRIVER
 -M:    Thor Thayer <thor.thayer@linux.intel.com>
 +M:    Joyce Ooi <joyce.ooi@intel.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/ethernet/altera/
@@@ -830,20 -830,11 +830,20 @@@ F:      include/uapi/rdma/efa-abi.
  
  AMD CRYPTOGRAPHIC COPROCESSOR (CCP) DRIVER
  M:    Tom Lendacky <thomas.lendacky@amd.com>
 +M:    John Allen <john.allen@amd.com>
  L:    linux-crypto@vger.kernel.org
  S:    Supported
  F:    drivers/crypto/ccp/
  F:    include/linux/ccp.h
  
 +AMD CRYPTOGRAPHIC COPROCESSOR (CCP) DRIVER - SEV SUPPORT
 +M:    Brijesh Singh <brijesh.singh@amd.com>
 +M:    Tom Lendacky <thomas.lendacky@amd.com>
 +L:    linux-crypto@vger.kernel.org
 +S:    Supported
 +F:    drivers/crypto/ccp/sev*
 +F:    include/uapi/linux/psp-sev.h
 +
  AMD DISPLAY CORE
  M:    Harry Wentland <harry.wentland@amd.com>
  M:    Leo Li <sunpeng.li@amd.com>
@@@ -1179,6 -1170,8 +1179,8 @@@ M:      Todd Kjos <tkjos@android.com
  M:    Martijn Coenen <maco@android.com>
  M:    Joel Fernandes <joel@joelfernandes.org>
  M:    Christian Brauner <christian@brauner.io>
+ M:    Hridya Valsaraju <hridya@google.com>
+ M:    Suren Baghdasaryan <surenb@google.com>
  L:    devel@driverdev.osuosl.org
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
@@@ -1434,7 -1427,7 +1436,7 @@@ F:      arch/arm*/include/asm/perf_event.
  F:    arch/arm*/kernel/hw_breakpoint.c
  F:    arch/arm*/kernel/perf_*
  F:    arch/arm/oprofile/common.c
 -F:    drivers/perf/*
 +F:    drivers/perf/
  F:    include/linux/perf/arm_pmu.h
  
  ARM PORT
@@@ -1606,9 -1599,6 +1608,9 @@@ F:      sound/soc/meson
  
  ARM/Amlogic Meson SoC support
  M:    Kevin Hilman <khilman@baylibre.com>
 +R:    Neil Armstrong <narmstrong@baylibre.com>
 +R:    Jerome Brunet <jbrunet@baylibre.com>
 +R:    Martin Blumenstingl <martin.blumenstingl@googlemail.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  L:    linux-amlogic@lists.infradead.org
  S:    Maintained
@@@ -1629,7 -1619,7 +1631,7 @@@ L:      linux-arm-kernel@lists.infradead.or
  S:    Maintained
  F:    arch/arm/boot/dts/alpine*
  F:    arch/arm/mach-alpine/
 -F:    arch/arm64/boot/dts/al/
 +F:    arch/arm64/boot/dts/amazon/
  F:    drivers/*/*alpine*
  
  ARM/ARTPEC MACHINE SUPPORT
@@@ -1966,14 -1956,6 +1968,14 @@@ F:    drivers/irqchip/irq-ixp4xx.
  F:    include/linux/irqchip/irq-ixp4xx.h
  F:    include/linux/platform_data/timer-ixp4xx.h
  
 +ARM/INTEL KEEMBAY ARCHITECTURE
 +M:    Paul J. Murphy <paul.j.murphy@intel.com>
 +M:    Daniele Alessandrelli <daniele.alessandrelli@intel.com>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/arm/intel,keembay.yaml
 +F:    arch/arm64/boot/dts/intel/keembay-evm.dts
 +F:    arch/arm64/boot/dts/intel/keembay-soc.dtsi
 +
  ARM/INTEL RESEARCH IMOTE/STARGATE 2 MACHINE SUPPORT
  M:    Jonathan Cameron <jic23@cam.ac.uk>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -2131,32 -2113,12 +2133,32 @@@ X:   drivers/net/wireless/atmel
  N:    at91
  N:    atmel
  
 +ARM/Microchip Sparx5 SoC support
 +M:    Lars Povlsen <lars.povlsen@microchip.com>
 +M:    Steen Hegelund <Steen.Hegelund@microchip.com>
 +M:    Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Supported
 +F:    arch/arm64/boot/dts/microchip/
 +N:    sparx5
 +
  ARM/MIOA701 MACHINE SUPPORT
  M:    Robert Jarzmik <robert.jarzmik@free.fr>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-pxa/mioa701.c
  
 +ARM/MStar/Sigmastar Armv7 SoC support
 +M:    Daniel Palmer <daniel@thingy.jp>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +W:    http://linux-chenxing.org/
 +F:    Documentation/devicetree/bindings/arm/mstar/*
 +F:    arch/arm/boot/dts/infinity*.dtsi
 +F:    arch/arm/boot/dts/mercury*.dtsi
 +F:    arch/arm/boot/dts/mstar-v7.dtsi
 +F:    arch/arm/mach-mstar/
 +
  ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
  M:    Michael Petchkovsky <mkpetch@internode.on.net>
  S:    Maintained
@@@ -2867,7 -2829,7 +2869,7 @@@ ASYMMETRIC KEY
  M:    David Howells <dhowells@redhat.com>
  L:    keyrings@vger.kernel.org
  S:    Maintained
 -F:    Documentation/crypto/asymmetric-keys.txt
 +F:    Documentation/crypto/asymmetric-keys.rst
  F:    crypto/asymmetric_keys/
  F:    include/crypto/pkcs7.h
  F:    include/crypto/public_key.h
@@@ -2877,7 -2839,7 +2879,7 @@@ ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT
  R:    Dan Williams <dan.j.williams@intel.com>
  S:    Odd fixes
  W:    http://sourceforge.net/projects/xscaleiop
 -F:    Documentation/crypto/async-tx-api.txt
 +F:    Documentation/crypto/async-tx-api.rst
  F:    crypto/async_tx/
  F:    drivers/dma/
  F:    include/linux/async_tx.h
@@@ -2921,7 -2883,7 +2923,7 @@@ S:      Supporte
  F:    drivers/net/wireless/ath/*
  
  ATHEROS ATH5K WIRELESS DRIVER
 -M:    Jiri Slaby <jirislaby@gmail.com>
 +M:    Jiri Slaby <jirislaby@kernel.org>
  M:    Nick Kossifidis <mickflemm@gmail.com>
  M:    Luis Chamberlain <mcgrof@kernel.org>
  L:    linux-wireless@vger.kernel.org
@@@ -7147,7 -7109,7 +7149,7 @@@ F:      include/linux/futex.
  F:    include/uapi/linux/futex.h
  F:    kernel/futex.c
  F:    tools/perf/bench/futex*
 -F:    Documentation/locking/*futex*
 +F:    tools/testing/selftests/futex/
  
  GATEWORKS SYSTEM CONTROLLER (GSC) DRIVER
  M:    Tim Harvey <tharvey@gateworks.com>
@@@ -8641,12 -8603,6 +8643,12 @@@ L:    platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/intel_atomisp2_pm.c
  
 +INTEL ATOMISP2 LED DRIVER
 +M:    Hans de Goede <hdegoede@redhat.com>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    drivers/platform/x86/intel_atomisp2_led.c
 +
  INTEL BROXTON PMC DRIVER
  M:    Mika Westerberg <mika.westerberg@linux.intel.com>
  M:    Zha Qipeng <qipeng.zha@intel.com>
@@@ -8833,7 -8789,7 +8835,7 @@@ M:      Tomas Winkler <tomas.winkler@intel.c
  L:    linux-kernel@vger.kernel.org
  S:    Supported
  F:    Documentation/driver-api/mei/*
- F:    drivers/misc/mei/*
+ F:    drivers/misc/mei/
  F:    drivers/watchdog/mei_wdt.c
  F:    include/linux/mei_cl_bus.h
  F:    include/uapi/linux/mei.h
@@@ -9655,7 -9611,7 +9657,7 @@@ M:      Anil S Keshavamurthy <anil.s.keshava
  M:    "David S. Miller" <davem@davemloft.net>
  M:    Masami Hiramatsu <mhiramat@kernel.org>
  S:    Maintained
 -F:    Documentation/kprobes.txt
 +F:    Documentation/trace/kprobes.rst
  F:    include/asm-generic/kprobes.h
  F:    include/linux/kprobes.h
  F:    kernel/kprobes.c
@@@ -10018,7 -9974,6 +10020,7 @@@ M:    Luc Maranget <luc.maranget@inria.fr
  M:    "Paul E. McKenney" <paulmck@kernel.org>
  R:    Akira Yokosawa <akiyks@gmail.com>
  R:    Daniel Lustig <dlustig@nvidia.com>
 +R:    Joel Fernandes <joel@joelfernandes.org>
  L:    linux-kernel@vger.kernel.org
  L:    linux-arch@vger.kernel.org
  S:    Supported
@@@ -10027,7 -9982,6 +10029,7 @@@ F:    Documentation/atomic_bitops.tx
  F:    Documentation/atomic_t.txt
  F:    Documentation/core-api/atomic_ops.rst
  F:    Documentation/core-api/refcount-vs-atomic.rst
 +F:    Documentation/litmus-tests/
  F:    Documentation/memory-barriers.txt
  F:    tools/memory-model/
  
@@@ -11145,23 -11099,6 +11147,23 @@@ F: Documentation/core-api/boot-time-mm.
  F:    include/linux/memblock.h
  F:    mm/memblock.c
  
 +MEMORY CONTROLLER DRIVERS
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
 +L:    linux-kernel@vger.kernel.org
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl.git
 +F:    Documentation/devicetree/bindings/memory-controllers/
 +F:    drivers/memory/
 +
 +MEMORY FREQUENCY SCALING DRIVERS FOR NVIDIA TEGRA
 +M:    Dmitry Osipenko <digetx@gmail.com>
 +L:    linux-pm@vger.kernel.org
 +L:    linux-tegra@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
 +S:    Maintained
 +F:    drivers/devfreq/tegra20-devfreq.c
 +F:    drivers/devfreq/tegra30-devfreq.c
 +
  MEMORY MANAGEMENT
  M:    Andrew Morton <akpm@linux-foundation.org>
  L:    linux-mm@kvack.org
@@@ -11629,7 -11566,7 +11631,7 @@@ F:   drivers/media/pci/meye
  F:    include/uapi/linux/meye.h
  
  MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
 -M:    Jiri Slaby <jirislaby@gmail.com>
 +M:    Jiri Slaby <jirislaby@kernel.org>
  S:    Maintained
  F:    Documentation/driver-api/serial/moxa-smartio.rst
  F:    drivers/tty/mxser.*
@@@ -12329,6 -12266,7 +12331,7 @@@ F:   drivers/nvme/target
  NVMEM FRAMEWORK
  M:    Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  S:    Maintained
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/srini/nvmem.git
  F:    Documentation/ABI/stable/sysfs-bus-nvmem
  F:    Documentation/devicetree/bindings/nvmem/
  F:    drivers/nvmem/
@@@ -12774,7 -12712,6 +12777,7 @@@ OP-TEE DRIVE
  M:    Jens Wiklander <jens.wiklander@linaro.org>
  L:    op-tee@lists.trustedfirmware.org
  S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-bus-optee-devices
  F:    drivers/tee/optee/
  
  OP-TEE RANDOM NUMBER GENERATOR (RNG) DRIVER
@@@ -13658,6 -13595,16 +13661,6 @@@ F:  drivers/block/pktcdvd.
  F:    include/linux/pktcdvd.h
  F:    include/uapi/linux/pktcdvd.h
  
 -PKUNITY SOC DRIVERS
 -M:    Guan Xuetao <gxt@pku.edu.cn>
 -S:    Maintained
 -W:    http://mprc.pku.edu.cn/~guanxuetao/linux
 -T:    git git://github.com/gxt/linux.git
 -F:    drivers/i2c/busses/i2c-puv3.c
 -F:    drivers/input/serio/i8042-unicore32io.h
 -F:    drivers/rtc/rtc-puv3.c
 -F:    drivers/video/fbdev/fb-puv3.c
 -
  PLANTOWER PMS7003 AIR POLLUTION SENSOR DRIVER
  M:    Tomasz Duszynski <tduszyns@gmail.com>
  S:    Maintained
@@@ -14244,8 -14191,7 +14247,8 @@@ F:   Documentation/devicetree/bindings/ne
  F:    drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
  
  QUALCOMM GENERIC INTERFACE I2C DRIVER
 -M:    Alok Chauhan <alokc@codeaurora.org>
 +M:    Akash Asthana <akashast@codeaurora.org>
 +M:    Mukesh Savaliya <msavaliy@codeaurora.org>
  L:    linux-i2c@vger.kernel.org
  L:    linux-arm-msm@vger.kernel.org
  S:    Supported
@@@ -14506,7 -14452,7 +14509,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    Documentation/RCU/
  F:    include/linux/rcu*
  F:    kernel/rcu/
 -X:    Documentation/RCU/torture.txt
 +X:    Documentation/RCU/torture.rst
  X:    include/linux/srcu*.h
  X:    kernel/rcu/srcu*.c
  
@@@ -14582,7 -14528,7 +14585,7 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git rproc-next
  F:    Documentation/ABI/testing/sysfs-class-remoteproc
  F:    Documentation/devicetree/bindings/remoteproc/
 -F:    Documentation/remoteproc.txt
 +F:    Documentation/staging/remoteproc.rst
  F:    drivers/remoteproc/
  F:    include/linux/remoteproc.h
  F:    include/linux/remoteproc/
@@@ -14594,7 -14540,7 +14597,7 @@@ L:   linux-remoteproc@vger.kernel.or
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git rpmsg-next
  F:    Documentation/ABI/testing/sysfs-bus-rpmsg
 -F:    Documentation/rpmsg.txt
 +F:    Documentation/staging/rpmsg.rst
  F:    drivers/rpmsg/
  F:    include/linux/rpmsg.h
  F:    include/linux/rpmsg/
@@@ -15431,7 -15377,7 +15434,7 @@@ F:   scripts/selinux
  F:    security/selinux/
  
  SENSABLE PHANTOM
 -M:    Jiri Slaby <jirislaby@gmail.com>
 +M:    Jiri Slaby <jirislaby@kernel.org>
  S:    Maintained
  F:    drivers/misc/phantom.c
  F:    include/uapi/linux/phantom.h
@@@ -15487,7 -15433,7 +15490,7 @@@ F:   drivers/net/phy/phylink.
  F:    drivers/net/phy/sfp*
  F:    include/linux/phylink.h
  F:    include/linux/sfp.h
 -K:    phylink
 +K:    phylink\.h|struct\s+phylink|\.phylink|>phylink_|phylink_(autoneg|clear|connect|create|destroy|disconnect|ethtool|helper|mac|mii|of|set|start|stop|test|validate)
  
  SGI GRU DRIVER
  M:    Dimitri Sivanich <sivanich@sgi.com>
@@@ -16082,8 -16028,9 +16085,9 @@@ F:   sound/soc/sof
  
  SOUNDWIRE SUBSYSTEM
  M:    Vinod Koul <vkoul@kernel.org>
- M:    Sanyog Kale <sanyog.r.kale@intel.com>
+ M:    Bard Liao <yung-chuan.liao@linux.intel.com>
  R:    Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+ R:    Sanyog Kale <sanyog.r.kale@intel.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  S:    Supported
  F:    Documentation/driver-api/soundwire/
@@@ -16846,7 -16793,7 +16850,7 @@@ TEE SUBSYSTE
  M:    Jens Wiklander <jens.wiklander@linaro.org>
  L:    op-tee@lists.trustedfirmware.org
  S:    Maintained
 -F:    Documentation/tee.txt
 +F:    Documentation/staging/tee.rst
  F:    drivers/tee/
  F:    include/linux/tee_drv.h
  F:    include/uapi/linux/tee.h
@@@ -17358,7 -17305,7 +17362,7 @@@ M:   Josh Triplett <josh@joshtriplett.org
  L:    linux-kernel@vger.kernel.org
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev
 -F:    Documentation/RCU/torture.txt
 +F:    Documentation/RCU/torture.rst
  F:    kernel/locking/locktorture.c
  F:    kernel/rcu/rcuperf.c
  F:    kernel/rcu/rcutorture.c
@@@ -17450,7 -17397,7 +17454,7 @@@ K:   ^Subject:.*(?i)trivia
  
  TTY LAYER
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -M:    Jiri Slaby <jslaby@suse.com>
 +M:    Jiri Slaby <jirislaby@kernel.org>
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
  F:    Documentation/driver-api/serial/
@@@ -17602,6 -17549,13 +17606,6 @@@ L:  linux-fsdevel@vger.kernel.or
  S:    Supported
  F:    fs/unicode/
  
 -UNICORE32 ARCHITECTURE
 -M:    Guan Xuetao <gxt@pku.edu.cn>
 -S:    Maintained
 -W:    http://mprc.pku.edu.cn/~guanxuetao/linux
 -T:    git git://github.com/gxt/linux.git
 -F:    arch/unicore32/
 -
  UNIFDEF
  M:    Tony Finch <dot@dotat.at>
  S:    Maintained
@@@ -18922,6 -18876,15 +18926,15 @@@ F: Documentation/devicetree/bindings/me
  F:    drivers/media/platform/xilinx/
  F:    include/uapi/linux/xilinx-v4l2-controls.h
  
+ XILINX ZYNQMP PSGTR PHY DRIVER
+ M:    Anurag Kumar Vulisha <anurag.kumar.vulisha@xilinx.com>
+ M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+ L:    linux-kernel@vger.kernel.org
+ S:    Supported
+ T:    git https://github.com/Xilinx/linux-xlnx.git
+ F:    Documentation/devicetree/bindings/phy/xlnx,zynqmp-psgtr.yaml
+ F:    drivers/phy/xilinx/phy-zynqmp.c
  XILLYBUS DRIVER
  M:    Eli Billauer <eli.billauer@gmail.com>
  L:    linux-kernel@vger.kernel.org
@@@ -27,7 -27,16 +27,16 @@@ static bool fsl_mc_device_match(struct 
  {
        return mc_dev->obj_desc.id == obj_desc->id &&
               strcmp(mc_dev->obj_desc.type, obj_desc->type) == 0;
+ }
  
+ static bool fsl_mc_obj_desc_is_allocatable(struct fsl_mc_obj_desc *obj)
+ {
+       if (strcmp(obj->type, "dpmcp") == 0 ||
+           strcmp(obj->type, "dpcon") == 0 ||
+           strcmp(obj->type, "dpbp") == 0)
+               return true;
+       else
+               return false;
  }
  
  static int __fsl_mc_device_remove_if_not_in_mc(struct device *dev, void *data)
@@@ -150,6 -159,27 +159,27 @@@ static void check_plugged_state_change(
        }
  }
  
+ static void fsl_mc_obj_device_add(struct fsl_mc_device *mc_bus_dev,
+                                 struct fsl_mc_obj_desc *obj_desc)
+ {
+       int error;
+       struct fsl_mc_device *child_dev;
+       /*
+        * Check if device is already known to Linux:
+        */
+       child_dev = fsl_mc_device_lookup(obj_desc, mc_bus_dev);
+       if (child_dev) {
+               check_plugged_state_change(child_dev, obj_desc);
+               put_device(&child_dev->dev);
+       } else {
+               error = fsl_mc_device_add(obj_desc, NULL, &mc_bus_dev->dev,
+                                         &child_dev);
+               if (error < 0)
+                       return;
+       }
+ }
  /**
   * dprc_add_new_devices - Adds devices to the logical bus for a DPRC
   *
@@@ -166,30 -196,23 +196,23 @@@ static void dprc_add_new_devices(struc
                                 struct fsl_mc_obj_desc *obj_desc_array,
                                 int num_child_objects_in_mc)
  {
-       int error;
        int i;
  
+       /* probe the allocable objects first */
        for (i = 0; i < num_child_objects_in_mc; i++) {
-               struct fsl_mc_device *child_dev;
                struct fsl_mc_obj_desc *obj_desc = &obj_desc_array[i];
  
-               if (strlen(obj_desc->type) == 0)
-                       continue;
+               if (strlen(obj_desc->type) > 0 &&
+                   fsl_mc_obj_desc_is_allocatable(obj_desc))
+                       fsl_mc_obj_device_add(mc_bus_dev, obj_desc);
+       }
  
-               /*
-                * Check if device is already known to Linux:
-                */
-               child_dev = fsl_mc_device_lookup(obj_desc, mc_bus_dev);
-               if (child_dev) {
-                       check_plugged_state_change(child_dev, obj_desc);
-                       put_device(&child_dev->dev);
-                       continue;
-               }
+       for (i = 0; i < num_child_objects_in_mc; i++) {
+               struct fsl_mc_obj_desc *obj_desc = &obj_desc_array[i];
  
-               error = fsl_mc_device_add(obj_desc, NULL, &mc_bus_dev->dev,
-                                         &child_dev);
-               if (error < 0)
-                       continue;
+               if (strlen(obj_desc->type) > 0 &&
+                   !fsl_mc_obj_desc_is_allocatable(obj_desc))
+                       fsl_mc_obj_device_add(mc_bus_dev, obj_desc);
        }
  }
  
@@@ -592,7 -615,6 +615,7 @@@ static int dprc_probe(struct fsl_mc_dev
        bool mc_io_created = false;
        bool msi_domain_set = false;
        u16 major_ver, minor_ver;
 +      struct irq_domain *mc_msi_domain;
  
        if (!is_fsl_mc_bus_dprc(mc_dev))
                return -EINVAL;
                        return error;
  
                mc_io_created = true;
 +      }
  
 -              /*
 -               * Inherit parent MSI domain:
 -               */
 -              dev_set_msi_domain(&mc_dev->dev,
 -                                 dev_get_msi_domain(parent_dev));
 -              msi_domain_set = true;
 +      mc_msi_domain = fsl_mc_find_msi_domain(&mc_dev->dev);
 +      if (!mc_msi_domain) {
 +              dev_warn(&mc_dev->dev,
 +                       "WARNING: MC bus without interrupt support\n");
        } else {
 -              /*
 -               * This is a root DPRC
 -               */
 -              struct irq_domain *mc_msi_domain;
 -
 -              if (dev_is_fsl_mc(parent_dev))
 -                      return -EINVAL;
 -
 -              error = fsl_mc_find_msi_domain(parent_dev,
 -                                             &mc_msi_domain);
 -              if (error < 0) {
 -                      dev_warn(&mc_dev->dev,
 -                               "WARNING: MC bus without interrupt support\n");
 -              } else {
 -                      dev_set_msi_domain(&mc_dev->dev, mc_msi_domain);
 -                      msi_domain_set = true;
 -              }
 +              dev_set_msi_domain(&mc_dev->dev, mc_msi_domain);
 +              msi_domain_set = true;
        }
  
        error = dprc_open(mc_dev->mc_io, 0, mc_dev->obj_desc.id,
@@@ -18,8 -18,6 +18,8 @@@
  #include <linux/bitops.h>
  #include <linux/msi.h>
  #include <linux/dma-mapping.h>
 +#include <linux/acpi.h>
 +#include <linux/iommu.h>
  
  #include "fsl-mc-private.h"
  
@@@ -40,7 -38,6 +40,7 @@@ struct fsl_mc 
        struct fsl_mc_device *root_mc_bus_dev;
        u8 num_translation_ranges;
        struct fsl_mc_addr_translation_range *translation_ranges;
 +      void *fsl_mc_regs;
  };
  
  /**
@@@ -59,10 -56,6 +59,10 @@@ struct fsl_mc_addr_translation_range 
        phys_addr_t start_phys_addr;
  };
  
 +#define FSL_MC_FAPR   0x28
 +#define MC_FAPR_PL    BIT(18)
 +#define MC_FAPR_BMT   BIT(17)
 +
  /**
   * fsl_mc_bus_match - device to driver matching callback
   * @dev: the fsl-mc device to match against
@@@ -125,16 -118,11 +125,16 @@@ static int fsl_mc_bus_uevent(struct dev
  static int fsl_mc_dma_configure(struct device *dev)
  {
        struct device *dma_dev = dev;
 +      struct fsl_mc_device *mc_dev = to_fsl_mc_device(dev);
 +      u32 input_id = mc_dev->icid;
  
        while (dev_is_fsl_mc(dma_dev))
                dma_dev = dma_dev->parent;
  
 -      return of_dma_configure(dev, dma_dev->of_node, 0);
 +      if (dev_of_node(dma_dev))
 +              return of_dma_configure_id(dev, dma_dev->of_node, 0, &input_id);
 +
 +      return acpi_dma_configure_id(dev, DEV_DMA_COHERENT, &input_id);
  }
  
  static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
@@@ -213,6 -201,31 +213,31 @@@ struct device_type fsl_mc_bus_dpseci_ty
  };
  EXPORT_SYMBOL_GPL(fsl_mc_bus_dpseci_type);
  
+ struct device_type fsl_mc_bus_dpdmux_type = {
+       .name = "fsl_mc_bus_dpdmux"
+ };
+ EXPORT_SYMBOL_GPL(fsl_mc_bus_dpdmux_type);
+ struct device_type fsl_mc_bus_dpdcei_type = {
+       .name = "fsl_mc_bus_dpdcei"
+ };
+ EXPORT_SYMBOL_GPL(fsl_mc_bus_dpdcei_type);
+ struct device_type fsl_mc_bus_dpaiop_type = {
+       .name = "fsl_mc_bus_dpaiop"
+ };
+ EXPORT_SYMBOL_GPL(fsl_mc_bus_dpaiop_type);
+ struct device_type fsl_mc_bus_dpci_type = {
+       .name = "fsl_mc_bus_dpci"
+ };
+ EXPORT_SYMBOL_GPL(fsl_mc_bus_dpci_type);
+ struct device_type fsl_mc_bus_dpdmai_type = {
+       .name = "fsl_mc_bus_dpdmai"
+ };
+ EXPORT_SYMBOL_GPL(fsl_mc_bus_dpdmai_type);
  static struct device_type *fsl_mc_get_device_type(const char *type)
  {
        static const struct {
                { &fsl_mc_bus_dpmac_type, "dpmac" },
                { &fsl_mc_bus_dprtc_type, "dprtc" },
                { &fsl_mc_bus_dpseci_type, "dpseci" },
+               { &fsl_mc_bus_dpdmux_type, "dpdmux" },
+               { &fsl_mc_bus_dpdcei_type, "dpdcei" },
+               { &fsl_mc_bus_dpaiop_type, "dpaiop" },
+               { &fsl_mc_bus_dpci_type, "dpci" },
+               { &fsl_mc_bus_dpdmai_type, "dpdmai" },
                { NULL, NULL }
        };
        int i;
@@@ -380,8 -398,8 +410,8 @@@ EXPORT_SYMBOL_GPL(fsl_mc_get_version)
  /**
   * fsl_mc_get_root_dprc - function to traverse to the root dprc
   */
 -static void fsl_mc_get_root_dprc(struct device *dev,
 -                               struct device **root_dprc_dev)
 +void fsl_mc_get_root_dprc(struct device *dev,
 +                       struct device **root_dprc_dev)
  {
        if (!dev) {
                *root_dprc_dev = NULL;
@@@ -875,11 -893,8 +905,11 @@@ static int fsl_mc_bus_probe(struct plat
        struct fsl_mc_io *mc_io = NULL;
        int container_id;
        phys_addr_t mc_portal_phys_addr;
 -      u32 mc_portal_size;
 -      struct resource res;
 +      u32 mc_portal_size, mc_stream_id;
 +      struct resource *plat_res;
 +
 +      if (!iommu_present(&fsl_mc_bus_type))
 +              return -EPROBE_DEFER;
  
        mc = devm_kzalloc(&pdev->dev, sizeof(*mc), GFP_KERNEL);
        if (!mc)
  
        platform_set_drvdata(pdev, mc);
  
 +      plat_res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
 +      mc->fsl_mc_regs = devm_ioremap_resource(&pdev->dev, plat_res);
 +      if (IS_ERR(mc->fsl_mc_regs))
 +              return PTR_ERR(mc->fsl_mc_regs);
 +
 +      if (IS_ENABLED(CONFIG_ACPI) && !dev_of_node(&pdev->dev)) {
 +              mc_stream_id = readl(mc->fsl_mc_regs + FSL_MC_FAPR);
 +              /*
 +               * HW ORs the PL and BMT bit, places the result in bit 15 of
 +               * the StreamID and ORs in the ICID. Calculate it accordingly.
 +               */
 +              mc_stream_id = (mc_stream_id & 0xffff) |
 +                              ((mc_stream_id & (MC_FAPR_PL | MC_FAPR_BMT)) ?
 +                                      0x4000 : 0);
 +              error = acpi_dma_configure_id(&pdev->dev, DEV_DMA_COHERENT,
 +                                            &mc_stream_id);
 +              if (error)
 +                      dev_warn(&pdev->dev, "failed to configure dma: %d.\n",
 +                               error);
 +      }
 +
        /*
         * Get physical address of MC portal for the root DPRC:
         */
 -      error = of_address_to_resource(pdev->dev.of_node, 0, &res);
 -      if (error < 0) {
 -              dev_err(&pdev->dev,
 -                      "of_address_to_resource() failed for %pOF\n",
 -                      pdev->dev.of_node);
 -              return error;
 -      }
 -
 -      mc_portal_phys_addr = res.start;
 -      mc_portal_size = resource_size(&res);
 +      plat_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 +      mc_portal_phys_addr = plat_res->start;
 +      mc_portal_size = resource_size(plat_res);
        error = fsl_create_mc_io(&pdev->dev, mc_portal_phys_addr,
                                 mc_portal_size, NULL,
                                 FSL_MC_IO_ATOMIC_CONTEXT_PORTAL, &mc_io);
        dev_info(&pdev->dev, "MC firmware version: %u.%u.%u\n",
                 mc_version.major, mc_version.minor, mc_version.revision);
  
 -      error = get_mc_addr_translation_ranges(&pdev->dev,
 -                                             &mc->translation_ranges,
 -                                             &mc->num_translation_ranges);
 -      if (error < 0)
 -              goto error_cleanup_mc_io;
 +      if (dev_of_node(&pdev->dev)) {
 +              error = get_mc_addr_translation_ranges(&pdev->dev,
 +                                              &mc->translation_ranges,
 +                                              &mc->num_translation_ranges);
 +              if (error < 0)
 +                      goto error_cleanup_mc_io;
 +      }
  
        error = dprc_get_container_id(mc_io, 0, &container_id);
        if (error < 0) {
                goto error_cleanup_mc_io;
  
        mc->root_mc_bus_dev = mc_bus_dev;
 +      mc_bus_dev->dev.fwnode = pdev->dev.fwnode;
        return 0;
  
  error_cleanup_mc_io:
@@@ -997,18 -995,11 +1027,18 @@@ static const struct of_device_id fsl_mc
  
  MODULE_DEVICE_TABLE(of, fsl_mc_bus_match_table);
  
 +static const struct acpi_device_id fsl_mc_bus_acpi_match_table[] = {
 +      {"NXP0008", 0 },
 +      { }
 +};
 +MODULE_DEVICE_TABLE(acpi, fsl_mc_bus_acpi_match_table);
 +
  static struct platform_driver fsl_mc_bus_driver = {
        .driver = {
                   .name = "fsl_mc_bus",
                   .pm = NULL,
                   .of_match_table = fsl_mc_bus_match_table,
 +                 .acpi_match_table = fsl_mc_bus_acpi_match_table,
                   },
        .probe = fsl_mc_bus_probe,
        .remove = fsl_mc_bus_remove,
diff --combined drivers/misc/Kconfig
@@@ -24,7 -24,7 +24,7 @@@ config AD525X_DPO
          AD5271, AD5272, AD5274
          digital potentiometer chips.
  
 -        See Documentation/misc-devices/ad525x_dpot.txt for the
 +        See Documentation/misc-devices/ad525x_dpot.rst for the
          userspace interface.
  
          This driver can also be built as a module.  If so, the module
@@@ -83,7 -83,7 +83,7 @@@ config IBM_AS
  
          WARNING: This software may not be supported or function
          correctly on your IBM server. Please consult the IBM ServerProven
-         website <http://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/>
+         website <https://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/>
          for information on the specific driver level and support statement
          for your IBM server.
  
  #endif
  
  /*
 - * Align to a 32 byte boundary equal to the
 - * alignment gcc 4.5 uses for a struct
 + * GCC 4.5 and later have a 32 bytes section alignment for structures.
 + * Except GCC 4.9, that feels the need to align on 64 bytes.
   */
 +#if __GNUC__ == 4 && __GNUC_MINOR__ == 9
 +#define STRUCT_ALIGNMENT 64
 +#else
  #define STRUCT_ALIGNMENT 32
 +#endif
  #define STRUCT_ALIGN() . = ALIGN(STRUCT_ALIGNMENT)
  
 +/*
 + * The order of the sched class addresses are important, as they are
 + * used to determine the order of the priority of each sched class in
 + * relation to each other.
 + */
 +#define SCHED_DATA                            \
 +      STRUCT_ALIGN();                         \
 +      __begin_sched_classes = .;              \
 +      *(__idle_sched_class)                   \
 +      *(__fair_sched_class)                   \
 +      *(__rt_sched_class)                     \
 +      *(__dl_sched_class)                     \
 +      *(__stop_sched_class)                   \
 +      __end_sched_classes = .;
 +
  /* The actual configuration determine if the init/exit sections
   * are handled as text/data or they can be discarded (which
   * often happens at runtime)
        *(__tracepoints)                                                \
        /* implement dynamic printk debug */                            \
        . = ALIGN(8);                                                   \
-       __start___verbose = .;                                          \
-       KEEP(*(__verbose))                                              \
-       __stop___verbose = .;                                           \
+       __start___dyndbg = .;                                           \
+       KEEP(*(__dyndbg))                                               \
+       __stop___dyndbg = .;                                            \
        LIKELY_PROFILE()                                                \
        BRANCH_PROFILE()                                                \
        TRACE_PRINTKS()                                                 \
        .rodata           : AT(ADDR(.rodata) - LOAD_OFFSET) {           \
                __start_rodata = .;                                     \
                *(.rodata) *(.rodata.*)                                 \
 +              SCHED_DATA                                              \
                RO_AFTER_INIT_DATA      /* Read only after init */      \
                . = ALIGN(8);                                           \
                __start___tracepoints_ptrs = .;                         \