Merge tag 'gpio-v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 5 Jun 2020 21:00:30 +0000 (14:00 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 5 Jun 2020 21:00:30 +0000 (14:00 -0700)
Pull GPIO updates from Linus Walleij:
 "This is the bulk of GPIO changes for the v5.8 kernel cycle.

  Core changes:

   - A new GPIO aggregator driver has been merged: this can join a few
     select GPIO lines into a new aggregated GPIO chip. This can be used
     for security: a process can be granted access to only these lines,
     for example for industrial control. Another way to use this is to
     reexpose certain select lines to a virtual machine or container.

   - Warn if the gpio-line-names is too long in he DT parser core.

   - GPIO lines can now be looked up by line name in addition to being
     looked up by offset.

  New drivers:

   - A new generic regmap GPIO driver has been merged. Too many regmap
     drivers are starting to look like each other so we need to create
     some common ground and try to move drivers over to using that.

   - The F7188X driver now supports F81865.

  Driver improvements:

   - Large improvements to the PCA953x expander, get multiple lines and
     several cleanups.

   - Large improvements to the DesignWare DWAPB driver, and Sergey Semin
     has volunteered to maintain it.

   - PL061 can now be built as a module, this is part of a bigger effort
     to make the ARM platforms more modular"

* tag 'gpio-v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (77 commits)
  gpio: pca953x: Drop unneeded ACPI_PTR()
  MAINTAINERS: Add gpio regmap section
  gpio: add a reusable generic gpio_chip using regmap
  gpiolib: Introduce gpiochip_irqchip_add_domain()
  gpio: gpiolib: Allow GPIO IRQs to lazy disable
  gpiolib: Separate GPIO_GET_LINEINFO_WATCH_IOCTL conditional
  gpio: rcar: Fix runtime PM imbalance on error
  gpio: pca935x: Allow IRQ support for driver built as a module
  gpio: pxa: Add COMPILE_TEST support
  dt-bindings: gpio: Add renesas,em-gio bindings
  MAINTAINERS: Fix file name for DesignWare GPIO DT schema
  gpio: dwapb: Remove unneeded has_irq member in struct dwapb_port_property
  gpio: dwapb: Don't use IRQ 0 as valid Linux interrupt
  gpio: dwapb: avoid error message for optional IRQ
  gpio: dwapb: Call acpi_gpiochip_free_interrupts() on GPIO chip de-registration
  gpio: max730x: bring gpiochip_add_data after port config
  MAINTAINERS: Add GPIO Aggregator section
  docs: gpio: Add GPIO Aggregator documentation
  gpio: Add GPIO Aggregator
  gpiolib: Add support for GPIO lookup by line name
  ...

1  2 
MAINTAINERS
drivers/gpio/gpio-mlxbf2.c
drivers/gpio/gpiolib.c

diff --combined MAINTAINERS
@@@ -147,7 -147,7 +147,7 @@@ Maintainers Lis
  M:    Steffen Klassert <klassert@kernel.org>
  L:    netdev@vger.kernel.org
  S:    Odd Fixes
 -F:    Documentation/networking/device_drivers/3com/vortex.txt
 +F:    Documentation/networking/device_drivers/3com/vortex.rst
  F:    drivers/net/ethernet/3com/3c59x.c
  
  3CR990 NETWORK DRIVER
@@@ -193,7 -193,7 +193,7 @@@ W: https://wireless.wiki.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
  F:    Documentation/driver-api/80211/cfg80211.rst
 -F:    Documentation/networking/regulatory.txt
 +F:    Documentation/networking/regulatory.rst
  F:    include/linux/ieee80211.h
  F:    include/net/cfg80211.h
  F:    include/net/ieee80211_radiotap.h
@@@ -815,7 -815,7 +815,7 @@@ R: Saeed Bishara <saeedb@amazon.com
  R:    Zorik Machulsky <zorik@amazon.com>
  L:    netdev@vger.kernel.org
  S:    Supported
 -F:    Documentation/networking/device_drivers/amazon/ena.txt
 +F:    Documentation/networking/device_drivers/amazon/ena.rst
  F:    drivers/net/ethernet/amazon/
  
  AMAZON RDMA EFA DRIVER
@@@ -842,13 -842,6 +842,13 @@@ S:       Supporte
  T:    git git://people.freedesktop.org/~agd5f/linux
  F:    drivers/gpu/drm/amd/display/
  
 +AMD ENERGY DRIVER
 +M:    Naveen Krishna Chatradhi <nchatrad@amd.com>
 +L:    linux-hwmon@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/hwmon/amd_energy.rst
 +F:    drivers/hwmon/amd_energy.c
 +
  AMD FAM15H PROCESSOR POWER MONITORING DRIVER
  M:    Huang Rui <ray.huang@amd.com>
  L:    linux-hwmon@vger.kernel.org
@@@ -899,11 -892,6 +899,11 @@@ F:       drivers/gpu/drm/amd/include/v9_struc
  F:    drivers/gpu/drm/amd/include/vi_structs.h
  F:    include/uapi/linux/kfd_ioctl.h
  
 +AMD SPI DRIVER
 +M:    Sanjay R Mehta <sanju.mehta@amd.com>
 +S:    Maintained
 +F:    drivers/spi/spi-amd.c
 +
  AMD MP2 I2C DRIVER
  M:    Elie Morisse <syniurge@gmail.com>
  M:    Nehal Shah <nehal-bakulchandra.shah@amd.com>
@@@ -1286,7 -1274,7 +1286,7 @@@ L:      netdev@vger.kernel.or
  S:    Supported
  W:    https://www.marvell.com/
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
 -F:    Documentation/networking/device_drivers/aquantia/atlantic.txt
 +F:    Documentation/networking/device_drivers/aquantia/atlantic.rst
  F:    drivers/net/ethernet/aquantia/atlantic/
  
  AQUANTIA ETHERNET DRIVER PTP SUBSYSTEM
@@@ -1350,11 -1338,10 +1350,11 @@@ F:   arch/arm/mach-integrator
  F:    arch/arm/mach-realview/
  F:    arch/arm/mach-versatile/
  F:    arch/arm/plat-versatile/
 +F:    drivers/bus/arm-integrator-lm.c
  F:    drivers/clk/versatile/
  F:    drivers/i2c/busses/i2c-versatile.c
  F:    drivers/irqchip/irq-versatile-fpga.c
 -F:    drivers/mtd/maps/physmap_of_versatile.c
 +F:    drivers/mtd/maps/physmap-versatile.*
  F:    drivers/power/reset/arm-versatile-reboot.c
  F:    drivers/soc/versatile/
  
@@@ -1469,13 -1456,6 +1469,13 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/interrupt-controller/arm,vic.txt
  F:    drivers/irqchip/irq-vic.c
  
 +ARM SMC WATCHDOG DRIVER
 +M:    Julius Werner <jwerner@chromium.org>
 +R:    Evan Benn <evanbenn@chromium.org>
 +S:    Maintained
 +F:    devicetree/bindings/watchdog/arm-smc-wdt.yaml
 +F:    drivers/watchdog/arm_smc_wdt.c
 +
  ARM SMMU DRIVERS
  M:    Will Deacon <will@kernel.org>
  R:    Robin Murphy <robin.murphy@arm.com>
@@@ -1704,6 -1684,11 +1704,6 @@@ S:     Maintaine
  T:    git git://git.armlinux.org.uk/~rmk/linux-arm.git clkdev
  F:    drivers/clk/clkdev.c
  
 -ARM/COMPULAB CM-X270/EM-X270 and CM-X300 MACHINE SUPPORT
 -M:    Mike Rapoport <mike@compulab.co.il>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Maintained
 -
  ARM/CONEXANT DIGICOLOR MACHINE SUPPORT
  M:    Baruch Siach <baruch@tkos.co.il>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -2012,7 -1997,6 +2012,7 @@@ F:      arch/arm/mach-dove
  F:    arch/arm/mach-mv78xx0/
  F:    arch/arm/mach-orion5x/
  F:    arch/arm/plat-orion/
 +F:    drivers/soc/dove/
  
  ARM/Marvell Kirkwood and Armada 370, 375, 38x, 39x, XP, 3700, 7K/8K, CN9130 SOC support
  M:    Jason Cooper <jason@lakedaemon.net>
@@@ -2241,7 -2225,6 +2241,7 @@@ F:      drivers/*/qcom
  F:    drivers/*/qcom/
  F:    drivers/bluetooth/btqcomsmd.c
  F:    drivers/clocksource/timer-qcom.c
 +F:    drivers/cpuidle/cpuidle-qcom-spm.c
  F:    drivers/extcon/extcon-qcom*
  F:    drivers/i2c/busses/i2c-qcom-geni.c
  F:    drivers/i2c/busses/i2c-qup.c
@@@ -2289,8 -2272,6 +2289,8 @@@ L:      linux-arm-kernel@lists.infradead.or
  L:    linux-realtek-soc@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    Documentation/devicetree/bindings/arm/realtek.yaml
 +F:    arch/arm/boot/dts/rtd*
 +F:    arch/arm/mach-realtek/
  F:    arch/arm64/boot/dts/realtek/
  
  ARM/RENESAS ARM64 ARCHITECTURE
@@@ -2713,8 -2694,8 +2713,8 @@@ L:      linux-arm-kernel@lists.infradead.or
  S:    Supported
  W:    http://wiki.xilinx.com
  T:    git https://github.com/Xilinx/linux-xlnx.git
 -F:    Documentation/devicetree/bindings/i2c/i2c-cadence.txt
 -F:    Documentation/devicetree/bindings/i2c/i2c-xiic.txt
 +F:    Documentation/devicetree/bindings/i2c/cdns,i2c-r1p10.yaml
 +F:    Documentation/devicetree/bindings/i2c/xlnx,xps-iic-2.00.a.yaml
  F:    arch/arm/mach-zynq/
  F:    drivers/block/xsysace.c
  F:    drivers/clocksource/timer-cadence-ttc.c
@@@ -3210,7 -3191,7 +3210,7 @@@ Q:      https://patchwork.ozlabs.org/project
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
  F:    Documentation/bpf/
 -F:    Documentation/networking/filter.txt
 +F:    Documentation/networking/filter.rst
  F:    arch/*/net/*
  F:    include/linux/bpf*
  F:    include/linux/filter.h
@@@ -3339,7 -3320,7 +3339,7 @@@ L:      bcm-kernel-feedback-list@broadcom.co
  L:    linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers)
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://github.com/anholt/linux
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/nsaenz/linux-rpi.git
  F:    Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
  F:    drivers/pci/controller/pcie-brcmstb.c
  F:    drivers/staging/vc04_services
@@@ -3688,7 -3669,7 +3688,7 @@@ L:      linux-media@vger.kernel.or
  S:    Odd fixes
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/bttv*
 +F:    Documentation/driver-api/media/drivers/bttv*
  F:    drivers/media/pci/bt8xx/bttv*
  
  BUS FREQUENCY DRIVER FOR SAMSUNG EXYNOS
@@@ -3749,7 -3730,7 +3749,7 @@@ CACHEFILES: FS-CACHE BACKEND FOR CACHIN
  M:    David Howells <dhowells@redhat.com>
  L:    linux-cachefs@redhat.com (moderated for non-subscribers)
  S:    Supported
 -F:    Documentation/filesystems/caching/cachefiles.txt
 +F:    Documentation/filesystems/caching/cachefiles.rst
  F:    fs/cachefiles/
  
  CADENCE MIPI-CSI2 BRIDGES
@@@ -3779,7 -3760,7 +3779,7 @@@ M:      Jonathan Corbet <corbet@lwn.net
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/cafe_ccic*
 +F:    Documentation/admin-guide/media/cafe_ccic*
  F:    drivers/media/platform/marvell-ccic/
  
  CAIF NETWORK LAYER
@@@ -3915,15 -3896,6 +3915,15 @@@ S:    Supporte
  W:    https://developer.arm.com/products/system-ip/trustzone-cryptocell/cryptocell-700-family
  F:    drivers/crypto/ccree/
  
 +CCTRNG ARM TRUSTZONE CRYPTOCELL TRUE RANDOM NUMBER GENERATOR (TRNG) DRIVER
 +M:    Hadar Gat <hadar.gat@arm.com>
 +L:    linux-crypto@vger.kernel.org
 +S:    Supported
 +F:    drivers/char/hw_random/cctrng.c
 +F:    drivers/char/hw_random/cctrng.h
 +F:    Documentation/devicetree/bindings/rng/arm-cctrng.txt
 +W:    https://developer.arm.com/products/system-ip/trustzone-cryptocell/cryptocell-700-family
 +
  CEC FRAMEWORK
  M:    Hans Verkuil <hverkuil-cisco@xs4all.nl>
  L:    linux-media@vger.kernel.org
@@@ -3932,8 -3904,8 +3932,8 @@@ W:      http://linuxtv.or
  T:    git git://linuxtv.org/media_tree.git
  F:    Documentation/ABI/testing/debugfs-cec-error-inj
  F:    Documentation/devicetree/bindings/media/cec.txt
 -F:    Documentation/media/kapi/cec-core.rst
 -F:    Documentation/media/uapi/cec
 +F:    Documentation/driver-api/media/cec-core.rst
 +F:    Documentation/userspace-api/media/cec
  F:    drivers/media/cec/
  F:    drivers/media/rc/keymaps/rc-cec.c
  F:    include/media/cec-notifier.h
@@@ -4088,11 -4060,12 +4088,11 @@@ M:   Charles Keepax <ckeepax@opensource.c
  M:    Richard Fitzgerald <rf@opensource.cirrus.com>
  L:    patches@opensource.cirrus.com
  S:    Supported
 -F:    Documentation/devicetree/bindings/clock/cirrus,lochnagar.txt
 -F:    Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt
 -F:    Documentation/devicetree/bindings/mfd/cirrus,lochnagar.txt
 -F:    Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.txt
 -F:    Documentation/devicetree/bindings/regulator/cirrus,lochnagar.txt
 -F:    Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
 +F:    Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml
 +F:    Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.yaml
 +F:    Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml
 +F:    Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml
 +F:    Documentation/devicetree/bindings/sound/cirrus,lochnagar.yaml
  F:    Documentation/hwmon/lochnagar.rst
  F:    drivers/clk/clk-lochnagar.c
  F:    drivers/hwmon/lochnagar-hwmon.c
@@@ -4112,9 -4085,9 +4112,9 @@@ L:      patches@opensource.cirrus.co
  S:    Supported
  W:    https://github.com/CirrusLogic/linux-drivers/wiki
  T:    git https://github.com/CirrusLogic/linux-drivers.git
 -F:    Documentation/devicetree/bindings/mfd/madera.txt
 -F:    Documentation/devicetree/bindings/pinctrl/cirrus,madera-pinctrl.txt
 -F:    Documentation/devicetree/bindings/sound/madera.txt
 +F:    Documentation/devicetree/bindings/mfd/cirrus,madera.yaml
 +F:    Documentation/devicetree/bindings/pinctrl/cirrus,madera.yaml
 +F:    Documentation/devicetree/bindings/sound/cirrus,madera.yaml
  F:    drivers/gpio/gpio-madera*
  F:    drivers/irqchip/irq-madera*
  F:    drivers/mfd/cs47l*
@@@ -4225,7 -4198,7 +4225,7 @@@ M:      coda@cs.cmu.ed
  L:    codalist@coda.cs.cmu.edu
  S:    Maintained
  W:    http://www.coda.cs.cmu.edu/
 -F:    Documentation/filesystems/coda.txt
 +F:    Documentation/filesystems/coda.rst
  F:    fs/coda/
  F:    include/linux/coda*.h
  F:    include/uapi/linux/coda*.h
@@@ -4564,7 -4537,7 +4564,7 @@@ L:      linux-media@vger.kernel.or
  S:    Odd fixes
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/cx88*
 +F:    Documentation/driver-api/media/drivers/cx88*
  F:    drivers/media/pci/cx88/
  
  CXD2820R MEDIA DRIVER
@@@ -4716,7 -4689,7 +4716,7 @@@ F:      net/ax25/sysctl_net_ax25.
  DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER
  L:    netdev@vger.kernel.org
  S:    Orphan
 -F:    Documentation/networking/device_drivers/dec/dmfe.txt
 +F:    Documentation/networking/device_drivers/dec/dmfe.rst
  F:    drivers/net/ethernet/dec/tulip/dmfe.c
  
  DC390/AM53C974 SCSI driver
@@@ -4750,7 -4723,7 +4750,7 @@@ DECnet NETWORK LAYE
  L:    linux-decnet-user@lists.sourceforge.net
  S:    Orphan
  W:    http://linux-decnet.sourceforge.net
 -F:    Documentation/networking/decnet.txt
 +F:    Documentation/networking/decnet.rst
  F:    net/decnet/
  
  DECSTATION PLATFORM SUPPORT
@@@ -5018,7 -4991,7 +5018,7 @@@ M:      Jan Kara <jack@suse.cz
  R:    Amir Goldstein <amir73il@gmail.com>
  L:    linux-fsdevel@vger.kernel.org
  S:    Maintained
 -F:    Documentation/filesystems/dnotify.txt
 +F:    Documentation/filesystems/dnotify.rst
  F:    fs/notify/dnotify/
  F:    include/linux/dnotify.h
  
@@@ -5032,7 -5005,7 +5032,7 @@@ W:      http://www.win.tue.nl/~aeb/partition
  DISKQUOTA
  M:    Jan Kara <jack@suse.com>
  S:    Maintained
 -F:    Documentation/filesystems/quota.txt
 +F:    Documentation/filesystems/quota.rst
  F:    fs/quota/
  F:    include/linux/quota*.h
  F:    include/uapi/linux/quota*.h
@@@ -5067,7 -5040,7 +5067,7 @@@ F:      drivers/dma-buf
  F:    include/linux/*fence.h
  F:    include/linux/dma-buf*
  F:    include/linux/dma-resv.h
 -K:    dma_(buf|fence|resv)
 +K:    \bdma_(?:buf|fence|resv)\b
  
  DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
  M:    Vinod Koul <vkoul@kernel.org>
@@@ -5147,14 -5120,12 +5147,14 @@@ F:   scripts/documentation-file-ref-chec
  F:    scripts/kernel-doc
  F:    scripts/sphinx-pre-install
  X:    Documentation/ABI/
 +X:    Documentation/admin-guide/media/
  X:    Documentation/devicetree/
 +X:    Documentation/driver-api/media/
  X:    Documentation/firmware-guide/acpi/
  X:    Documentation/i2c/
 -X:    Documentation/media/
  X:    Documentation/power/
  X:    Documentation/spi/
 +X:    Documentation/userspace-api/media/
  
  DOCUMENTATION SCRIPTS
  M:    Mauro Carvalho Chehab <mchehab@kernel.org>
@@@ -5281,7 -5252,7 +5281,7 @@@ DRM DRIVER FOR ARM VERSATILE TFT PANEL
  M:    Linus Walleij <linus.walleij@linaro.org>
  S:    Maintained
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    Documentation/devicetree/bindings/display/panel/arm,versatile-tft-panel.txt
 +F:    Documentation/devicetree/bindings/display/panel/arm,versatile-tft-panel.yaml
  F:    drivers/gpu/drm/panel/panel-arm-versatile.c
  
  DRM DRIVER FOR ASPEED BMC GFX
@@@ -5307,7 -5278,7 +5307,7 @@@ F:      drivers/gpu/drm/bochs
  DRM DRIVER FOR BOE HIMAX8279D PANELS
  M:    Jerry Han <hanxu5@huaqin.corp-partner.google.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/display/panel/boe,himax8279d.txt
 +F:    Documentation/devicetree/bindings/display/panel/boe,himax8279d.yaml
  F:    drivers/gpu/drm/panel/panel-boe-himax8279d.c
  
  DRM DRIVER FOR FARADAY TVE200 TV ENCODER
@@@ -5325,7 -5296,7 +5325,7 @@@ F:      drivers/gpu/drm/panel/panel-feixin-k
  DRM DRIVER FOR FEIYANG FY07024DI26A30-D MIPI-DSI LCD PANELS
  M:    Jagan Teki <jagan@amarulasolutions.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/display/panel/feiyang,fy07024di26a30d.txt
 +F:    Documentation/devicetree/bindings/display/panel/feiyang,fy07024di26a30d.yaml
  F:    drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
  
  DRM DRIVER FOR GRAIN MEDIA GM12U320 PROJECTORS
@@@ -5360,14 -5331,6 +5360,14 @@@ S:    Orphan / Obsolet
  F:    drivers/gpu/drm/i810/
  F:    include/uapi/drm/i810_drm.h
  
 +DRM DRIVER FOR LVDS PANELS
 +M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
 +L:    dri-devel@lists.freedesktop.org
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +S:    Maintained
 +F:    drivers/gpu/drm/panel/panel-lvds.c
 +F:    Documentation/devicetree/bindings/display/panel/lvds.yaml
 +
  DRM DRIVER FOR MATROX G200/G400 GRAPHICS CARDS
  S:    Orphan / Obsolete
  F:    drivers/gpu/drm/mga/
@@@ -5416,7 -5379,7 +5416,7 @@@ F:      include/uapi/drm/nouveau_drm.
  DRM DRIVER FOR OLIMEX LCD-OLINUXINO PANELS
  M:    Stefan Mavrodiev <stefan@olimex.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/display/panel/olimex,lcd-olinuxino.txt
 +F:    Documentation/devicetree/bindings/display/panel/olimex,lcd-olinuxino.yaml
  F:    drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c
  
  DRM DRIVER FOR PERVASIVE DISPLAYS REPAPER PANELS
@@@ -5433,7 -5396,7 +5433,7 @@@ L:      virtualization@lists.linux-foundatio
  S:    Obsolete
  W:    https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    drivers/gpu/drm/cirrus/
 +F:    drivers/gpu/drm/tiny/cirrus.c
  
  DRM DRIVER FOR QXL VIRTUAL GPU
  M:    Dave Airlie <airlied@redhat.com>
@@@ -5483,7 -5446,7 +5483,7 @@@ F:      drivers/gpu/drm/tiny/st7586.
  DRM DRIVER FOR SITRONIX ST7701 PANELS
  M:    Jagan Teki <jagan@amarulasolutions.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/display/panel/sitronix,st7701.txt
 +F:    Documentation/devicetree/bindings/display/panel/sitronix,st7701.yaml
  F:    drivers/gpu/drm/panel/panel-sitronix-st7701.c
  
  DRM DRIVER FOR SITRONIX ST7735R PANELS
@@@ -6209,6 -6172,7 +6209,6 @@@ M:      Yash Shah <yash.shah@sifive.com
  L:    linux-edac@vger.kernel.org
  S:    Supported
  F:    drivers/edac/sifive_edac.c
 -F:    drivers/soc/sifive_l2_cache.c
  
  EDAC-SKYLAKE
  M:    Tony Luck <tony.luck@intel.com>
@@@ -6268,7 -6232,7 +6268,7 @@@ L:      linux-media@vger.kernel.or
  S:    Maintained
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/em28xx*
 +F:    Documentation/admin-guide/media/em28xx*
  F:    drivers/media/usb/em28xx/
  
  EMBEDDED LINUX
@@@ -6749,13 -6713,6 +6749,13 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/crypto/fsl-sec4.txt
  F:    drivers/crypto/caam/
  
 +FREESCALE COLDFIRE M5441X MMC DRIVER
 +M:    Angelo Dureghello <angelo.dureghello@timesys.com>
 +L:    linux-mmc@vger.kernel.org
 +S:    Maintained
 +F:    drivers/mmc/host/sdhci-esdhc-mcf.c
 +F:    include/linux/platform_data/mmc-esdhc-mcf.h
 +
  FREESCALE DIU FRAMEBUFFER DRIVER
  M:    Timur Tabi <timur@kernel.org>
  L:    linux-fbdev@vger.kernel.org
@@@ -7063,24 -7020,13 +7063,24 @@@ R:   Darren Hart <dvhart@infradead.org
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
 -F:    Documentation/*futex*
 +F:    Documentation/locking/*futex*
  F:    include/asm-generic/futex.h
  F:    include/linux/futex.h
  F:    include/uapi/linux/futex.h
  F:    kernel/futex.c
  F:    tools/perf/bench/futex*
 -F:    tools/testing/selftests/futex/
 +F:    Documentation/locking/*futex*
 +
 +GATEWORKS SYSTEM CONTROLLER (GSC) DRIVER
 +M:    Tim Harvey <tharvey@gateworks.com>
 +M:    Robert Jones <rjones@gateworks.com>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/mfd/gateworks-gsc.yaml
 +F:    drivers/mfd/gateworks-gsc.c
 +F:    include/linux/mfd/gsc.h
 +F:    Documentation/hwmon/gsc-hwmon.rst
 +F:    drivers/hwmon/gsc-hwmon.c
 +F:    include/linux/platform_data/gsc_hwmon.h
  
  GASKET DRIVER FRAMEWORK
  M:    Rob Springer <rspringer@google.com>
@@@ -7283,6 -7229,13 +7283,13 @@@ F:    Documentation/firmware-guide/acpi/gp
  F:    drivers/gpio/gpiolib-acpi.c
  F:    drivers/gpio/gpiolib-acpi.h
  
+ GPIO AGGREGATOR
+ M:    Geert Uytterhoeven <geert+renesas@glider.be>
+ L:    linux-gpio@vger.kernel.org
+ S:    Supported
+ F:    Documentation/admin-guide/gpio/gpio-aggregator.rst
+ F:    drivers/gpio/gpio-aggregator.c
  GPIO IR Transmitter
  M:    Sean Young <sean@mess.org>
  L:    linux-media@vger.kernel.org
@@@ -7296,6 -7249,12 +7303,12 @@@ S:    Maintaine
  F:    drivers/gpio/gpio-mockup.c
  F:    tools/testing/selftests/gpio/
  
+ GPIO REGMAP
+ R:    Michael Walle <michael@walle.cc>
+ S:    Maintained
+ F:    drivers/gpio/gpio-regmap.c
+ F:    include/linux/gpio/regmap.h
  GPIO SUBSYSTEM
  M:    Linus Walleij <linus.walleij@linaro.org>
  M:    Bartosz Golaszewski <bgolaszewski@baylibre.com>
@@@ -7509,7 -7468,7 +7522,7 @@@ L:      linux-media@vger.kernel.or
  L:    linux-rockchip@lists.infradead.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml
 -F:    Documentation/devicetree/bindings/media/rockchip-vpu.txt
 +F:    Documentation/devicetree/bindings/media/rockchip-vpu.yaml
  F:    drivers/staging/media/hantro/
  
  HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
@@@ -7550,7 -7509,7 +7563,7 @@@ L:      linux-remoteproc@vger.kernel.or
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git hwspinlock-next
  F:    Documentation/devicetree/bindings/hwlock/
 -F:    Documentation/hwspinlock.txt
 +F:    Documentation/locking/hwspinlock.rst
  F:    drivers/hwspinlock/
  F:    include/linux/hwspinlock.h
  
@@@ -7783,9 -7742,7 +7796,9 @@@ L:      linux-mm@kvack.or
  S:    Maintained
  F:    Documentation/vm/hmm.rst
  F:    include/linux/hmm*
 +F:    lib/test_hmm*
  F:    mm/hmm*
 +F:    tools/testing/selftests/vm/*hmm*
  
  HOST AP DRIVER
  M:    Jouni Malinen <j@w1.fi>
@@@ -7859,10 -7816,10 +7872,10 @@@ F:   Documentation/devicetree/bindings/ii
  F:    drivers/iio/humidity/hts221*
  
  HUAWEI ETHERNET DRIVER
 -M:    Aviad Krawczyk <aviad.krawczyk@huawei.com>
 +M:    Bin Luo <luobin9@huawei.com>
  L:    netdev@vger.kernel.org
  S:    Supported
 -F:    Documentation/networking/hinic.txt
 +F:    Documentation/networking/hinic.rst
  F:    drivers/net/ethernet/huawei/hinic/
  
  HUGETLB FILESYSTEM
@@@ -7914,7 -7871,7 +7927,7 @@@ S:      Supporte
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git
  F:    Documentation/ABI/stable/sysfs-bus-vmbus
  F:    Documentation/ABI/testing/debugfs-hyperv
 -F:    Documentation/networking/device_drivers/microsoft/netvsc.txt
 +F:    Documentation/networking/device_drivers/microsoft/netvsc.rst
  F:    arch/x86/hyperv
  F:    arch/x86/include/asm/hyperv-tlfs.h
  F:    arch/x86/include/asm/mshyperv.h
@@@ -7931,7 -7888,6 +7944,7 @@@ F:      drivers/pci/controller/pci-hyperv.
  F:    drivers/scsi/storvsc_drv.c
  F:    drivers/uio/uio_hv_generic.c
  F:    drivers/video/fbdev/hyperv_fb.c
 +F:    include/asm-generic/hyperv-tlfs.h
  F:    include/asm-generic/mshyperv.h
  F:    include/clocksource/hyperv_timer.h
  F:    include/linux/hyperv.h
@@@ -8548,13 -8504,6 +8561,13 @@@ L:    platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/intel_atomisp2_pm.c
  
 +INTEL BROXTON PMC DRIVER
 +M:    Mika Westerberg <mika.westerberg@linux.intel.com>
 +M:    Zha Qipeng <qipeng.zha@intel.com>
 +S:    Maintained
 +F:    drivers/mfd/intel_pmc_bxt.c
 +F:    include/linux/mfd/intel_pmc_bxt.h
 +
  INTEL C600 SERIES SAS CONTROLLER DRIVER
  M:    Intel SCU Linux support <intel-linux-scu@intel.com>
  M:    Artur Paszkiewicz <artur.paszkiewicz@intel.com>
@@@ -8701,18 -8650,16 +8714,18 @@@ M:   Bingbu Cao <bingbu.cao@intel.com
  R:    Tian Shu Qiu <tian.shu.qiu@intel.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
 -F:    Documentation/media/uapi/v4l/pixfmt-srggb10-ipu3.rst
 +F:    Documentation/userspace-api/media/v4l/pixfmt-srggb10-ipu3.rst
  F:    drivers/media/pci/intel/ipu3/
  
  INTEL IPU3 CSI-2 IMGU DRIVER
  M:    Sakari Ailus <sakari.ailus@linux.intel.com>
 +R:    Bingbu Cao <bingbu.cao@intel.com>
 +R:    Tian Shu Qiu <tian.shu.qiu@intel.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
 -F:    Documentation/media/uapi/v4l/pixfmt-meta-intel-ipu3.rst
 -F:    Documentation/media/v4l-drivers/ipu3.rst
 -F:    Documentation/media/v4l-drivers/ipu3_rcb.svg
 +F:    Documentation/admin-guide/media/ipu3.rst
 +F:    Documentation/admin-guide/media/ipu3_rcb.svg
 +F:    Documentation/userspace-api/media/v4l/pixfmt-meta-intel-ipu3.rst
  F:    drivers/staging/media/ipu3/
  
  INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
@@@ -8764,13 -8711,6 +8777,13 @@@ F:    include/uapi/linux/mic_common.
  F:    include/uapi/linux/mic_ioctl.h
  F:    include/uapi/linux/scif_ioctl.h
  
 +INTEL P-Unit IPC DRIVER
 +M:    Zha Qipeng <qipeng.zha@intel.com>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    arch/x86/include/asm/intel_punit_ipc.h
 +F:    drivers/platform/x86/intel_punit_ipc.c
 +
  INTEL PMC CORE DRIVER
  M:    Rajneesh Bhardwaj <rajneesh.bhardwaj@intel.com>
  M:    Vishwanath Somayaji <vishwanath.somayaji@intel.com>
@@@ -8778,6 -8718,15 +8791,6 @@@ L:     platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/intel_pmc_core*
  
 -INTEL PMC/P-Unit IPC DRIVER
 -M:    Zha Qipeng<qipeng.zha@intel.com>
 -L:    platform-driver-x86@vger.kernel.org
 -S:    Maintained
 -F:    arch/x86/include/asm/intel_pmc_ipc.h
 -F:    arch/x86/include/asm/intel_punit_ipc.h
 -F:    drivers/platform/x86/intel_pmc_ipc.c
 -F:    drivers/platform/x86/intel_punit_ipc.c
 -
  INTEL PMIC GPIO DRIVERS
  M:    Andy Shevchenko <andy@kernel.org>
  S:    Maintained
@@@ -8797,8 -8746,8 +8810,8 @@@ INTEL PRO/WIRELESS 2100, 2200BG, 2915AB
  M:    Stanislav Yakovlev <stas.yakovlev@gmail.com>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
 -F:    Documentation/networking/device_drivers/intel/ipw2100.txt
 -F:    Documentation/networking/device_drivers/intel/ipw2200.txt
 +F:    Documentation/networking/device_drivers/intel/ipw2100.rst
 +F:    Documentation/networking/device_drivers/intel/ipw2200.rst
  F:    drivers/net/wireless/intel/ipw2x00/
  
  INTEL PSTATE DRIVER
@@@ -8816,12 -8765,6 +8829,12 @@@ S:    Supporte
  F:    drivers/infiniband/hw/i40iw/
  F:    include/uapi/rdma/i40iw-abi.h
  
 +INTEL SCU DRIVERS
 +M:    Mika Westerberg <mika.westerberg@linux.intel.com>
 +S:    Maintained
 +F:    arch/x86/include/asm/intel_scu_ipc.h
 +F:    drivers/platform/x86/intel_scu_*
 +
  INTEL SPEED SELECT TECHNOLOGY
  M:    Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  L:    platform-driver-x86@vger.kernel.org
@@@ -8888,13 -8831,6 +8901,13 @@@ F:    Documentation/admin-guide/wimax/i240
  F:    drivers/net/wimax/i2400m/
  F:    include/uapi/linux/wimax/i2400m.h
  
 +INTEL WMI SLIM BOOTLOADER (SBL) FIRMWARE UPDATE DRIVER
 +M:    Jithu Joseph <jithu.joseph@intel.com>
 +R:    Maurice Ma <maurice.ma@intel.com>
 +S:    Maintained
 +W:    https://slimbootloader.github.io/security/firmware-update.html
 +F:    drivers/platform/x86/intel-wmi-sbl-fw-update.c
 +
  INTEL WMI THUNDERBOLT FORCE POWER DRIVER
  M:    Mario Limonciello <mario.limonciello@dell.com>
  S:    Maintained
@@@ -8980,7 -8916,7 +8993,7 @@@ M:      Corey Minyard <minyard@acm.org
  L:    openipmi-developer@lists.sourceforge.net (moderated for non-subscribers)
  S:    Supported
  W:    http://openipmi.sourceforge.net/
 -F:    Documentation/IPMI.txt
 +F:    Documentation/driver-api/ipmi.rst
  F:    Documentation/devicetree/bindings/ipmi/
  F:    drivers/char/ipmi/
  F:    include/linux/ipmi*
@@@ -9002,7 -8938,7 +9015,7 @@@ L:      lvs-devel@vger.kernel.or
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs.git
 -F:    Documentation/networking/ipvs-sysctl.txt
 +F:    Documentation/networking/ipvs-sysctl.rst
  F:    include/net/ip_vs.h
  F:    include/uapi/linux/ip_vs.h
  F:    net/netfilter/ipvs/
@@@ -9022,7 -8958,7 +9035,7 @@@ IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY
  M:    Marc Zyngier <maz@kernel.org>
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
 -F:    Documentation/IRQ-domain.txt
 +F:    Documentation/core-api/irq/irq-domain.rst
  F:    include/linux/irqdomain.h
  F:    kernel/irq/irqdomain.c
  F:    kernel/irq/msi.c
@@@ -9147,7 -9083,7 +9160,7 @@@ L:      linux-media@vger.kernel.or
  S:    Maintained
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/ivtv*
 +F:    Documentation/admin-guide/media/ivtv*
  F:    drivers/media/pci/ivtv/
  F:    include/uapi/linux/ivtv*
  
@@@ -9377,6 -9313,7 +9390,6 @@@ F:      arch/arm64/include/asm/kvm
  F:    arch/arm64/include/uapi/asm/kvm*
  F:    arch/arm64/kvm/
  F:    include/kvm/arm_*
 -F:    virt/kvm/arm/
  
  KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips)
  L:    linux-mips@vger.kernel.org
@@@ -9587,7 -9524,7 +9600,7 @@@ F:      drivers/soc/lanti
  LAPB module
  L:    linux-x25@vger.kernel.org
  S:    Orphan
 -F:    Documentation/networking/lapb-module.txt
 +F:    Documentation/networking/lapb-module.rst
  F:    include/*/lapb.h
  F:    net/lapb/
  
@@@ -9801,13 -9738,6 +9814,13 @@@ F:    drivers/lightnvm
  F:    include/linux/lightnvm.h
  F:    include/uapi/linux/lightnvm.h
  
 +LINEAR RANGES HELPERS
 +M:    Mark Brown <broonie@kernel.org>
 +R:    Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
 +F:    lib/linear_ranges.c
 +F:    lib/test_linear_ranges.c
 +F:    include/linux/linear_range.h
 +
  LINUX FOR POWER MACINTOSH
  M:    Benjamin Herrenschmidt <benh@kernel.crashing.org>
  L:    linuxppc-dev@lists.ozlabs.org
@@@ -9874,7 -9804,7 +9887,7 @@@ F:      arch/powerpc/platforms/83xx
  F:    arch/powerpc/platforms/85xx/
  
  LINUX FOR POWERPC EMBEDDED PPC8XX
 -M:    Christophe Leroy <christophe.leroy@c-s.fr>
 +M:    Christophe Leroy <christophe.leroy@csgroup.eu>
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Maintained
  F:    arch/powerpc/platforms/8xx/
@@@ -9934,12 -9864,10 +9947,12 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching.git
  F:    Documentation/ABI/testing/sysfs-kernel-livepatch
  F:    Documentation/livepatch/
 +F:    arch/powerpc/include/asm/livepatch.h
 +F:    arch/s390/include/asm/livepatch.h
  F:    arch/x86/include/asm/livepatch.h
 -F:    arch/x86/kernel/livepatch.c
  F:    include/linux/livepatch.h
  F:    kernel/livepatch/
 +F:    lib/livepatch/
  F:    samples/livepatch/
  F:    tools/testing/selftests/livepatch/
  
@@@ -10160,7 -10088,7 +10173,7 @@@ S:   Maintaine
  W:    https://wireless.wiki.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
 -F:    Documentation/networking/mac80211-injection.txt
 +F:    Documentation/networking/mac80211-injection.rst
  F:    Documentation/networking/mac80211_hwsim/mac80211_hwsim.rst
  F:    drivers/net/wireless/mac80211_hwsim.[ch]
  F:    include/net/mac80211.h
@@@ -10341,7 -10269,7 +10354,7 @@@ L:   linux-media@vger.kernel.or
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
  F:    Documentation/devicetree/bindings/media/i2c/max2175.txt
 -F:    Documentation/media/v4l-drivers/max2175.rst
 +F:    Documentation/userspace-api/media/drivers/max2175.rst
  F:    drivers/media/i2c/max2175*
  F:    include/uapi/linux/max2175.h
  
@@@ -10541,8 -10469,8 +10554,8 @@@ M:   Philipp Zabel <p.zabel@pengutronix.d
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/admin-guide/media/imx.rst
  F:    Documentation/devicetree/bindings/media/imx.txt
 -F:    Documentation/media/v4l-drivers/imx.rst
  F:    drivers/staging/media/imx/
  F:    include/linux/imx-media.h
  F:    include/media/imx.h
@@@ -10552,9 -10480,9 +10565,9 @@@ M:   Rui Miguel Silva <rmfrfs@gmail.com
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/admin-guide/media/imx7.rst
  F:    Documentation/devicetree/bindings/media/imx7-csi.txt
  F:    Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt
 -F:    Documentation/media/v4l-drivers/imx7.rst
  F:    drivers/staging/media/imx/imx7-media-csi.c
  F:    drivers/staging/media/imx/imx7-mipi-csis.c
  
@@@ -10700,10 -10628,8 +10713,10 @@@ S: Maintaine
  W:    https://linuxtv.org
  Q:    http://patchwork.kernel.org/project/linux-media/list/
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/admin-guide/media/
  F:    Documentation/devicetree/bindings/media/
 -F:    Documentation/media/
 +F:    Documentation/driver-api/media/
 +F:    Documentation/userspace-api/media/
  F:    drivers/media/
  F:    drivers/staging/media/
  F:    include/linux/platform_data/media/
@@@ -11103,12 -11029,10 +11116,12 @@@ F:        drivers/mtd/nand/raw/meson_
  
  MESON VIDEO DECODER DRIVER FOR AMLOGIC SOCS
  M:    Maxime Jourdan <mjourdan@baylibre.com>
 +M:    Neil Armstrong <narmstrong@baylibre.com>
  L:    linux-media@vger.kernel.org
  L:    linux-amlogic@lists.infradead.org
  S:    Supported
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/amlogic,gx-vdec.yaml
  F:    drivers/staging/media/meson/vdec/
  
  METHODE UDPU SUPPORT
@@@ -11481,20 -11405,15 +11494,20 @@@ F:        kernel/module.
  MONOLITHIC POWER SYSTEM PMIC DRIVER
  M:    Saravanan Sekar <sravanhome@gmail.com>
  S:    Maintained
 +F:    Documentation/devicetree/bindings/mfd/mps,mp2629.yaml
  F:    Documentation/devicetree/bindings/regulator/mps,mp*.yaml
 +F:    drivers/iio/adc/mp2629_adc.c
 +F:    drivers/mfd/mp2629.c
 +F:    drivers/power/supply/mp2629_charger.c
  F:    drivers/regulator/mp5416.c
  F:    drivers/regulator/mpq7920.c
  F:    drivers/regulator/mpq7920.h
 +F:    include/linux/mfd/mp2629.h
  
  MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER
  S:    Orphan
  W:    http://popies.net/meye/
 -F:    Documentation/media/v4l-drivers/meye*
 +F:    Documentation/userspace-api/media/drivers/meye*
  F:    drivers/media/pci/meye/
  F:    include/uapi/linux/meye.h
  
@@@ -11753,8 -11672,8 +11766,8 @@@ NETERION 10GbE DRIVERS (s2io/vxge
  M:    Jon Mason <jdmason@kudzu.us>
  L:    netdev@vger.kernel.org
  S:    Supported
 -F:    Documentation/networking/device_drivers/neterion/s2io.txt
 -F:    Documentation/networking/device_drivers/neterion/vxge.txt
 +F:    Documentation/networking/device_drivers/neterion/s2io.rst
 +F:    Documentation/networking/device_drivers/neterion/vxge.rst
  F:    drivers/net/ethernet/neterion/
  
  NETFILTER
@@@ -12521,15 -12440,6 +12534,15 @@@ S: Maintaine
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/i2c/ov2685.c
  
 +OMNIVISION OV2740 SENSOR DRIVER
 +M:    Tianshu Qiu <tian.shu.qiua@intel.com>
 +R:    Shawn Tu <shawnx.tu@intel.com>
 +R:    Bingbu Cao <bingbu.cao@intel.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    drivers/media/i2c/ov2740.c
 +
  OMNIVISION OV5640 SENSOR DRIVER
  M:    Steve Longerbeam <slongerbeam@gmail.com>
  L:    linux-media@vger.kernel.org
@@@ -12592,11 -12502,10 +12605,11 @@@ F:        Documentation/devicetree/bindings/me
  F:    drivers/media/i2c/ov7740.c
  
  OMNIVISION OV8856 SENSOR DRIVER
 -M:    Ben Kao <ben.kao@intel.com>
 +M:    Dongchun Zhu <dongchun.zhu@mediatek.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/i2c/ov8856.yaml
  F:    drivers/media/i2c/ov8856.c
  
  OMNIVISION OV9640 SENSOR DRIVER
@@@ -12652,8 -12561,8 +12665,8 @@@ M:   Pantelis Antoniou <pantelis.antoniou
  M:    Frank Rowand <frowand.list@gmail.com>
  L:    devicetree@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/dynamic-resolution-notes.txt
 -F:    Documentation/devicetree/overlay-notes.txt
 +F:    Documentation/devicetree/dynamic-resolution-notes.rst
 +F:    Documentation/devicetree/overlay-notes.rst
  F:    drivers/of/overlay.c
  F:    drivers/of/resolver.c
  K:    of_overlay_notifier_
@@@ -12871,7 -12780,7 +12884,7 @@@ M:   "James E.J. Bottomley" <James.Bottom
  M:    Helge Deller <deller@gmx.de>
  L:    linux-parisc@vger.kernel.org
  S:    Maintained
 -W:    http://www.parisc-linux.org/
 +W:    https://parisc.wiki.kernel.org
  Q:    http://patchwork.kernel.org/project/linux-parisc/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git
@@@ -13370,7 -13279,7 +13383,7 @@@ F:   drivers/input/joystick/pxrc.
  PHONET PROTOCOL
  M:    Remi Denis-Courmont <courmisch@gmail.com>
  S:    Supported
 -F:    Documentation/networking/phonet.txt
 +F:    Documentation/networking/phonet.rst
  F:    include/linux/phonet.h
  F:    include/net/phonet/
  F:    include/uapi/linux/phonet.h
@@@ -13780,7 -13689,6 +13793,7 @@@ M:   Tony Luck <tony.luck@intel.com
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/pstore
  F:    Documentation/admin-guide/ramoops.rst
 +F:    Documentation/admin-guide/pstore-blk.rst
  F:    Documentation/devicetree/bindings/reserved-memory/ramoops.txt
  F:    drivers/acpi/apei/erst.c
  F:    drivers/firmware/efi/efi-pstore.c
@@@ -13818,8 -13726,8 +13831,8 @@@ M:   Hans Verkuil <hverkuil@xs4all.nl
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/cec-drivers/pulse8-cec.rst
 -F:    drivers/media/usb/pulse8-cec/*
 +F:    Documentation/admin-guide/media/pulse8-cec.rst
 +F:    drivers/media/cec/usb/pulse8/
  
  PVRUSB2 VIDEO4LINUX DRIVER
  M:    Mike Isely <isely@pobox.com>
@@@ -13828,7 -13736,7 +13841,7 @@@ L:   linux-media@vger.kernel.or
  S:    Maintained
  W:    http://www.isely.net/pvrusb2/
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/pvrusb2*
 +F:    Documentation/driver-api/media/drivers/pvrusb2*
  F:    drivers/media/usb/pvrusb2/
  
  PWC WEBCAM DRIVER
@@@ -14075,8 -13983,8 +14088,8 @@@ QUALCOMM CAMERA SUBSYSTEM DRIVE
  M:    Todor Tomov <todor.too@gmail.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
 +F:    Documentation/admin-guide/media/qcom_camss.rst
  F:    Documentation/devicetree/bindings/media/qcom,camss.txt
 -F:    Documentation/media/v4l-drivers/qcom_camss.rst
  F:    drivers/media/platform/qcom/camss/
  
  QUALCOMM CORE POWER REDUCTION (CPR) AVS DRIVER
@@@ -14140,7 -14048,7 +14153,7 @@@ M:   Subash Abhinov Kasiviswanathan <suba
  M:    Sean Tranchetti <stranche@codeaurora.org>
  L:    netdev@vger.kernel.org
  S:    Maintained
 -F:    Documentation/networking/device_drivers/qualcomm/rmnet.txt
 +F:    Documentation/networking/device_drivers/qualcomm/rmnet.rst
  F:    drivers/net/ethernet/qualcomm/rmnet/
  F:    include/linux/if_rmnet.h
  
@@@ -14171,7 -14079,7 +14184,7 @@@ F:   drivers/net/wireless/ath/wcn36xx
  
  QUANTENNA QTNFMAC WIRELESS DRIVER
  M:    Igor Mitsyanko <imitsyanko@quantenna.com>
 -M:    Sergey Matyukevich <smatyukevich@quantenna.com>
 +R:    Sergey Matyukevich <geomatsi@gmail.com>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
  F:    drivers/net/wireless/quantenna
  RADEON and AMDGPU DRM DRIVERS
  M:    Alex Deucher <alexander.deucher@amd.com>
  M:    Christian König <christian.koenig@amd.com>
 -M:    David (ChunMing) Zhou <David1.Zhou@amd.com>
  L:    amd-gfx@lists.freedesktop.org
  S:    Supported
  T:    git git://people.freedesktop.org/~agd5f/linux
@@@ -14231,7 -14140,7 +14244,7 @@@ M:   Hans Verkuil <hverkuil@xs4all.nl
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 -F:    drivers/media/usb/rainshadow-cec/*
 +F:    drivers/media/cec/usb/rainshadow/
  
  RALINK MIPS ARCHITECTURE
  M:    John Crispin <john@phrozen.org>
@@@ -14325,7 -14234,7 +14338,7 @@@ L:   linux-rdma@vger.kernel.or
  L:    rds-devel@oss.oracle.com (moderated for non-subscribers)
  S:    Supported
  W:    https://oss.oracle.com/projects/rds/
 -F:    Documentation/networking/rds.txt
 +F:    Documentation/networking/rds.rst
  F:    net/rds/
  
  RDT - RESOURCE ALLOCATION
@@@ -14334,7 -14243,7 +14347,7 @@@ M:   Reinette Chatre <reinette.chatre@int
  L:    linux-kernel@vger.kernel.org
  S:    Supported
  F:    Documentation/x86/resctrl*
 -F:    arch/x86/include/asm/resctrl_sched.h
 +F:    arch/x86/include/asm/resctrl.h
  F:    arch/x86/kernel/cpu/resctrl/
  F:    tools/testing/selftests/resctrl/
  
@@@ -14584,19 -14493,10 +14597,19 @@@ ROCKCHIP RASTER 2D GRAPHIC ACCELERATIO
  M:    Jacob Chen <jacob-chen@iotwrt.com>
  M:    Ezequiel Garcia <ezequiel@collabora.com>
  L:    linux-media@vger.kernel.org
 +L:    linux-rockchip@lists.infradead.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/media/rockchip-rga.txt
 +F:    Documentation/devicetree/bindings/media/rockchip-rga.yaml
  F:    drivers/media/platform/rockchip/rga/
  
 +ROCKCHIP VIDEO DECODER DRIVER
 +M:    Ezequiel Garcia <ezequiel@collabora.com>
 +L:    linux-media@vger.kernel.org
 +L:    linux-rockchip@lists.infradead.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/media/rockchip,vdec.yaml
 +F:    drivers/staging/media/rkvdec/
 +
  ROCKER DRIVER
  M:    Jiri Pirko <jiri@resnulli.us>
  L:    netdev@vger.kernel.org
@@@ -14708,7 -14608,7 +14721,7 @@@ M:   David Howells <dhowells@redhat.com
  L:    linux-afs@lists.infradead.org
  S:    Supported
  W:    https://www.infradead.org/~dhowells/kafs/
 -F:    Documentation/networking/rxrpc.txt
 +F:    Documentation/networking/rxrpc.rst
  F:    include/keys/rxrpc-type.h
  F:    include/net/af_rxrpc.h
  F:    include/trace/events/rxrpc.h
@@@ -14750,7 -14650,6 +14763,7 @@@ S:   Supporte
  W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    block/partitions/ibm.c
  F:    drivers/s390/block/dasd*
 +F:    include/linux/dasd_mod.h
  
  S390 IOMMU (PCI)
  M:    Gerald Schaefer <gerald.schaefer@de.ibm.com>
@@@ -14846,7 -14745,7 +14859,7 @@@ L:   linux-media@vger.kernel.or
  S:    Odd fixes
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/saa7134*
 +F:    Documentation/driver-api/media/drivers/saa7134*
  F:    drivers/media/pci/saa7134/
  
  SAA7146 VIDEO4LINUX-2 DRIVER
@@@ -15117,7 -15016,7 +15130,7 @@@ M:   Marcelo Ricardo Leitner <marcelo.lei
  L:    linux-sctp@vger.kernel.org
  S:    Maintained
  W:    http://lksctp.sourceforge.net
 -F:    Documentation/networking/sctp.txt
 +F:    Documentation/networking/sctp.rst
  F:    include/linux/sctp.h
  F:    include/net/sctp/
  F:    include/uapi/linux/sctp.h
@@@ -15344,6 -15243,11 +15357,6 @@@ T:  git git://linuxtv.org/media_tree.gi
  F:    drivers/media/i2c/rj54n1cb0c.c
  F:    include/media/i2c/rj54n1cb0c.h
  
 -SH_VEU V4L2 MEM2MEM DRIVER
 -L:    linux-media@vger.kernel.org
 -S:    Orphan
 -F:    drivers/media/platform/sh_veu.c
 -
  SH_VOU V4L2 OUTPUT DRIVER
  L:    linux-media@vger.kernel.org
  S:    Orphan
@@@ -15588,15 -15492,6 +15601,15 @@@ M: Nicolas Pitre <nico@fluxnic.net
  S:    Odd Fixes
  F:    drivers/net/ethernet/smsc/smc91x.*
  
 +SECURE MONITOR CALL(SMC) CALLING CONVENTION (SMCCC)
 +M:    Mark Rutland <mark.rutland@arm.com>
 +M:    Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 +M:    Sudeep Holla <sudeep.holla@arm.com>
 +L:    linux-arm-kernel@lists.infradead.org
 +S:    Maintained
 +F:    drivers/firmware/smccc/
 +F:    include/linux/arm-smccc.h
 +
  SMIA AND SMIA++ IMAGE SENSOR DRIVER
  M:    Sakari Ailus <sakari.ailus@linux.intel.com>
  L:    linux-media@vger.kernel.org
@@@ -15665,7 -15560,7 +15678,7 @@@ SOCIONEXT (SNI) AVE NETWORK DRIVE
  M:    Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
 +F:    Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
  F:    drivers/net/ethernet/socionext/sni_ave.c
  
  SOCIONEXT (SNI) NETSEC NETWORK DRIVER
@@@ -15773,7 -15668,7 +15786,7 @@@ F:   drivers/ssb
  F:    include/linux/ssb/
  
  SONY IMX214 SENSOR DRIVER
 -M:    Ricardo Ribalda <ricardo.ribalda@gmail.com>
 +M:    Ricardo Ribalda <ribalda@kernel.org>
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
@@@ -15996,7 -15891,7 +16009,7 @@@ SPIDERNET NETWORK DRIVER for CEL
  M:    Ishizaki Kou <kou.ishizaki@toshiba.co.jp>
  L:    netdev@vger.kernel.org
  S:    Supported
 -F:    Documentation/networking/device_drivers/toshiba/spider_net.txt
 +F:    Documentation/networking/device_drivers/toshiba/spider_net.rst
  F:    drivers/net/ethernet/toshiba/spider_net*
  
  SPMI SUBSYSTEM
@@@ -16013,7 -15908,7 +16026,7 @@@ M:   Jeremy Kerr <jk@ozlabs.org
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Supported
  W:    http://www.ibm.com/developerworks/power/cell/
 -F:    Documentation/filesystems/spufs.txt
 +F:    Documentation/filesystems/spufs/spufs.rst
  F:    arch/powerpc/platforms/cell/spufs/
  
  SQUASHFS FILE SYSTEM
@@@ -16066,13 -15961,6 +16079,13 @@@ L: stable@vger.kernel.or
  S:    Supported
  F:    Documentation/process/stable-kernel-rules.rst
  
 +STAGING - ATOMISP DRIVER
 +M:    Mauro Carvalho Chehab <mchehab@kernel.org>
 +R:    Sakari Ailus <sakari.ailus@linux.intel.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +F:    drivers/staging/media/atomisp/
 +
  STAGING - COMEDI
  M:    Ian Abbott <abbotti@mev.co.uk>
  M:    H Hartley Sweeten <hsweeten@visionengravers.com>
@@@ -16368,9 -16256,10 +16381,10 @@@ F: drivers/tty/serial/8250/8250_lpss.
  
  SYNOPSYS DESIGNWARE APB GPIO DRIVER
  M:    Hoan Tran <hoan@os.amperecomputing.com>
+ M:    Serge Semin <fancer.lancer@gmail.com>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
- F:    Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt
+ F:    Documentation/devicetree/bindings/gpio/snps,dw-apb-gpio.yaml
  F:    drivers/gpio/gpio-dwapb.c
  
  SYNOPSYS DESIGNWARE AXI DMAC DRIVER
@@@ -16728,16 -16617,6 +16742,16 @@@ M: Laxman Dewangan <ldewangan@nvidia.co
  S:    Supported
  F:    drivers/spi/spi-tegra*
  
 +TEGRA VIDEO DRIVER
 +M:    Thierry Reding <thierry.reding@gmail.com>
 +M:    Jonathan Hunter <jonathanh@nvidia.com>
 +M:    Sowjanya Komatineni <skomatineni@nvidia.com>
 +L:    linux-media@vger.kernel.org
 +L:    linux-tegra@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
 +F:    drivers/staging/media/tegra-video/
 +
  TEGRA XUSB PADCTL DRIVER
  M:    JC Kuo <jckuo@nvidia.com>
  S:    Supported
@@@ -16777,7 -16656,7 +16791,7 @@@ S:   Maintaine
  F:    sound/soc/ti/
  
  TEXAS INSTRUMENTS' DAC7612 DAC DRIVER
 -M:    Ricardo Ribalda <ricardo@ribalda.com>
 +M:    Ricardo Ribalda <ribalda@kernel.org>
  L:    linux-iio@vger.kernel.org
  S:    Supported
  F:    Documentation/devicetree/bindings/iio/dac/ti,dac7612.txt
@@@ -17110,7 -16989,7 +17124,7 @@@ M:   Samuel Chessman <chessman@tux.org
  L:    tlan-devel@lists.sourceforge.net (subscribers-only)
  S:    Maintained
  W:    http://sourceforge.net/projects/tlan/
 -F:    Documentation/networking/device_drivers/ti/tlan.txt
 +F:    Documentation/networking/device_drivers/ti/tlan.rst
  F:    drivers/net/ethernet/ti/tlan.*
  
  TM6000 VIDEO4LINUX DRIVER
@@@ -17119,7 -16998,7 +17133,7 @@@ L:   linux-media@vger.kernel.or
  S:    Odd fixes
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/tm6000*
 +F:    Documentation/admin-guide/media/tm6000*
  F:    drivers/media/usb/tm6000/
  
  TMIO/SDHI MMC DRIVER
@@@ -17300,7 -17179,7 +17314,7 @@@ TUN/TAP drive
  M:    Maxim Krasnyansky <maxk@qti.qualcomm.com>
  S:    Maintained
  W:    http://vtun.sourceforge.net/tun
 -F:    Documentation/networking/tuntap.txt
 +F:    Documentation/networking/tuntap.rst
  F:    arch/um/os-Linux/drivers/
  
  TURBOCHANNEL SUBSYSTEM
@@@ -17800,7 -17679,7 +17814,7 @@@ L:   linux-media@vger.kernel.or
  S:    Maintained
  W:    http://royale.zerezo.com/zr364xx/
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/zr364xx*
 +F:    Documentation/admin-guide/media/zr364xx*
  F:    drivers/media/usb/zr364xx/
  
  USER-MODE LINUX (UML)
@@@ -17949,7 -17828,7 +17963,7 @@@ L:   linux-media@vger.kernel.or
  S:    Maintained
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    drivers/media/platform/vicodec/*
 +F:    drivers/media/test-drivers/vicodec/*
  
  VIDEO I2C POLLING DRIVER
  M:    Matt Ranostay <matt.ranostay@konsulko.com>
@@@ -17980,7 -17859,7 +17994,7 @@@ L:   linux-media@vger.kernel.or
  S:    Maintained
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    drivers/media/platform/vimc/*
 +F:    drivers/media/test-drivers/vimc/*
  
  VIRT LIB
  M:    Alex Williamson <alex.williamson@redhat.com>
@@@ -18147,7 -18026,7 +18161,7 @@@ L:   linux-media@vger.kernel.or
  S:    Maintained
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    drivers/media/platform/vivid/*
 +F:    drivers/media/test-drivers/vivid/*
  
  VLYNQ BUS
  M:    Florian Fainelli <f.fainelli@gmail.com>
@@@ -18245,7 -18124,7 +18259,7 @@@ M:   David Ahern <dsahern@kernel.org
  M:    Shrijeet Mukherjee <shrijeet@gmail.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
 -F:    Documentation/networking/vrf.txt
 +F:    Documentation/networking/vrf.rst
  F:    drivers/net/vrf.c
  
  VSPRINTF
@@@ -18409,11 -18288,11 +18423,11 @@@ L:        patches@opensource.cirrus.co
  S:    Supported
  W:    https://github.com/CirrusLogic/linux-drivers/wiki
  T:    git https://github.com/CirrusLogic/linux-drivers.git
 -F:    Documentation/devicetree/bindings/extcon/extcon-arizona.txt
 -F:    Documentation/devicetree/bindings/mfd/arizona.txt
 +F:    Documentation/devicetree/bindings/extcon/wlf,arizona.yaml
 +F:    Documentation/devicetree/bindings/mfd/wlf,arizona.yaml
  F:    Documentation/devicetree/bindings/mfd/wm831x.txt
 -F:    Documentation/devicetree/bindings/regulator/arizona-regulator.txt
 -F:    Documentation/devicetree/bindings/sound/wlf,arizona.txt
 +F:    Documentation/devicetree/bindings/regulator/wlf,arizona.yaml
 +F:    Documentation/devicetree/bindings/sound/wlf,arizona.yaml
  F:    Documentation/hwmon/wm83??.rst
  F:    arch/arm/mach-s3c64xx/mach-crag6410*
  F:    drivers/clk/clk-wm83*.c
@@@ -18590,12 -18469,8 +18604,12 @@@ R: Jonathan Lemon <jonathan.lemon@gmail
  L:    netdev@vger.kernel.org
  L:    bpf@vger.kernel.org
  S:    Maintained
 -F:    kernel/bpf/xskmap.c
 +F:    include/net/xdp_sock*
 +F:    include/net/xsk_buff_pool.h
 +F:    include/uapi/linux/if_xdp.h
  F:    net/xdp/
 +F:    samples/bpf/xdpsock*
 +F:    tools/lib/bpf/xsk*
  
  XEN BLOCK SUBSYSTEM
  M:    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
@@@ -18685,8 -18560,8 +18699,8 @@@ W:   http://xfs.org
  T:    git git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git
  F:    Documentation/ABI/testing/sysfs-fs-xfs
  F:    Documentation/admin-guide/xfs.rst
 -F:    Documentation/filesystems/xfs-delayed-logging-design.txt
 -F:    Documentation/filesystems/xfs-self-describing-metadata.txt
 +F:    Documentation/filesystems/xfs-delayed-logging-design.rst
 +F:    Documentation/filesystems/xfs-self-describing-metadata.rst
  F:    fs/xfs/
  F:    include/uapi/linux/dqblk_xfs.h
  F:    include/uapi/linux/fsmap.h
@@@ -18787,7 -18662,7 +18801,7 @@@ L:   linux-hams@vger.kernel.or
  S:    Maintained
  W:    http://yaina.de/jreuter/
  W:    http://www.qsl.net/dl1bke/
 -F:    Documentation/networking/z8530drv.txt
 +F:    Documentation/networking/z8530drv.rst
  F:    drivers/net/hamradio/*scc.c
  F:    drivers/net/hamradio/z8530.h
  
@@@ -14,7 -14,6 +14,6 @@@
  #include <linux/resource.h>
  #include <linux/spinlock.h>
  #include <linux/types.h>
- #include <linux/version.h>
  
  /*
   * There are 3 YU GPIO blocks:
@@@ -110,8 -109,8 +109,8 @@@ static int mlxbf2_gpio_get_lock_res(str
        }
  
        yu_arm_gpio_lock_param.io = devm_ioremap(dev, res->start, size);
-       if (IS_ERR(yu_arm_gpio_lock_param.io))
-               ret = PTR_ERR(yu_arm_gpio_lock_param.io);
+       if (!yu_arm_gpio_lock_param.io)
+               ret = -ENOMEM;
  
  exit:
        mutex_unlock(yu_arm_gpio_lock_param.lock);
@@@ -127,8 -126,8 +126,8 @@@ static int mlxbf2_gpio_lock_acquire(str
  {
        u32 arm_gpio_lock_val;
  
 -      spin_lock(&gs->gc.bgpio_lock);
        mutex_lock(yu_arm_gpio_lock_param.lock);
 +      spin_lock(&gs->gc.bgpio_lock);
  
        arm_gpio_lock_val = readl(yu_arm_gpio_lock_param.io);
  
         * When lock active bit[31] is set, ModeX is write enabled
         */
        if (YU_LOCK_ACTIVE_BIT(arm_gpio_lock_val)) {
 -              mutex_unlock(yu_arm_gpio_lock_param.lock);
                spin_unlock(&gs->gc.bgpio_lock);
 +              mutex_unlock(yu_arm_gpio_lock_param.lock);
                return -EINVAL;
        }
  
  static void mlxbf2_gpio_lock_release(struct mlxbf2_gpio_context *gs)
  {
        writel(YU_ARM_GPIO_LOCK_RELEASE, yu_arm_gpio_lock_param.io);
 -      mutex_unlock(yu_arm_gpio_lock_param.lock);
        spin_unlock(&gs->gc.bgpio_lock);
 +      mutex_unlock(yu_arm_gpio_lock_param.lock);
  }
  
  /*
diff --combined drivers/gpio/gpiolib.c
@@@ -296,6 -296,9 +296,9 @@@ static int gpiodev_add_to_list(struct g
  
  /*
   * Convert a GPIO name to its descriptor
+  * Note that there is no guarantee that GPIO names are globally unique!
+  * Hence this function will return, if it exists, a reference to the first GPIO
+  * line found that matches the given name.
   */
  static struct gpio_desc *gpio_name_to_desc(const char * const name)
  {
  }
  
  /*
-  * Takes the names from gc->names and checks if they are all unique. If they
-  * are, they are assigned to their gpio descriptors.
+  * Take the names from gc->names and assign them to their GPIO descriptors.
+  * Warn if a name is already used for a GPIO line on a different GPIO chip.
   *
-  * Warning if one of the names is already used for a different GPIO.
+  * Note that:
+  *   1. Non-unique names are still accepted,
+  *   2. Name collisions within the same GPIO chip are not reported.
   */
  static int gpiochip_set_desc_names(struct gpio_chip *gc)
  {
@@@ -729,10 -734,6 +734,10 @@@ static int linehandle_create(struct gpi
                        if (ret)
                                goto out_free_descs;
                }
 +
 +              atomic_notifier_call_chain(&desc->gdev->notifier,
 +                                         GPIOLINE_CHANGED_REQUESTED, desc);
 +
                dev_dbg(&gdev->dev, "registered chardev handle for line %d\n",
                        offset);
        }
@@@ -1087,9 -1088,6 +1092,9 @@@ static int lineevent_create(struct gpio
        if (ret)
                goto out_free_desc;
  
 +      atomic_notifier_call_chain(&desc->gdev->notifier,
 +                                 GPIOLINE_CHANGED_REQUESTED, desc);
 +
        le->irq = gpiod_to_irq(desc);
        if (le->irq <= 0) {
                ret = -ENODEV;
@@@ -1267,8 -1265,7 +1272,7 @@@ static long gpio_ioctl(struct file *fil
                if (copy_to_user(ip, &chipinfo, sizeof(chipinfo)))
                        return -EFAULT;
                return 0;
-       } else if (cmd == GPIO_GET_LINEINFO_IOCTL ||
-                  cmd == GPIO_GET_LINEINFO_WATCH_IOCTL) {
+       } else if (cmd == GPIO_GET_LINEINFO_IOCTL) {
                struct gpioline_info lineinfo;
  
                if (copy_from_user(&lineinfo, ip, sizeof(lineinfo)))
  
                hwgpio = gpio_chip_hwgpio(desc);
  
-               if (cmd == GPIO_GET_LINEINFO_WATCH_IOCTL &&
-                   test_bit(hwgpio, priv->watched_lines))
-                       return -EBUSY;
                gpio_desc_to_lineinfo(desc, &lineinfo);
  
                if (copy_to_user(ip, &lineinfo, sizeof(lineinfo)))
                        return -EFAULT;
-               if (cmd == GPIO_GET_LINEINFO_WATCH_IOCTL)
-                       set_bit(hwgpio, priv->watched_lines);
                return 0;
        } else if (cmd == GPIO_GET_LINEHANDLE_IOCTL) {
                return linehandle_create(gdev, ip);
        } else if (cmd == GPIO_GET_LINEEVENT_IOCTL) {
                return lineevent_create(gdev, ip);
+       } else if (cmd == GPIO_GET_LINEINFO_WATCH_IOCTL) {
+               struct gpioline_info lineinfo;
+               if (copy_from_user(&lineinfo, ip, sizeof(lineinfo)))
+                       return -EFAULT;
+               desc = gpiochip_get_desc(gc, lineinfo.line_offset);
+               if (IS_ERR(desc))
+                       return PTR_ERR(desc);
+               hwgpio = gpio_chip_hwgpio(desc);
+               if (test_bit(hwgpio, priv->watched_lines))
+                       return -EBUSY;
+               gpio_desc_to_lineinfo(desc, &lineinfo);
+               if (copy_to_user(ip, &lineinfo, sizeof(lineinfo)))
+                       return -EFAULT;
+               set_bit(hwgpio, priv->watched_lines);
+               return 0;
        } else if (cmd == GPIO_GET_LINEINFO_UNWATCH_IOCTL) {
                if (copy_from_user(&offset, ip, sizeof(offset)))
                        return -EFAULT;
@@@ -1538,9 -1549,8 +1556,8 @@@ static int gpiochip_setup_dev(struct gp
  
        /* From this point, the .release() function cleans up gpio_device */
        gdev->dev.release = gpiodevice_release;
-       pr_debug("%s: registered GPIOs %d to %d on device: %s (%s)\n",
-                __func__, gdev->base, gdev->base + gdev->ngpio - 1,
-                dev_name(&gdev->dev), gdev->chip->label ? : "generic");
+       dev_dbg(&gdev->dev, "registered GPIOs %d to %d on %s\n", gdev->base,
+               gdev->base + gdev->ngpio - 1, gdev->chip->label ? : "generic");
  
        return 0;
  
@@@ -1556,8 -1566,8 +1573,8 @@@ static void gpiochip_machine_hog(struc
  
        desc = gpiochip_get_desc(gc, hog->chip_hwnum);
        if (IS_ERR(desc)) {
-               pr_err("%s: unable to get GPIO desc: %ld\n",
-                      __func__, PTR_ERR(desc));
+               chip_err(gc, "%s: unable to get GPIO desc: %ld\n", __func__,
+                        PTR_ERR(desc));
                return;
        }
  
  
        rv = gpiod_hog(desc, hog->line_name, hog->lflags, hog->dflags);
        if (rv)
-               pr_err("%s: unable to hog GPIO line (%s:%u): %d\n",
-                      __func__, gc->label, hog->chip_hwnum, rv);
+               gpiod_err(desc, "%s: unable to hog GPIO line (%s:%u): %d\n",
+                         __func__, gc->label, hog->chip_hwnum, rv);
  }
  
  static void machine_gpiochip_add(struct gpio_chip *gc)
@@@ -1592,8 -1602,8 +1609,8 @@@ static void gpiochip_setup_devs(void
        list_for_each_entry(gdev, &gpio_devices, list) {
                ret = gpiochip_setup_dev(gdev);
                if (ret)
-                       pr_err("%s: Failed to initialize gpio device (%d)\n",
-                              dev_name(&gdev->dev), ret);
+                       dev_err(&gdev->dev,
+                               "Failed to initialize gpio device (%d)\n", ret);
        }
  }
  
@@@ -2461,32 -2471,37 +2478,37 @@@ static void gpiochip_irq_relres(struct 
        gpiochip_relres_irq(gc, d->hwirq);
  }
  
+ static void gpiochip_irq_mask(struct irq_data *d)
+ {
+       struct gpio_chip *gc = irq_data_get_irq_chip_data(d);
+       if (gc->irq.irq_mask)
+               gc->irq.irq_mask(d);
+       gpiochip_disable_irq(gc, d->hwirq);
+ }
+ static void gpiochip_irq_unmask(struct irq_data *d)
+ {
+       struct gpio_chip *gc = irq_data_get_irq_chip_data(d);
+       gpiochip_enable_irq(gc, d->hwirq);
+       if (gc->irq.irq_unmask)
+               gc->irq.irq_unmask(d);
+ }
  static void gpiochip_irq_enable(struct irq_data *d)
  {
        struct gpio_chip *gc = irq_data_get_irq_chip_data(d);
  
        gpiochip_enable_irq(gc, d->hwirq);
-       if (gc->irq.irq_enable)
-               gc->irq.irq_enable(d);
-       else
-               gc->irq.chip->irq_unmask(d);
+       gc->irq.irq_enable(d);
  }
  
  static void gpiochip_irq_disable(struct irq_data *d)
  {
        struct gpio_chip *gc = irq_data_get_irq_chip_data(d);
  
-       /*
-        * Since we override .irq_disable() we need to mimic the
-        * behaviour of __irq_disable() in irq/chip.c.
-        * First call .irq_disable() if it exists, else mimic the
-        * behaviour of mask_irq() which calls .irq_mask() if
-        * it exists.
-        */
-       if (gc->irq.irq_disable)
-               gc->irq.irq_disable(d);
-       else if (gc->irq.chip->irq_mask)
-               gc->irq.chip->irq_mask(d);
+       gc->irq.irq_disable(d);
        gpiochip_disable_irq(gc, d->hwirq);
  }
  
@@@ -2511,10 -2526,22 +2533,22 @@@ static void gpiochip_set_irq_hooks(stru
                          "detected irqchip that is shared with multiple gpiochips: please fix the driver.\n");
                return;
        }
-       gc->irq.irq_enable = irqchip->irq_enable;
-       gc->irq.irq_disable = irqchip->irq_disable;
-       irqchip->irq_enable = gpiochip_irq_enable;
-       irqchip->irq_disable = gpiochip_irq_disable;
+       if (irqchip->irq_disable) {
+               gc->irq.irq_disable = irqchip->irq_disable;
+               irqchip->irq_disable = gpiochip_irq_disable;
+       } else {
+               gc->irq.irq_mask = irqchip->irq_mask;
+               irqchip->irq_mask = gpiochip_irq_mask;
+       }
+       if (irqchip->irq_enable) {
+               gc->irq.irq_enable = irqchip->irq_enable;
+               irqchip->irq_enable = gpiochip_irq_enable;
+       } else {
+               gc->irq.irq_unmask = irqchip->irq_unmask;
+               irqchip->irq_unmask = gpiochip_irq_unmask;
+       }
  }
  
  /**
@@@ -2702,7 -2729,7 +2736,7 @@@ int gpiochip_irqchip_add_key(struct gpi
                return -EINVAL;
  
        if (!gc->parent) {
-               pr_err("missing gpiochip .dev parent pointer\n");
+               chip_err(gc, "missing gpiochip .dev parent pointer\n");
                return -EINVAL;
        }
        gc->irq.threaded = threaded;
  }
  EXPORT_SYMBOL_GPL(gpiochip_irqchip_add_key);
  
+ /**
+  * gpiochip_irqchip_add_domain() - adds an irqdomain to a gpiochip
+  * @gc: the gpiochip to add the irqchip to
+  * @domain: the irqdomain to add to the gpiochip
+  *
+  * This function adds an IRQ domain to the gpiochip.
+  */
+ int gpiochip_irqchip_add_domain(struct gpio_chip *gc,
+                               struct irq_domain *domain)
+ {
+       if (!domain)
+               return -EINVAL;
+       gc->to_irq = gpiochip_to_irq;
+       gc->irq.domain = domain;
+       return 0;
+ }
+ EXPORT_SYMBOL_GPL(gpiochip_irqchip_add_domain);
  #else /* CONFIG_GPIOLIB_IRQCHIP */
  
  static inline int gpiochip_add_irqchip(struct gpio_chip *gc,
@@@ -3005,6 -3052,8 +3059,6 @@@ static int gpiod_request_commit(struct 
        }
  done:
        spin_unlock_irqrestore(&gpio_lock, flags);
 -      atomic_notifier_call_chain(&desc->gdev->notifier,
 -                                 GPIOLINE_CHANGED_REQUESTED, desc);
        return ret;
  }
  
@@@ -4220,9 -4269,7 +4274,9 @@@ int gpiochip_lock_as_irq(struct gpio_ch
                }
        }
  
 -      if (test_bit(FLAG_IS_OUT, &desc->flags)) {
 +      /* To be valid for IRQ the line needs to be input or open drain */
 +      if (test_bit(FLAG_IS_OUT, &desc->flags) &&
 +          !test_bit(FLAG_OPEN_DRAIN, &desc->flags)) {
                chip_err(gc,
                         "%s: tried to flag a GPIO set as output for IRQ\n",
                         __func__);
@@@ -4285,12 -4332,7 +4339,12 @@@ void gpiochip_enable_irq(struct gpio_ch
  
        if (!IS_ERR(desc) &&
            !WARN_ON(!test_bit(FLAG_USED_AS_IRQ, &desc->flags))) {
 -              WARN_ON(test_bit(FLAG_IS_OUT, &desc->flags));
 +              /*
 +               * We must not be output when using IRQ UNLESS we are
 +               * open drain.
 +               */
 +              WARN_ON(test_bit(FLAG_IS_OUT, &desc->flags) &&
 +                      !test_bit(FLAG_OPEN_DRAIN, &desc->flags));
                set_bit(FLAG_IRQ_IS_ENABLED, &desc->flags);
        }
  }
@@@ -4653,7 -4695,7 +4707,7 @@@ static struct gpio_desc *gpiod_find(str
        if (!table)
                return desc;
  
-       for (p = &table->table[0]; p->chip_label; p++) {
+       for (p = &table->table[0]; p->key; p++) {
                struct gpio_chip *gc;
  
                /* idx must always match exactly */
                if (p->con_id && (!con_id || strcmp(p->con_id, con_id)))
                        continue;
  
-               gc = find_chip_by_name(p->chip_label);
+               if (p->chip_hwnum == U16_MAX) {
+                       desc = gpio_name_to_desc(p->key);
+                       if (desc) {
+                               *flags = p->flags;
+                               return desc;
+                       }
+                       dev_warn(dev, "cannot find GPIO line %s, deferring\n",
+                                p->key);
+                       return ERR_PTR(-EPROBE_DEFER);
+               }
+               gc = find_chip_by_name(p->key);
  
                if (!gc) {
                        /*
                         * As the lookup table indicates a chip with
-                        * p->chip_label should exist, assume it may
+                        * p->key should exist, assume it may
                         * still appear later and let the interested
                         * consumer be probed again or let the Deferred
                         * Probe infrastructure handle the error.
                         */
                        dev_warn(dev, "cannot find GPIO chip %s, deferring\n",
-                                p->chip_label);
+                                p->key);
                        return ERR_PTR(-EPROBE_DEFER);
                }
  
@@@ -4706,7 -4760,7 +4772,7 @@@ static int platform_gpio_count(struct d
        if (!table)
                return -ENOENT;
  
-       for (p = &table->table[0]; p->chip_label; p++) {
+       for (p = &table->table[0]; p->key; p++) {
                if ((con_id && p->con_id && !strcmp(con_id, p->con_id)) ||
                    (!con_id && !p->con_id))
                        count++;
@@@ -4877,7 -4931,7 +4943,7 @@@ int gpiod_configure_flags(struct gpio_d
  
        /* No particular flag request, return here... */
        if (!(dflags & GPIOD_FLAGS_BIT_DIR_SET)) {
-               pr_debug("no flags found for %s\n", con_id);
+               gpiod_dbg(desc, "no flags found for %s\n", con_id);
                return 0;
        }
  
@@@ -4973,9 -5027,6 +5039,9 @@@ struct gpio_desc *__must_check gpiod_ge
                return ERR_PTR(ret);
        }
  
 +      atomic_notifier_call_chain(&desc->gdev->notifier,
 +                                 GPIOLINE_CHANGED_REQUESTED, desc);
 +
        return desc;
  }
  EXPORT_SYMBOL_GPL(gpiod_get_index);
@@@ -5041,9 -5092,6 +5107,9 @@@ struct gpio_desc *fwnode_get_named_gpio
                return ERR_PTR(ret);
        }
  
 +      atomic_notifier_call_chain(&desc->gdev->notifier,
 +                                 GPIOLINE_CHANGED_REQUESTED, desc);
 +
        return desc;
  }
  EXPORT_SYMBOL_GPL(fwnode_get_named_gpiod);
@@@ -5108,8 -5156,7 +5174,7 @@@ int gpiod_hog(struct gpio_desc *desc, c
        /* Mark GPIO as hogged so it can be identified and removed later */
        set_bit(FLAG_IS_HOGGED, &desc->flags);
  
-       pr_info("GPIO line %d (%s) hogged as %s%s\n",
-               desc_to_gpio(desc), name,
+       gpiod_info(desc, "hogged as %s%s\n",
                (dflags & GPIOD_FLAGS_BIT_DIR_OUT) ? "output" : "input",
                (dflags & GPIOD_FLAGS_BIT_DIR_OUT) ?
                  (dflags & GPIOD_FLAGS_BIT_DIR_VAL) ? "/high" : "/low" : "");