]> Git Repo - J-linux.git/commitdiff
Merge tag 'char-misc-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
authorLinus Torvalds <[email protected]>
Thu, 27 Apr 2023 19:07:50 +0000 (12:07 -0700)
committerLinus Torvalds <[email protected]>
Thu, 27 Apr 2023 19:07:50 +0000 (12:07 -0700)
Pull char/misc drivers updates from Greg KH:
 "Here is the "big" set of char/misc and other driver subsystems for
  6.4-rc1.

  It's pretty big, but due to the removal of pcmcia drivers, almost
  breaks even for number of lines added vs. removed, a nice change.

  Included in here are:

   - removal of unused PCMCIA drivers (finally!)

   - Interconnect driver updates and additions

   - Lots of IIO driver updates and additions

   - MHI driver updates

   - Coresight driver updates

   - NVMEM driver updates, which required some OF updates

   - W1 driver updates and a new maintainer to manage the subsystem

   - FPGA driver updates

   - New driver subsystem, CDX, for AMD systems

   - lots of other small driver updates and additions

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

* tag 'char-misc-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (196 commits)
  mcb-lpc: Reallocate memory region to avoid memory overlapping
  mcb-pci: Reallocate memory region to avoid memory overlapping
  mcb: Return actual parsed size when reading chameleon table
  kernel/configs: Drop Android config fragments
  virt: acrn: Replace obsolete memalign() with posix_memalign()
  spmi: Add a check for remove callback when removing a SPMI driver
  spmi: fix W=1 kernel-doc warnings
  spmi: mtk-pmif: Drop of_match_ptr for ID table
  spmi: pmic-arb: Convert to platform remove callback returning void
  spmi: mtk-pmif: Convert to platform remove callback returning void
  spmi: hisi-spmi-controller: Convert to platform remove callback returning void
  w1: gpio: remove unnecessary ENOMEM messages
  w1: omap-hdq: remove unnecessary ENOMEM messages
  w1: omap-hdq: add SPDX tag
  w1: omap-hdq: allow compile testing
  w1: matrox: remove unnecessary ENOMEM messages
  w1: matrox: use inline over __inline__
  w1: matrox: switch from asm to linux header
  w1: ds2482: do not use assignment in if condition
  w1: ds2482: drop unnecessary header
  ...

21 files changed:
1  2 
CREDITS
MAINTAINERS
arch/powerpc/configs/ppc6xx_defconfig
drivers/acpi/bus.c
drivers/fpga/fpga-bridge.c
drivers/gpu/drm/drm_mipi_dsi.c
drivers/i2c/i2c-core-of.c
drivers/iio/adc/at91-sama5d2_adc.c
drivers/iommu/iommu.c
drivers/misc/genwqe/card_base.c
drivers/misc/hpilo.c
drivers/misc/mei/hdcp/mei_hdcp.c
drivers/misc/mei/main.c
drivers/of/Makefile
drivers/of/base.c
drivers/spi/spi.c
drivers/tty/Kconfig
drivers/usb/common/ulpi.c
drivers/w1/masters/w1-gpio.c
include/linux/of.h
include/linux/of_device.h

diff --combined CREDITS
index b6c93e0a62c31b9bf396944b164e6b899eb228be,216e86f56dd9040c99361d39715ffb1a4c868da0..c05f4ea58ddcd520d25ffed28922f1843ba1a238
+++ b/CREDITS
@@@ -229,10 -229,6 +229,10 @@@ S: University of Notre Dam
  S: Notre Dame, Indiana
  S: USA
  
 +N: Kai Bankett
 +D: QNX6 filesystem
 +
  N: Greg Banks
  D: IDT77105 ATM network driver
@@@ -890,10 -886,6 +890,10 @@@ W: http://jdelvare.nerim.net
  D: Several hardware monitoring drivers
  S: France
  
 +N: Frank "Jedi/Sector One" Denis
 +D: QNX4 filesystem
 +
  N: Peter Denison
  W: http://www.pnd-pc.demon.co.uk/promise/
@@@ -1267,10 -1259,6 +1267,10 @@@ S: US
  N: Adam Fritzler
  
 +N: Richard "Scuba" A. Frowijn
 +D: QNX4 filesystem
 +
  N: Fernando Fuganti
@@@ -2230,10 -2218,6 +2230,10 @@@ D: Digiboard PC/Xe and PC/Xi, Digiboar
  D: NUMA support, Slab allocators, Page migration
  D: Scalability, Time subsystem
  
 +N: Anders Larsen
 +D: QNX4 filesystem
 +
  N: Paul Laufer
  D: Soundblaster driver fixes, ISAPnP quirk
@@@ -3475,6 -3459,11 +3475,11 @@@ D: several improvements to system progr
  S: Oldenburg
  S: Germany
  
+ N: Mathieu Poirier
+ D: CoreSight kernel subsystem, Maintainer 2014-2022
+ D: Perf tool support for CoreSight
  N: Robert Schwebel
  W: https://www.schwebel.de
diff --combined MAINTAINERS
index 40b586033a060c04c9511363b001dd4dd9f359bb,5408ca5771a2c7b8f82db7fca4e01e772b03f891..efb03e13c4043be066bbe8edf0f2f653a8ffcda2
@@@ -224,13 -224,13 +224,13 @@@ S:      Orphan / Obsolet
  F:    drivers/net/ethernet/8390/
  
  9P FILE SYSTEM
 -M:    Eric Van Hensbergen <ericvh@gmail.com>
 +M:    Eric Van Hensbergen <ericvh@kernel.org>
  M:    Latchesar Ionkov <[email protected]>
  M:    Dominique Martinet <[email protected]>
  R:    Christian Schoenebeck <[email protected]>
 -L:    v9fs[email protected]
 +L:    v9fs@lists.linux.dev
  S:    Maintained
 -W:    http://swik.net/v9fs
 +W:    http://github.com/v9fs
  Q:    http://patchwork.kernel.org/project/v9fs-devel/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs.git
  T:    git git://github.com/martinetd/linux.git
@@@ -964,6 -964,14 +964,14 @@@ Q:       https://patchwork.kernel.org/project
  F:    drivers/infiniband/hw/efa/
  F:    include/uapi/rdma/efa-abi.h
  
+ AMD CDX BUS DRIVER
+ M:    Nipun Gupta <[email protected]>
+ M:    Nikhil Agarwal <[email protected]>
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/bus/xlnx,versal-net-cdx.yaml
+ F:    drivers/cdx/*
+ F:    include/linux/cdx/*
  AMD CRYPTOGRAPHIC COPROCESSOR (CCP) DRIVER
  M:    Tom Lendacky <[email protected]>
  M:    John Allen <[email protected]>
@@@ -1041,15 -1049,6 +1049,15 @@@ F:    drivers/gpu/drm/amd/include/vi_struc
  F:    include/uapi/linux/kfd_ioctl.h
  F:    include/uapi/linux/kfd_sysfs.h
  
 +AMD PDS CORE DRIVER
 +M:    Shannon Nelson <[email protected]>
 +M:    Brett Creeley <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    Documentation/networking/device_drivers/ethernet/amd/pds_core.rst
 +F:    drivers/net/ethernet/amd/pds_core/
 +F:    include/linux/pds/
 +
  AMD SPI DRIVER
  M:    Sanjay R Mehta <[email protected]>
  S:    Maintained
@@@ -1080,7 -1079,7 +1088,7 @@@ M:      Naveen Krishna Chatradhi <naveenkris
  R:    Carlos Bilbao <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/x86/amd_hsmp.rst
 +F:    Documentation/arch/x86/amd_hsmp.rst
  F:    arch/x86/include/asm/amd_hsmp.h
  F:    arch/x86/include/uapi/asm/amd_hsmp.h
  F:    drivers/platform/x86/amd/hsmp.c
@@@ -1236,6 -1235,12 +1244,6 @@@ F:     Documentation/devicetree/bindings/ii
  F:    drivers/iio/addac/ad74413r.c
  F:    include/dt-bindings/iio/addac/adi,ad74413r.h
  
 -ANALOG DEVICES INC AD9389B DRIVER
 -M:    Hans Verkuil <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    drivers/media/i2c/ad9389b*
 -
  ANALOG DEVICES INC ADA4250 DRIVER
  M:    Antoniu Miclaus <[email protected]>
  L:    [email protected]
@@@ -1431,11 -1436,6 +1439,6 @@@ S:     Supporte
  F:    drivers/clk/analogbits/*
  F:    include/linux/clk/analogbits*
  
- ANDROID CONFIG FRAGMENTS
- M:    Rob Herring <[email protected]>
- S:    Supported
- F:    kernel/configs/android*
  ANDROID DRIVERS
  M:    Greg Kroah-Hartman <[email protected]>
  M:    Arve Hjønnevåg <[email protected]>
@@@ -2075,7 -2075,6 +2078,7 @@@ M:      Alexander Sverdlin <alexander.sverdl
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml
 +F:    Documentation/devicetree/bindings/sound/cirrus,ep9301-*
  F:    arch/arm/boot/compressed/misc-ep93xx.h
  F:    arch/arm/mach-ep93xx/
  F:    drivers/iio/adc/ep93xx_adc.c
@@@ -2095,7 -2094,6 +2098,6 @@@ F:      arch/arm/boot/dts/cx92755
  N:    digicolor
  
  ARM/CORESIGHT FRAMEWORK AND DRIVERS
- M:    Mathieu Poirier <[email protected]>
  M:    Suzuki K Poulose <[email protected]>
  R:    Mike Leach <[email protected]>
  R:    Leo Yan <[email protected]>
@@@ -2279,7 -2277,7 +2281,7 @@@ F:      arch/arm/boot/dts/intel-ixp
  F:    arch/arm/mach-ixp4xx/
  F:    drivers/bus/intel-ixp4xx-eb.c
  F:    drivers/clocksource/timer-ixp4xx.c
 -F:    drivers/crypto/ixp4xx_crypto.c
 +F:    drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c
  F:    drivers/gpio/gpio-ixp4xx.c
  F:    drivers/irqchip/irq-ixp4xx.c
  
@@@ -2608,12 -2606,6 +2610,12 @@@ F:    include/dt-bindings/*/qcom
  F:    include/linux/*/qcom*
  F:    include/linux/soc/qcom/
  
 +ARM/QUALCOMM CHROMEBOOK SUPPORT
 +R:    [email protected]
 +F:    arch/arm64/boot/dts/qcom/sc7180*
 +F:    arch/arm64/boot/dts/qcom/sc7280*
 +F:    arch/arm64/boot/dts/qcom/sdm845-cheza*
 +
  ARM/RDA MICRO ARCHITECTURE
  M:    Manivannan Sadhasivam <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -2664,7 -2656,6 +2666,7 @@@ F:      arch/arm64/boot/dts/renesas
  F:    arch/riscv/boot/dts/renesas/
  F:    drivers/soc/renesas/
  F:    include/linux/soc/renesas/
 +K:    \brenesas,
  
  ARM/RISCPC ARCHITECTURE
  M:    Russell King <[email protected]>
@@@ -4442,13 -4433,6 +4444,13 @@@ S:    Maintaine
  F:    drivers/scsi/BusLogic.*
  F:    drivers/scsi/FlashPoint.*
  
 +BXCAN CAN NETWORK DRIVER
 +M:    Dario Binacchi <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/net/can/st,stm32-bxcan.yaml
 +F:    drivers/net/can/bxcan.c
 +
  C-MEDIA CMI8788 DRIVER
  M:    Clemens Ladisch <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -4479,14 -4463,14 +4481,14 @@@ F:   Documentation/devicetree/bindings/ne
  F:    drivers/net/ieee802154/ca8210.c
  
  CANAAN/KENDRYTE K210 SOC FPIOA DRIVER
 -M:    Damien Le Moal <d[email protected]>
 +M:    Damien Le Moal <d[email protected]>
  L:    [email protected]
  L:    [email protected] (pinctrl driver)
  F:    Documentation/devicetree/bindings/pinctrl/canaan,k210-fpioa.yaml
  F:    drivers/pinctrl/pinctrl-k210.c
  
  CANAAN/KENDRYTE K210 SOC RESET CONTROLLER DRIVER
 -M:    Damien Le Moal <d[email protected]>
 +M:    Damien Le Moal <d[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -4494,7 -4478,7 +4496,7 @@@ F:      Documentation/devicetree/bindings/re
  F:    drivers/reset/reset-k210.c
  
  CANAAN/KENDRYTE K210 SOC SYSTEM CONTROLLER DRIVER
 -M:    Damien Le Moal <d[email protected]>
 +M:    Damien Le Moal <d[email protected]>
  L:    [email protected]
  S:    Maintained
  F:      Documentation/devicetree/bindings/mfd/canaan,k210-sysctl.yaml
@@@ -4923,7 -4907,6 +4925,7 @@@ L:      [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/sound/cirrus,cs*
  F:    include/dt-bindings/sound/cs*
 +F:    include/sound/cs*
  F:    sound/pci/hda/cs*
  F:    sound/pci/hda/hda_cs_dsp_ctl.*
  F:    sound/soc/codecs/cs*
@@@ -5959,6 -5942,11 +5961,6 @@@ F:     drivers/devfreq/event
  F:    include/dt-bindings/pmu/exynos_ppmu.h
  F:    include/linux/devfreq-event.h
  
 -DEVICE NUMBER REGISTRY
 -M:    Torben Mathiasen <[email protected]>
 -S:    Maintained
 -W:    http://lanana.org/docs/device-list/index.html
 -
  DEVICE RESOURCE MANAGEMENT HELPERS
  M:    Hans de Goede <[email protected]>
  R:    Matti Vaittinen <[email protected]>
@@@ -6221,7 -6209,6 +6223,7 @@@ DOCUMENTATION REPORTING ISSUE
  M:    Thorsten Leemhuis <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/admin-guide/quickly-build-trimmed-linux.rst
  F:    Documentation/admin-guide/reporting-issues.rst
  
  DOCUMENTATION SCRIPTS
@@@ -6333,9 -6320,7 +6335,9 @@@ F:      drivers/base
  F:    fs/debugfs/
  F:    fs/sysfs/
  F:    include/linux/debugfs.h
 +F:    include/linux/fwnode.h
  F:    include/linux/kobj*
 +F:    include/linux/property.h
  F:    lib/kobj*
  
  DRIVERS FOR OMAP ADAPTIVE VOLTAGE SCALING (AVS)
@@@ -6535,7 -6520,6 +6537,7 @@@ L:      [email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 +B:    https://gitlab.freedesktop.org/drm/msm/-/issues
  T:    git https://gitlab.freedesktop.org/drm/msm.git
  F:    Documentation/devicetree/bindings/display/msm/
  F:    drivers/gpu/drm/msm/
@@@ -6555,13 -6539,6 +6557,13 @@@ T:    git git://anongit.freedesktop.org/dr
  F:    Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml
  F:    drivers/gpu/drm/panel/panel-novatek-nt35560.c
  
 +DRM DRIVER FOR NOVATEK NT36523 PANELS
 +M:    Jianhua Lu <[email protected]>
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    Documentation/devicetree/bindings/display/panel/novatek,nt36523.yaml
 +F:    drivers/gpu/drm/panel/panel-novatek-nt36523.c
 +
  DRM DRIVER FOR NOVATEK NT36672A PANELS
  M:    Sumit Semwal <[email protected]>
  S:    Maintained
@@@ -6642,16 -6619,6 +6644,16 @@@ T:    git git://anongit.freedesktop.org/dr
  F:    Documentation/devicetree/bindings/display/panel/samsung,lms397kf04.yaml
  F:    drivers/gpu/drm/panel/panel-samsung-db7430.c
  
 +DRM DRIVER FOR SAMSUNG MIPI DSIM BRIDGE
 +M:    Inki Dae <[email protected]>
 +M:    Jagan Teki <[email protected]>
 +M:    Marek Szyprowski <[email protected]>
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml
 +F:    drivers/gpu/drm/bridge/samsung-dsim.c
 +F:    include/drm/bridge/samsung-dsim.h
 +
  DRM DRIVER FOR SAMSUNG S6D27A1 PANELS
  M:    Markuss Broks <[email protected]>
  S:    Maintained
@@@ -6859,7 -6826,6 +6861,7 @@@ S:      Maintaine
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    Documentation/devicetree/bindings/display/bridge/
  F:    drivers/gpu/drm/bridge/
 +F:    include/drm/drm_bridge.h
  
  DRM DRIVERS FOR EXYNOS
  M:    Inki Dae <[email protected]>
@@@ -6952,7 -6918,6 +6954,7 @@@ F:      drivers/phy/mediatek/phy-mtk-mipi
  
  DRM DRIVERS FOR NVIDIA TEGRA
  M:    Thierry Reding <[email protected]>
 +M:    Mikko Perttunen <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -7081,7 -7046,7 +7083,7 @@@ F:      Documentation/devicetree/bindings/di
  F:    drivers/gpu/drm/xlnx/
  
  DRM PANEL DRIVERS
 -M:    Thierry Reding <[email protected]>
 +M:    Neil Armstrong <[email protected]>
  R:    Sam Ravnborg <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -7765,7 -7730,6 +7767,7 @@@ T:      git git://git.kernel.org/pub/scm/lin
  F:    Documentation/filesystems/ext4/
  F:    fs/ext4/
  F:    include/trace/events/ext4.h
 +F:    include/uapi/linux/ext4.h
  
  Extended Verification Module (EVM)
  M:    Mimi Zohar <[email protected]>
@@@ -7992,11 -7956,10 +7994,11 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    drivers/target/sbp/
  
  FIREWIRE SUBSYSTEM
 -M:    Stefan Richter <[email protected]>
 +M:    Takashi Sakamoto <[email protected]>
 +M:    Takashi Sakamoto <[email protected]>
  L:    [email protected]
  S:    Maintained
 -W:    http://ieee1394.wiki.kernel.org/
 +W:    http://ieee1394.docs.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git
  F:    drivers/firewire/
  F:    include/linux/firewire.h
@@@ -8139,7 -8102,7 +8141,7 @@@ M:      Pankaj Gupta <[email protected]
  M:    Gaurav Jain <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/crypto/fsl-sec4.txt
 +F:    Documentation/devicetree/bindings/crypto/fsl,sec-v4.0*
  F:    drivers/crypto/caam/
  
  FREESCALE COLDFIRE M5441X MMC DRIVER
@@@ -8287,23 -8250,6 +8289,23 @@@ S:    Maintaine
  F:    drivers/soc/fsl/qe/
  F:    include/soc/fsl/qe/
  
 +FREESCALE QUICC ENGINE QMC DRIVER
 +M:    Herve Codina <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml
 +F:    drivers/soc/fsl/qe/qmc.c
 +F:    include/soc/fsl/qe/qmc.h
 +
 +FREESCALE QUICC ENGINE TSA DRIVER
 +M:    Herve Codina <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml
 +F:    drivers/soc/fsl/qe/tsa.c
 +F:    drivers/soc/fsl/qe/tsa.h
 +F:    include/dt-bindings/soc/cpm1-fsl,tsa.h
 +
  FREESCALE QUICC ENGINE UCC ETHERNET DRIVER
  M:    Li Yang <[email protected]>
  L:    [email protected]
@@@ -8355,14 -8301,6 +8357,14 @@@ F:    sound/soc/fsl/fsl
  F:    sound/soc/fsl/imx*
  F:    sound/soc/fsl/mpc8610_hpcd.c
  
 +FREESCALE SOC SOUND QMC DRIVER
 +M:    Herve Codina <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
 +F:    sound/soc/fsl/fsl_qmc_audio.c
 +
  FREESCALE USB PERIPHERAL DRIVERS
  M:    Li Yang <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/platform/x86/fujitsu-laptop.c
  
 -FUJITSU M-5MO LS CAMERA ISP DRIVER
 -M:    Kyungmin Park <[email protected]>
 -M:    Heungjun Kim <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    drivers/media/i2c/m5mols/
 -F:    include/media/i2c/m5mols.h
 -
  FUJITSU TABLET EXTRAS
  M:    Robert Gerlach <[email protected]>
  L:    [email protected]
@@@ -8746,7 -8692,7 +8748,7 @@@ F:      drivers/input/touchscreen/goodix
  
  GOOGLE ETHERNET DRIVERS
  M:    Jeroen de Borst <[email protected]>
 -M:    Catherine Sullivan <csully@google.com>
 +M:    Praveen Kaligineedi <pkaligineedi@google.com>
  R:    Shailend Chand <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -8809,6 -8755,7 +8811,6 @@@ F:      Documentation/admin-guide/gpio
  F:    Documentation/devicetree/bindings/gpio/
  F:    Documentation/driver-api/gpio/
  F:    drivers/gpio/
 -F:    include/asm-generic/gpio.h
  F:    include/dt-bindings/gpio/
  F:    include/linux/gpio.h
  F:    include/linux/gpio/
@@@ -8995,17 -8942,6 +8997,17 @@@ Q:    http://patchwork.linuxtv.org/project
  T:    git git://linuxtv.org/anttip/media_tree.git
  F:    drivers/media/usb/hackrf/
  
 +HANDSHAKE UPCALL FOR TRANSPORT LAYER SECURITY
 +M:    Chuck Lever <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/netlink/specs/handshake.yaml
 +F:    Documentation/networking/tls-handshake.rst
 +F:    include/net/handshake.h
 +F:    include/trace/events/handshake.h
 +F:    net/handshake/
 +
  HANTRO VPU CODEC DRIVER
  M:    Ezequiel Garcia <[email protected]>
  M:    Philipp Zabel <[email protected]>
@@@ -9795,7 -9731,7 +9797,7 @@@ F:      include/linux/i3c
  IA64 (Itanium) PLATFORM
  L:    [email protected]
  S:    Orphan
 -F:    Documentation/ia64/
 +F:    Documentation/arch/ia64/
  F:    arch/ia64/
  
  IBM Operation Panel Input Driver
@@@ -10005,6 -9941,13 +10007,13 @@@ F:  Documentation/ABI/testing/sysfs-bus-
  F:    Documentation/devicetree/bindings/iio/adc/envelope-detector.yaml
  F:    drivers/iio/adc/envelope-detector.c
  
+ IIO LIGHT SENSOR GAIN-TIME-SCALE HELPERS
+ M:    Matti Vaittinen <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/iio/light/gain-time-scale-helper.c
+ F:    drivers/iio/light/gain-time-scale-helper.h
  IIO MULTIPLEXER
  M:    Peter Rosin <[email protected]>
  L:    [email protected]
@@@ -10349,14 -10292,12 +10358,14 @@@ M:        Andy Shevchenko <[email protected]
  L:    [email protected]
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel.git
 +F:    drivers/gpio/gpio-elkhartlake.c
  F:    drivers/gpio/gpio-ich.c
  F:    drivers/gpio/gpio-merrifield.c
  F:    drivers/gpio/gpio-ml-ioh.c
  F:    drivers/gpio/gpio-pch.c
  F:    drivers/gpio/gpio-sch.c
  F:    drivers/gpio/gpio-sodaville.c
 +F:    drivers/gpio/gpio-tangier.c
  
  INTEL GVT-g DRIVERS (Intel GPU Virtualization)
  M:    Zhenyu Wang <[email protected]>
@@@ -10449,7 -10390,7 +10458,7 @@@ INTEL IXP4XX CRYPTO SUPPOR
  M:    Corentin Labbe <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    drivers/crypto/ixp4xx_crypto.c
 +F:    drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c
  
  INTEL ISHTP ECLITE DRIVER
  M:    Sumesh K Naduvalath <[email protected]>
@@@ -10484,11 -10425,11 +10493,11 @@@ INTEL KEEM BAY OCS AES/SM4 CRYPTO DRIVE
  M:    Daniele Alessandrelli <[email protected]>
  S:    Maintained
  F:    Documentation/devicetree/bindings/crypto/intel,keembay-ocs-aes.yaml
 -F:    drivers/crypto/keembay/Kconfig
 -F:    drivers/crypto/keembay/Makefile
 -F:    drivers/crypto/keembay/keembay-ocs-aes-core.c
 -F:    drivers/crypto/keembay/ocs-aes.c
 -F:    drivers/crypto/keembay/ocs-aes.h
 +F:    drivers/crypto/intel/keembay/Kconfig
 +F:    drivers/crypto/intel/keembay/Makefile
 +F:    drivers/crypto/intel/keembay/keembay-ocs-aes-core.c
 +F:    drivers/crypto/intel/keembay/ocs-aes.c
 +F:    drivers/crypto/intel/keembay/ocs-aes.h
  
  INTEL KEEM BAY OCS ECC CRYPTO DRIVER
  M:    Daniele Alessandrelli <[email protected]>
@@@ -10496,20 -10437,20 +10505,20 @@@ M:        Prabhjot Khurana <prabhjot.khurana@i
  M:    Mark Gross <[email protected]>
  S:    Maintained
  F:    Documentation/devicetree/bindings/crypto/intel,keembay-ocs-ecc.yaml
 -F:    drivers/crypto/keembay/Kconfig
 -F:    drivers/crypto/keembay/Makefile
 -F:    drivers/crypto/keembay/keembay-ocs-ecc.c
 +F:    drivers/crypto/intel/keembay/Kconfig
 +F:    drivers/crypto/intel/keembay/Makefile
 +F:    drivers/crypto/intel/keembay/keembay-ocs-ecc.c
  
  INTEL KEEM BAY OCS HCU CRYPTO DRIVER
  M:    Daniele Alessandrelli <[email protected]>
  M:    Declan Murphy <[email protected]>
  S:    Maintained
  F:    Documentation/devicetree/bindings/crypto/intel,keembay-ocs-hcu.yaml
 -F:    drivers/crypto/keembay/Kconfig
 -F:    drivers/crypto/keembay/Makefile
 -F:    drivers/crypto/keembay/keembay-ocs-hcu-core.c
 -F:    drivers/crypto/keembay/ocs-hcu.c
 -F:    drivers/crypto/keembay/ocs-hcu.h
 +F:    drivers/crypto/intel/keembay/Kconfig
 +F:    drivers/crypto/intel/keembay/Makefile
 +F:    drivers/crypto/intel/keembay/keembay-ocs-hcu-core.c
 +F:    drivers/crypto/intel/keembay/ocs-hcu.c
 +F:    drivers/crypto/intel/keembay/ocs-hcu.h
  
  INTEL THUNDER BAY EMMC PHY DRIVER
  M:    Nandhini Srikandan <[email protected]>
@@@ -10528,6 -10469,7 +10537,7 @@@ F:   drivers/watchdog/mei_wdt.
  F:    include/linux/mei_aux.h
  F:    include/linux/mei_cl_bus.h
  F:    include/uapi/linux/mei.h
+ F:    include/uapi/linux/mei_uuid.h
  F:    include/uapi/linux/uuid.h
  F:    samples/mei/*
  
  S:    Supported
  W:    http://tboot.sourceforge.net
  T:    hg http://tboot.hg.sourceforge.net:8000/hgroot/tboot/tboot
 -F:    Documentation/x86/intel_txt.rst
 +F:    Documentation/arch/x86/intel_txt.rst
  F:    arch/x86/kernel/tboot.c
  F:    include/linux/tboot.h
  
  S:    Supported
  Q:    https://patchwork.kernel.org/project/intel-sgx/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/sgx
 -F:    Documentation/x86/sgx.rst
 +F:    Documentation/arch/x86/sgx.rst
  F:    arch/x86/entry/vdso/vsgx.S
  F:    arch/x86/include/asm/sgx.h
  F:    arch/x86/include/uapi/asm/sgx.h
@@@ -11826,7 -11768,7 +11836,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    drivers/ata/sata_promise.*
  
  LIBATA SUBSYSTEM (Serial and Parallel ATA drivers)
 -M:    Damien Le Moal <d[email protected]>
 +M:    Damien Le Moal <d[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata.git
@@@ -11962,7 -11904,6 +11972,7 @@@ M:   Scott Wood <[email protected]
  L:    [email protected]
  S:    Odd fixes
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux.git
 +F:    Documentation/devicetree/bindings/cache/freescale-l2cache.txt
  F:    Documentation/devicetree/bindings/powerpc/fsl/
  F:    arch/powerpc/platforms/83xx/
  F:    arch/powerpc/platforms/85xx/
@@@ -12186,13 -12127,6 +12196,13 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/pinctrl/loongson,ls2k-pinctrl.yaml
  F:    drivers/pinctrl/pinctrl-loongson2.c
  
 +LOONGSON GPIO DRIVER
 +M:    Yinbo Zhu <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/gpio/loongson,ls-gpio.yaml
 +F:    drivers/gpio/gpio-loongson-64bit.c
 +
  LOONGSON-2 SOC SERIES CLOCK DRIVER
  M:    Yinbo Zhu <[email protected]>
  L:    [email protected]
@@@ -12352,7 -12286,7 +12362,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git
  F:    Documentation/networking/mac80211-injection.rst
  F:    Documentation/networking/mac80211_hwsim/mac80211_hwsim.rst
 -F:    drivers/net/wireless/mac80211_hwsim.[ch]
 +F:    drivers/net/wireless/virtual/mac80211_hwsim.[ch]
  F:    include/net/mac80211.h
  F:    net/mac80211/
  
  S:    Maintained
  F:    drivers/net/ethernet/mediatek/
  
 +MEDIATEK ETHERNET PCS DRIVER
 +M:    Alexander Couzens <[email protected]>
 +M:    Daniel Golle <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/pcs/pcs-mtk-lynxi.c
 +F:    include/linux/pcs/pcs-mtk-lynxi.h
 +
  MEDIATEK I2C CONTROLLER DRIVER
  M:    Qii Wang <[email protected]>
  L:    [email protected]
@@@ -13251,11 -13177,8 +13261,11 @@@ MEDIATEK SWITCH DRIVE
  M:    Sean Wang <[email protected]>
  M:    Landen Chao <[email protected]>
  M:    DENG Qingfang <[email protected]>
 +M:    Daniel Golle <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    drivers/net/dsa/mt7530-mdio.c
 +F:    drivers/net/dsa/mt7530-mmio.c
  F:    drivers/net/dsa/mt7530.*
  F:    net/dsa/tag_mtk.c
  
@@@ -13681,13 -13604,9 +13691,13 @@@ F: Documentation/devicetree/bindings/se
  F:    drivers/spi/spi-at91-usart.c
  
  MICROCHIP AUDIO ASOC DRIVERS
 -M:    Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
 +M:    Claudiu Beznea <claudiu.beznea@microchip.com>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
 +F:    Documentation/devicetree/bindings/sound/atmel*
 +F:    Documentation/devicetree/bindings/sound/axentia,tse850-pcm5142.txt
 +F:    Documentation/devicetree/bindings/sound/microchip,sama7g5-*
 +F:    Documentation/devicetree/bindings/sound/mikroe,mikroe-proto.txt
  F:    sound/soc/atmel
  
  MICROCHIP CSI2DC DRIVER
@@@ -13860,10 -13779,9 +13870,10 @@@ S: Supporte
  F:    drivers/spi/spi-atmel.*
  
  MICROCHIP SSC DRIVER
 -M:    Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
 +M:    Claudiu Beznea <claudiu.beznea@microchip.com>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
 +F:    Documentation/devicetree/bindings/misc/atmel-ssc.txt
  F:    drivers/misc/atmel-ssc.c
  F:    include/linux/atmel-ssc.h
  
@@@ -14231,13 -14149,6 +14241,13 @@@ S: Odd Fixe
  F:    Documentation/devicetree/bindings/net/ieee802154/mrf24j40.txt
  F:    drivers/net/ieee802154/mrf24j40.c
  
 +MSI EC DRIVER
 +M:    Nikita Kravets <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +W:    https://github.com/BeardOverflow/msi-ec
 +F:    drivers/platform/x86/msi-ec.*
 +
  MSI LAPTOP SUPPORT
  M:    "Lee, Chun-Yi" <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/mtd/devices/docg3*
  
 -MT9M032 APTINA SENSOR DRIVER
 -M:    Laurent Pinchart <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -T:    git git://linuxtv.org/media_tree.git
 -F:    drivers/media/i2c/mt9m032.c
 -F:    include/media/i2c/mt9m032.h
 -
  MT9P031 APTINA CAMERA SENSOR
  M:    Laurent Pinchart <[email protected]>
  L:    [email protected]
@@@ -14291,6 -14210,14 +14301,6 @@@ F:  Documentation/devicetree/bindings/me
  F:    drivers/media/i2c/mt9p031.c
  F:    include/media/i2c/mt9p031.h
  
 -MT9T001 APTINA CAMERA SENSOR
 -M:    Laurent Pinchart <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -T:    git git://linuxtv.org/media_tree.git
 -F:    drivers/media/i2c/mt9t001.c
 -F:    include/media/i2c/mt9t001.h
 -
  MT9T112 APTINA CAMERA SENSOR
  M:    Jacopo Mondi <[email protected]>
  L:    [email protected]
@@@ -14677,14 -14604,11 +14687,14 @@@ F:        net/netlabel
  
  NETWORKING [MPTCP]
  M:    Matthieu Baerts <[email protected]>
 +M:    Mat Martineau <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
  W:    https://github.com/multipath-tcp/mptcp_net-next/wiki
  B:    https://github.com/multipath-tcp/mptcp_net-next/issues
 +T:    git https://github.com/multipath-tcp/mptcp_net-next.git export-net
 +T:    git https://github.com/multipath-tcp/mptcp_net-next.git export
  F:    Documentation/networking/mptcp-sysctl.rst
  F:    include/net/mptcp.h
  F:    include/trace/events/mptcp.h
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/nfc/
  F:    drivers/nfc/
 -F:    include/linux/platform_data/nfcmrvl.h
  F:    include/net/nfc/
  F:    include/uapi/linux/nfc.h
  F:    net/nfc/
@@@ -14829,7 -14754,7 +14839,7 @@@ F:   include/uapi/linux/nitro_enclaves.
  F:    samples/nitro_enclaves/
  
  NOHZ, DYNTICKS SUPPORT
 -M:    Frederic Weisbecker <f[email protected]>
 +M:    Frederic Weisbecker <f[email protected]>
  M:    Thomas Gleixner <[email protected]>
  M:    Ingo Molnar <[email protected]>
  L:    [email protected]
@@@ -15044,13 -14969,6 +15054,13 @@@ F: Documentation/devicetree/bindings/cl
  F:    drivers/clk/imx/
  F:    include/dt-bindings/clock/imx*
  
 +NXP i.MX 8M ISI DRIVER
 +M:    Laurent Pinchart <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/media/nxp,imx8-isi.yaml
 +F:    drivers/media/platform/nxp/imx8-isi/
 +
  NXP i.MX 8MQ DCSS DRIVER
  M:    Laurentiu Palcu <[email protected]>
  R:    Lucas Stach <[email protected]>
@@@ -15411,18 -15329,6 +15421,6 @@@ S:  Maintaine
  F:    Documentation/filesystems/omfs.rst
  F:    fs/omfs/
  
- OMNIKEY CARDMAN 4000 DRIVER
- M:    Harald Welte <[email protected]>
- S:    Maintained
- F:    drivers/char/pcmcia/cm4000_cs.c
- F:    include/linux/cm4000_cs.h
- F:    include/uapi/linux/cm4000_cs.h
- OMNIKEY CARDMAN 4040 DRIVER
- M:    Harald Welte <[email protected]>
- S:    Maintained
- F:    drivers/char/pcmcia/cm4040_cs.*
  OMNIVISION OG01A1B SENSOR DRIVER
  M:    Shawn Tu <[email protected]>
  L:    [email protected]
@@@ -15478,7 -15384,6 +15476,7 @@@ M:   Shunqian Zheng <[email protected]
  L:    [email protected]
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
  F:    drivers/media/i2c/ov2685.c
  
  OMNIVISION OV2740 SENSOR DRIVER
@@@ -15570,7 -15475,7 +15568,7 @@@ F:   Documentation/devicetree/bindings/me
  F:    drivers/media/i2c/ov7740.c
  
  OMNIVISION OV8856 SENSOR DRIVER
 -M:    Dongchun Zhu <dongchun.zhu@mediatek.com>
 +M:    Sakari Ailus <[email protected].com>
  L:    [email protected]
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
  S:    Maintained
  F:    drivers/hwmon/oxp-sensors.c
  
+ ONIE TLV NVMEM LAYOUT DRIVER
+ M:    Miquel Raynal <[email protected]>
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml
+ F:    drivers/nvmem/layouts/onie-tlv.c
  ONION OMEGA2+ BOARD
  M:    Harvey Hunt <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/ptp/ptp_ocp.c
  
 +INTEL PTP DFL ToD DRIVER
 +M:    Tianfei Zhang <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/ptp/ptp_dfl_tod.c
 +
  OPENCORES I2C BUS DRIVER
  M:    Peter Korsgaard <[email protected]>
  M:    Andrew Lunn <[email protected]>
@@@ -15739,7 -15643,7 +15743,7 @@@ S:   Maintaine
  W:    http://openrisc.io
  T:    git https://github.com/openrisc/linux.git
  F:    Documentation/devicetree/bindings/openrisc/
 -F:    Documentation/openrisc/
 +F:    Documentation/arch/openrisc/
  F:    arch/openrisc/
  F:    drivers/irqchip/irq-ompic.c
  F:    drivers/irqchip/irq-or1k-*
@@@ -15935,7 -15839,7 +15939,7 @@@ W:   https://parisc.wiki.kernel.or
  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
 -F:    Documentation/parisc/
 +F:    Documentation/arch/parisc/
  F:    arch/parisc/
  F:    drivers/char/agp/parisc-agp.c
  F:    drivers/input/misc/hp_sdc_rtc.c
@@@ -16070,8 -15974,6 +16074,8 @@@ M:   Lucas Stach <[email protected]
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-common.yaml
 +F:    Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml
  F:    Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
  F:    drivers/pci/controller/dwc/*imx6*
  
@@@ -16430,6 -16332,12 +16434,6 @@@ S:  Maintaine
  F:    crypto/pcrypt.c
  F:    include/crypto/pcrypt.h
  
 -PEAQ WMI HOTKEYS DRIVER
 -M:    Hans de Goede <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    drivers/platform/x86/peaq-wmi.c
 -
  PECI HARDWARE MONITORING DRIVERS
  M:    Iwona Winiarska <[email protected]>
  L:    [email protected]
@@@ -16866,8 -16774,9 +16870,8 @@@ F:   include/uapi/linux/if_pppol2tp.
  F:    net/l2tp/l2tp_ppp.c
  
  PPP PROTOCOL DRIVERS AND COMPRESSORS
 -M:    Paul Mackerras <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    drivers/net/ppp/ppp_*
  
  PPS SUPPORT
@@@ -17111,7 -17020,7 +17115,7 @@@ QAT DRIVE
  M:    Giovanni Cabiddu <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    drivers/crypto/qat/
 +F:    drivers/crypto/intel/qat/
  
  QCOM AUDIO (ASoC) DRIVERS
  M:    Srinivas Kandagatla <[email protected]>
@@@ -17261,12 -17170,6 +17265,12 @@@ F: fs/qnx4
  F:    include/uapi/linux/qnx4_fs.h
  F:    include/uapi/linux/qnxtypes.h
  
 +QNX6 FILESYSTEM
 +S:    Orphan
 +F:    Documentation/filesystems/qnx6.rst
 +F:    fs/qnx6/
 +F:    include/linux/qnx6_fs.h
 +
  QORIQ DPAA2 FSL-MC BUS DRIVER
  M:    Stuart Yoder <[email protected]>
  M:    Laurentiu Tudor <[email protected]>
@@@ -17295,7 -17198,7 +17299,7 @@@ S:   Supporte
  W:    https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
  F:    drivers/net/wireless/ath/ath10k/
 -F:    Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt
 +F:    Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
  
  QUALCOMM ATHEROS ATH11K WIRELESS DRIVER
  M:    Kalle Valo <[email protected]>
@@@ -17331,7 -17234,6 +17335,7 @@@ F:   drivers/net/wwan/qcom_bam_dmux.
  QUALCOMM CAMERA SUBSYSTEM DRIVER
  M:    Robert Foss <[email protected]>
  M:    Todor Tomov <[email protected]>
 +M:    Bryan O'Donoghue <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/admin-guide/media/qcom_camss.rst
@@@ -17347,16 -17249,6 +17351,16 @@@ F: Documentation/devicetree/bindings/cl
  F:    drivers/clk/qcom/
  F:    include/dt-bindings/clock/qcom,*
  
 +QUALCOMM CLOUD AI (QAIC) DRIVER
 +M:    Jeffrey Hugo <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Supported
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    Documentation/accel/qaic/
 +F:    drivers/accel/qaic/
 +F:    include/uapi/drm/qaic_accel.h
 +
  QUALCOMM CORE POWER REDUCTION (CPR) AVS DRIVER
  M:    Bjorn Andersson <[email protected]>
  M:    Konrad Dybcio <[email protected]>
@@@ -17379,7 -17271,6 +17383,7 @@@ M:   Thara Gopinath <thara.gopinath@gmail
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/devicetree/bindings/crypto/qcom-qce.yaml
  F:    drivers/crypto/qce/
  
  QUALCOMM EMAC GIGABIT ETHERNET DRIVER
@@@ -17393,7 -17284,7 +17397,7 @@@ M:   Vinod Koul <[email protected]
  R:    Bhupesh Sharma <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/net/qcom,ethqos.txt
 +F:    Documentation/devicetree/bindings/net/qcom,ethqos.yaml
  F:    drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
  
  QUALCOMM FASTRPC DRIVER
@@@ -17574,8 -17465,9 +17578,8 @@@ F:   drivers/block/rbd.
  F:    drivers/block/rbd_types.h
  
  RAGE128 FRAMEBUFFER DISPLAY DRIVER
 -M:    Paul Mackerras <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    drivers/video/fbdev/aty/aty128fb.c
  
  RAINSHADOW-CEC DRIVER
@@@ -17652,7 -17544,7 +17656,7 @@@ F:   include/ras/ras_event.
  RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER
  L:    [email protected]
  S:    Orphan
 -F:    drivers/net/wireless/ray*
 +F:    drivers/net/wireless/legacy/ray*
  
  RC-CORE / LIRC FRAMEWORK
  M:    Sean Young <[email protected]>
@@@ -17738,7 -17630,7 +17742,7 @@@ M:   Fenghua Yu <[email protected]
  M:    Reinette Chatre <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/x86/resctrl*
 +F:    Documentation/arch/x86/resctrl*
  F:    arch/x86/include/asm/resctrl.h
  F:    arch/x86/kernel/cpu/resctrl/
  F:    tools/testing/selftests/resctrl/
@@@ -17747,13 -17639,11 +17751,13 @@@ READ-COPY UPDATE (RCU
  M:    "Paul E. McKenney" <[email protected]>
  M:    Frederic Weisbecker <[email protected]> (kernel/rcu/tree_nocb.h)
  M:    Neeraj Upadhyay <[email protected]> (kernel/rcu/tasks.h)
 +M:    Joel Fernandes <[email protected]>
  M:    Josh Triplett <[email protected]>
 +M:    Boqun Feng <[email protected]>
  R:    Steven Rostedt <[email protected]>
  R:    Mathieu Desnoyers <[email protected]>
  R:    Lai Jiangshan <[email protected]>
 -R:    Joel Fernandes <[email protected]>
 +R:    Zqiang <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    http://www.rdrop.com/users/paulmck/RCU/
@@@ -18203,6 -18093,12 +18207,12 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/iio/light/bh1750.yaml
  F:    drivers/iio/light/bh1750.c
  
+ ROHM BU27034 AMBIENT LIGHT SENSOR DRIVER
+ M:    Matti Vaittinen <[email protected]>
+ L:    [email protected]
+ S:    Supported
+ F:    drivers/iio/light/rohm-bu27034.c
  ROHM MULTIFUNCTION BD9571MWV-M PMIC DEVICE DRIVERS
  M:    Marek Vasut <[email protected]>
  L:    [email protected]
@@@ -18608,7 -18504,6 +18618,7 @@@ M:   Sylwester Nawrocki <s.nawrocki@samsu
  M:    Andrzej Hajda <[email protected]>
  L:    [email protected]
  S:    Supported
 +F:    Documentation/devicetree/bindings/media/samsung,s5c73m3.yaml
  F:    drivers/media/i2c/s5c73m3/*
  
  SAMSUNG S5K5BAF CAMERA DRIVER
@@@ -18633,11 -18528,6 +18643,11 @@@ M: Sylwester Nawrocki <s.nawrocki@samsu
  L:    [email protected]
  S:    Supported
  Q:    https://patchwork.linuxtv.org/project/linux-media/list/
 +F:    Documentation/devicetree/bindings/media/samsung,exynos4210-csis.yaml
 +F:    Documentation/devicetree/bindings/media/samsung,exynos4210-fimc.yaml
 +F:    Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.yaml
 +F:    Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-lite.yaml
 +F:    Documentation/devicetree/bindings/media/samsung,fimc.yaml
  F:    drivers/media/platform/samsung/exynos4-is/
  
  SAMSUNG SOC CLOCK DRIVERS
@@@ -18660,7 -18550,7 +18670,7 @@@ F:   include/linux/clk/samsung.
  
  SAMSUNG SPI DRIVERS
  M:    Krzysztof Kozlowski <[email protected]>
 -M:    Andi Shyti <andi@etezian.org>
 +M:    Andi Shyti <andi.shyti@kernel.org>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -18727,11 -18617,6 +18737,6 @@@ F:  include/linux/wait.
  F:    include/uapi/linux/sched.h
  F:    kernel/sched/
  
- SCR24X CHIP CARD INTERFACE DRIVER
- M:    Lubomir Rintel <[email protected]>
- S:    Supported
- F:    drivers/char/pcmcia/scr24x_cs.c
  SCSI RDMA PROTOCOL (SRP) INITIATOR
  M:    Bart Van Assche <[email protected]>
  L:    [email protected]
@@@ -18941,8 -18826,8 +18946,8 @@@ S:   Supporte
  W:    https://selinuxproject.org
  W:    https://github.com/SELinuxProject
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux.git
 -F:    Documentation/ABI/obsolete/sysfs-selinux-checkreqprot
 -F:    Documentation/ABI/obsolete/sysfs-selinux-disable
 +F:    Documentation/ABI/removed/sysfs-selinux-checkreqprot
 +F:    Documentation/ABI/removed/sysfs-selinux-disable
  F:    Documentation/admin-guide/LSM/SELinux.rst
  F:    include/trace/events/avc.h
  F:    include/uapi/linux/selinux_netlink.h
@@@ -19028,14 -18913,6 +19033,14 @@@ S: Supporte
  F:    Documentation/networking/devlink/sfc.rst
  F:    drivers/net/ethernet/sfc/
  
 +SFCTEMP HWMON DRIVER
 +M:    Emil Renner Berthing <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/hwmon/starfive,jh71x0-temp.yaml
 +F:    Documentation/hwmon/sfctemp.rst
 +F:    drivers/hwmon/sfctemp.c
 +
  SFF/SFP/SFP+ MODULE SUPPORT
  M:    Russell King <[email protected]>
  L:    [email protected]
  S:    Odd Fixes
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/silabs,si470x.yaml
  F:    drivers/media/radio/si470x/radio-si470x-i2c.c
  
  SI470X FM RADIO RECEIVER USB DRIVER
@@@ -19200,7 -19076,6 +19205,7 @@@ M:   Conor Dooley <[email protected]
  L:    [email protected]
  S:    Maintained
  T:    git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
 +F:    Documentation/devicetree/bindings/cache/sifive,ccache0.yaml
  F:    drivers/soc/sifive/
  
  SILEAD TOUCHSCREEN DRIVER
@@@ -19310,6 -19185,12 +19315,12 @@@ F: drivers/irqchip/irq-sl28cpld.
  F:    drivers/pwm/pwm-sl28cpld.c
  F:    drivers/watchdog/sl28cpld_wdt.c
  
+ SL28 VPD NVMEM LAYOUT DRIVER
+ M:    Michael Walle <[email protected]>
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/nvmem/layouts/kontron,sl28-vpd.yaml
+ F:    drivers/nvmem/layouts/sl28vpd.c
  SLAB ALLOCATOR
  M:    Christoph Lameter <[email protected]>
  M:    Pekka Enberg <[email protected]>
@@@ -20032,13 -19913,6 +20043,13 @@@ M: Emil Renner Berthing <[email protected]
  S:    Maintained
  F:    arch/riscv/boot/dts/starfive/
  
 +STARFIVE DWMAC GLUE LAYER
 +M:    Emil Renner Berthing <[email protected]>
 +M:    Samin Guo <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
 +F:    drivers/net/ethernet/stmicro/stmmac/dwmac-starfive.c
 +
  STARFIVE JH7100 CLOCK DRIVERS
  M:    Emil Renner Berthing <[email protected]>
  S:    Maintained
@@@ -20249,7 -20123,7 +20260,7 @@@ M:   John Paul Adrian Glaubitz <glaubitz@
  L:    [email protected]
  S:    Maintained
  Q:    http://patchwork.kernel.org/project/linux-sh/list/
 -F:    Documentation/sh/
 +F:    Documentation/arch/sh/
  F:    arch/sh/
  F:    drivers/sh/
  
@@@ -20309,7 -20183,7 +20320,7 @@@ M:   Vineet Gupta <[email protected]
  L:    [email protected]
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git
 -F:    Documentation/arc/
 +F:    Documentation/arch/arc
  F:    Documentation/devicetree/bindings/arc/*
  F:    Documentation/devicetree/bindings/interrupt-controller/snps,arc*
  F:    arch/arc/
  S:    Maintained
  F:    Documentation/driver-api/thermal/power_allocator.rst
  F:    drivers/thermal/gov_power_allocator.c
 -F:    include/trace/events/thermal_power_allocator.h
 +F:    drivers/thermal/thermal_trace_ipa.h
  
  THINKPAD ACPI EXTRAS DRIVER
  M:    Henrique de Moraes Holschuh <[email protected]>
@@@ -21205,6 -21079,7 +21216,6 @@@ F:   Documentation/hwmon/tmp401.rs
  F:    drivers/hwmon/tmp401.c
  
  TMP464 HARDWARE MONITOR DRIVER
 -M:    Agathe Porte <[email protected]>
  M:    Guenter Roeck <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -21367,14 -21242,6 +21378,14 @@@ S: Maintaine
  F:    Documentation/tools/rtla/
  F:    tools/tracing/rtla/
  
 +TECHNICAL ADVISORY BOARD PROCESS DOCS
 +M:    "Theodore Ts'o" <[email protected]>
 +M:    Greg Kroah-Hartman <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/process/researcher-guidelines.rst
 +F:    Documentation/process/contribution-maturity-model.rst
 +
  TRADITIONAL CHINESE DOCUMENTATION
  M:    Hu Haowen <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -21929,7 -21796,7 +21940,7 @@@ USB WIRELESS RNDIS DRIVER (rndis_wlan
  M:    Jussi Kivilinna <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    drivers/net/wireless/rndis_wlan.c
 +F:    drivers/net/wireless/legacy/rndis_wlan.c
  
  USB XHCI DRIVER
  M:    Mathias Nyman <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
 +F:    kernel/vhost_task.c
  F:    drivers/vhost/
 +F:    include/linux/sched/vhost_task.h
  F:    include/linux/vhost_iotlb.h
  F:    include/uapi/linux/vhost.h
  
@@@ -22566,7 -22431,7 +22577,7 @@@ S:   Orpha
  F:    drivers/mmc/host/vub300.c
  
  W1 DALLAS'S 1-WIRE BUS
- M:    Evgeniy Polyakov <[email protected]>
+ M:    Krzysztof Kozlowski <[email protected]>
  S:    Maintained
  F:    Documentation/devicetree/bindings/w1/
  F:    Documentation/w1/
@@@ -22685,7 -22550,7 +22696,7 @@@ F:   drivers/input/misc/wistron_btns.
  WL3501 WIRELESS PCMCIA CARD DRIVER
  L:    [email protected]
  S:    Odd fixes
 -F:    drivers/net/wireless/wl3501*
 +F:    drivers/net/wireless/legacy/wl3501*
  
  WOLFSON MICROELECTRONICS DRIVERS
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core
  F:    Documentation/devicetree/bindings/x86/
 -F:    Documentation/x86/
 +F:    Documentation/arch/x86/
  F:    arch/x86/
  
  X86 ENTRY CODE
@@@ -22794,24 -22659,13 +22805,24 @@@ S:        Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/asm
  F:    arch/x86/entry/
  
 +X86 HARDWARE VULNERABILITIES
 +M:    Thomas Gleixner <[email protected]>
 +M:    Borislav Petkov <[email protected]>
 +M:    Peter Zijlstra <[email protected]>
 +M:    Josh Poimboeuf <[email protected]>
 +R:    Pawan Gupta <[email protected]>
 +S:    Maintained
 +F:    Documentation/admin-guide/hw-vuln/
 +F:    arch/x86/include/asm/nospec-branch.h
 +F:    arch/x86/kernel/cpu/bugs.c
 +
  X86 MCE INFRASTRUCTURE
  M:    Tony Luck <[email protected]>
  M:    Borislav Petkov <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-mce
 -F:    Documentation/x86/x86_64/machinecheck.rst
 +F:    Documentation/arch/x86/x86_64/machinecheck.rst
  F:    arch/x86/kernel/cpu/mce/*
  
  X86 MICROCODE UPDATE SUPPORT
@@@ -22833,7 -22687,7 +22844,7 @@@ M:   Hans de Goede <[email protected]
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
 -F:    drivers/platform/x86/x86-android-tablets.c
 +F:    drivers/platform/x86/x86-android-tablets/
  
  X86 PLATFORM DRIVERS
  M:    Hans de Goede <[email protected]>
@@@ -23182,6 -23036,7 +23193,6 @@@ F:   drivers/i2c/busses/i2c-xlp9xx.
  
  XRA1403 GPIO EXPANDER
  M:    Nandor Han <[email protected]>
 -M:    Semi Malinen <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/gpio/gpio-xra1403.txt
@@@ -23271,7 -23126,7 +23282,7 @@@ S:   Maintaine
  F:    arch/x86/kernel/cpu/zhaoxin.c
  
  ZONEFS FILESYSTEM
 -M:    Damien Le Moal <d[email protected]>
 +M:    Damien Le Moal <d[email protected]>
  M:    Naohiro Aota <[email protected]>
  R:    Johannes Thumshirn <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    mm/zswap.c
  
 +NXP BLUETOOTH WIRELESS DRIVERS
 +M:    Amitkumar Karwar <[email protected]>
 +M:    Neeraj Kale <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml
 +F:    drivers/bluetooth/btnxpuart.c
 +
  THE REST
  M:    Linus Torvalds <[email protected]>
  L:    [email protected]
index adc314049fdd80c5827c0b2816ac500bb8664249,9cb866b63553c23419d183c91fb2307f816c8774..ff3d790835813b18aed460f560cc14aa91564335
@@@ -455,6 -455,7 +455,6 @@@ CONFIG_E100=
  CONFIG_E1000=m
  CONFIG_E1000E=m
  CONFIG_IGB=m
 -CONFIG_IXGB=m
  CONFIG_IXGBE=m
  CONFIG_MV643XX_ETH=m
  CONFIG_SKGE=m
@@@ -614,8 -615,6 +614,6 @@@ CONFIG_HW_RANDOM=
  CONFIG_HW_RANDOM_VIRTIO=m
  CONFIG_NVRAM=y
  CONFIG_DTLK=m
- CONFIG_CARDMAN_4000=m
- CONFIG_CARDMAN_4040=m
  CONFIG_IPWIRELESS=m
  CONFIG_I2C_CHARDEV=m
  CONFIG_I2C_HYDRA=m
@@@ -845,6 -844,7 +843,6 @@@ CONFIG_USB_OHCI_HCD=
  CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
  CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
  CONFIG_USB_UHCI_HCD=m
 -CONFIG_USB_U132_HCD=m
  CONFIG_USB_SL811_HCD=m
  CONFIG_USB_ACM=m
  CONFIG_USB_PRINTER=m
@@@ -907,6 -907,7 +905,6 @@@ CONFIG_USB_SEVSEG=
  CONFIG_USB_LEGOTOWER=m
  CONFIG_USB_LCD=m
  CONFIG_USB_IDMOUSE=m
 -CONFIG_USB_FTDI_ELAN=m
  CONFIG_USB_APPLEDISPLAY=m
  CONFIG_USB_SISUSBVGA=m
  CONFIG_USB_LD=m
diff --combined drivers/acpi/bus.c
index c32a06bcac0cf343f7c9980bb8652619e975751f,0388d64b3c6b832d9e63563fa6a84c1f6287f1a3..d161ff707de4a6ca4193c96afc53c1b2c7944950
@@@ -589,7 -589,6 +589,7 @@@ static void acpi_device_remove_notify_h
                acpi_remove_notify_handler(device->handle, type,
                                           acpi_notify_device);
        }
 +      acpi_os_wait_events_complete();
  }
  
  /* Handle events targeting \_SB device (at present only graceful shutdown) */
@@@ -624,9 -623,8 +624,9 @@@ static void acpi_sb_notify(acpi_handle 
        if (event == ACPI_SB_NOTIFY_SHUTDOWN_REQUEST) {
                if (!work_busy(&acpi_sb_work))
                        schedule_work(&acpi_sb_work);
 -      } else
 +      } else {
                pr_warn("event %x is not supported by \\_SB device\n", event);
 +      }
  }
  
  static int __init acpi_setup_sb_notify_handler(void)
@@@ -810,9 -808,10 +810,10 @@@ static bool acpi_of_modalias(struct acp
   * @modalias:   Pointer to buffer that modalias value will be copied into
   * @len:      Length of modalias buffer
   *
-  * This is a counterpart of of_modalias_node() for struct acpi_device objects.
-  * If there is a compatible string for @adev, it will be copied to @modalias
-  * with the vendor prefix stripped; otherwise, @default_id will be used.
+  * This is a counterpart of of_alias_from_compatible() for struct acpi_device
+  * objects. If there is a compatible string for @adev, it will be copied to
+  * @modalias with the vendor prefix stripped; otherwise, @default_id will be
+  * used.
   */
  void acpi_set_modalias(struct acpi_device *adev, const char *default_id,
                       char *modalias, size_t len)
index c41b3f2360a85fe58bd75ef7113dcdbc27b8fe8a,ff4470067ed59a0e8d02c93cb1e0eb4f82c50683..a6c25dee9cc11800f47003047dfb449336c0dccb
@@@ -115,7 -115,7 +115,7 @@@ static int fpga_bridge_dev_match(struc
  /**
   * fpga_bridge_get - get an exclusive reference to an fpga bridge
   * @dev:      parent device that fpga bridge was registered with
-  * @info:     fpga manager info
+  * @info:     fpga image specific information
   *
   * Given a device, get an exclusive reference to an fpga bridge.
   *
@@@ -363,6 -363,7 +363,6 @@@ fpga_bridge_register(struct device *par
        bridge->dev.parent = parent;
        bridge->dev.of_node = parent->of_node;
        bridge->dev.id = id;
 -      of_platform_populate(bridge->dev.of_node, NULL, NULL, &bridge->dev);
  
        ret = dev_set_name(&bridge->dev, "br%d", id);
        if (ret)
                return ERR_PTR(ret);
        }
  
 +      of_platform_populate(bridge->dev.of_node, NULL, NULL, &bridge->dev);
 +
        return bridge;
  
  error_device:
@@@ -417,7 -416,7 +417,7 @@@ static void fpga_bridge_dev_release(str
  
  static int __init fpga_bridge_dev_init(void)
  {
 -      fpga_bridge_class = class_create(THIS_MODULE, "fpga_bridge");
 +      fpga_bridge_class = class_create("fpga_bridge");
        if (IS_ERR(fpga_bridge_class))
                return PTR_ERR(fpga_bridge_class);
  
index 7900a4707d7c4694a92ae92c370410b31b254ca6,b62f5e4425f4270390ea3e5bbc144fc4a0a16751..295382cd09b0baf389f907c9be3046599669770c
@@@ -160,7 -160,7 +160,7 @@@ of_mipi_dsi_device_add(struct mipi_dsi_
        int ret;
        u32 reg;
  
-       if (of_modalias_node(node, info.type, sizeof(info.type)) < 0) {
+       if (of_alias_from_compatible(node, info.type, sizeof(info.type)) < 0) {
                drm_err(host, "modalias failure on %pOF\n", node);
                return ERR_PTR(-EINVAL);
        }
@@@ -329,7 -329,7 +329,7 @@@ int mipi_dsi_host_register(struct mipi_
  
        for_each_available_child_of_node(host->dev->of_node, node) {
                /* skip nodes without reg property */
 -              if (!of_find_property(node, "reg", NULL))
 +              if (!of_property_present(node, "reg"))
                        continue;
                of_mipi_dsi_device_add(host, node);
        }
index 5c137638689799c8ac54f9bee7f62443ac291479,8941a30574e378d7b3598b3514f580e07296a12d..a6c407d3680098272a341de84269ef036e302279
@@@ -27,7 -27,7 +27,7 @@@ int of_i2c_get_board_info(struct devic
  
        memset(info, 0, sizeof(*info));
  
-       if (of_modalias_node(node, info->type, sizeof(info->type)) < 0) {
+       if (of_alias_from_compatible(node, info->type, sizeof(info->type)) < 0) {
                dev_err(dev, "of_i2c: modalias failure on %pOF\n", node);
                return -EINVAL;
        }
@@@ -55,7 -55,7 +55,7 @@@
        if (of_property_read_bool(node, "host-notify"))
                info->flags |= I2C_CLIENT_HOST_NOTIFY;
  
 -      if (of_get_property(node, "wakeup-source", NULL))
 +      if (of_property_read_bool(node, "wakeup-source"))
                info->flags |= I2C_CLIENT_WAKE;
  
        return 0;
@@@ -178,11 -178,6 +178,11 @@@ static int of_i2c_notify(struct notifie
                        return NOTIFY_OK;
                }
  
 +              /*
 +               * Clear the flag before adding the device so that fw_devlink
 +               * doesn't skip adding consumers to this device.
 +               */
 +              rd->dn->fwnode.flags &= ~FWNODE_FLAG_NOT_DEVICE;
                client = of_i2c_register_device(adap, rd->dn);
                if (IS_ERR(client)) {
                        dev_err(&adap->dev, "failed to create client for '%pOF'\n",
index 7258912fe17b758f279de776b420c206ed313f4a,30554026a7fe8d9d0380e2a0ab9b201291e01263..df67b63ccf69ca3fa0175cfbd43dccb405702df8
@@@ -1194,7 -1194,7 +1194,7 @@@ static void at91_dma_buffer_done(void *
  {
        struct iio_dev *indio_dev = data;
  
-       iio_trigger_poll_chained(indio_dev->trig);
+       iio_trigger_poll_nested(indio_dev->trig);
  }
  
  static int at91_adc_dma_start(struct iio_dev *indio_dev)
@@@ -1409,7 -1409,7 +1409,7 @@@ static struct iio_trigger *at91_adc_all
        trig = devm_iio_trigger_alloc(&indio->dev, "%s-dev%d-%s", indio->name,
                                iio_device_id(indio), trigger_name);
        if (!trig)
 -              return NULL;
 +              return ERR_PTR(-ENOMEM);
  
        trig->dev.parent = indio->dev.parent;
        iio_trigger_set_drvdata(trig, indio);
@@@ -2400,12 -2400,8 +2400,8 @@@ static int at91_adc_probe(struct platfo
        st->dma_st.phys_addr = res->start;
  
        st->irq = platform_get_irq(pdev, 0);
-       if (st->irq <= 0) {
-               if (!st->irq)
-                       st->irq = -ENXIO;
+       if (st->irq < 0)
                return st->irq;
-       }
  
        st->per_clk = devm_clk_get(&pdev->dev, "adc_clk");
        if (IS_ERR(st->per_clk))
diff --combined drivers/iommu/iommu.c
index 0b5e181998c9d62f14d16272fd696a69df0fec61,0025a631b8e1c6101366fa1cfd49dcf402875fe6..807c98de40d4f681045ef03af4e0f805642350a3
@@@ -28,6 -28,7 +28,7 @@@
  #include <linux/fsl/mc.h>
  #include <linux/module.h>
  #include <linux/cc_platform.h>
+ #include <linux/cdx/cdx_bus.h>
  #include <trace/events/iommu.h>
  #include <linux/sched/mm.h>
  #include <linux/msi.h>
@@@ -89,7 -90,7 +90,7 @@@ static int iommu_bus_notifier(struct no
                              unsigned long action, void *data);
  static int iommu_alloc_default_domain(struct iommu_group *group,
                                      struct device *dev);
 -static struct iommu_domain *__iommu_domain_alloc(struct bus_type *bus,
 +static struct iommu_domain *__iommu_domain_alloc(const struct bus_type *bus,
                                                 unsigned type);
  static int __iommu_attach_device(struct iommu_domain *domain,
                                 struct device *dev);
@@@ -129,6 -130,9 +130,9 @@@ static struct bus_type * const iommu_bu
  #ifdef CONFIG_TEGRA_HOST1X_CONTEXT_BUS
        &host1x_context_device_bus_type,
  #endif
+ #ifdef CONFIG_CDX_BUS
+       &cdx_bus_type,
+ #endif
  };
  
  /*
@@@ -1631,7 -1635,7 +1635,7 @@@ static int iommu_get_def_domain_type(st
        return 0;
  }
  
 -static int iommu_group_alloc_default_domain(struct bus_type *bus,
 +static int iommu_group_alloc_default_domain(const struct bus_type *bus,
                                            struct iommu_group *group,
                                            unsigned int type)
  {
@@@ -1777,7 -1781,7 +1781,7 @@@ static int probe_get_default_domain_typ
        return 0;
  }
  
 -static void probe_alloc_default_domain(struct bus_type *bus,
 +static void probe_alloc_default_domain(const struct bus_type *bus,
                                       struct iommu_group *group)
  {
        struct __group_domain_type gtype;
@@@ -1832,7 -1836,7 +1836,7 @@@ static int iommu_group_create_direct_ma
                                          iommu_do_create_direct_mappings);
  }
  
 -int bus_iommu_probe(struct bus_type *bus)
 +int bus_iommu_probe(const struct bus_type *bus)
  {
        struct iommu_group *group, *next;
        LIST_HEAD(group_list);
        return ret;
  }
  
 -bool iommu_present(struct bus_type *bus)
 +bool iommu_present(const struct bus_type *bus)
  {
        return bus->iommu_ops != NULL;
  }
@@@ -1951,7 -1955,7 +1955,7 @@@ void iommu_set_fault_handler(struct iom
  }
  EXPORT_SYMBOL_GPL(iommu_set_fault_handler);
  
 -static struct iommu_domain *__iommu_domain_alloc(struct bus_type *bus,
 +static struct iommu_domain *__iommu_domain_alloc(const struct bus_type *bus,
                                                 unsigned type)
  {
        struct iommu_domain *domain;
        return domain;
  }
  
 -struct iommu_domain *iommu_domain_alloc(struct bus_type *bus)
 +struct iommu_domain *iommu_domain_alloc(const struct bus_type *bus)
  {
        return __iommu_domain_alloc(bus, IOMMU_DOMAIN_UNMANAGED);
  }
index 02628288cd0fda7ac7dcdf22275e07a000284593,4829bc2208d6db17d3d1ca5dff7f4efd493e33b8..b03010810b89e7b7d599b43092db439f51c006b5
@@@ -19,7 -19,6 +19,6 @@@
  #include <linux/types.h>
  #include <linux/pci.h>
  #include <linux/err.h>
- #include <linux/aer.h>
  #include <linux/string.h>
  #include <linux/sched.h>
  #include <linux/wait.h>
@@@ -1099,7 -1098,6 +1098,6 @@@ static int genwqe_pci_setup(struct genw
        }
  
        pci_set_master(pci_dev);
-       pci_enable_pcie_error_reporting(pci_dev);
  
        /* EEH recovery requires PCIe fundamental reset */
        pci_dev->needs_freset = 1;
@@@ -1363,7 -1361,7 +1361,7 @@@ static int __init genwqe_init_module(vo
  {
        int rc;
  
 -      class_genwqe = class_create(THIS_MODULE, GENWQE_DEVNAME);
 +      class_genwqe = class_create(GENWQE_DEVNAME);
        if (IS_ERR(class_genwqe)) {
                pr_err("[%s] create class failed\n", __func__);
                return -ENOMEM;
diff --combined drivers/misc/hpilo.c
index 2c3a991d6e88dfbe6088ebc4b33e14f4e7ccd7f6,ba4b00b8bea1772c270f194ce933b4ce4d59e4d0..2fde8d63c5feac22ffc78a5d559671124ffd8e11
@@@ -392,12 -392,6 +392,6 @@@ static inline int is_db_reset(int db_ou
        return db_out & (1 << DB_RESET);
  }
  
- static inline int is_device_reset(struct ilo_hwinfo *hw)
- {
-       /* check for global reset condition */
-       return is_db_reset(get_device_outbound(hw));
- }
  static inline void clear_pending_db(struct ilo_hwinfo *hw, int clr)
  {
        iowrite32(clr, &hw->mmio_vaddr[DB_OUT]);
@@@ -888,7 -882,7 +882,7 @@@ static int __init ilo_init(void
        int error;
        dev_t dev;
  
 -      ilo_class = class_create(THIS_MODULE, "iLO");
 +      ilo_class = class_create("iLO");
        if (IS_ERR(ilo_class)) {
                error = PTR_ERR(ilo_class);
                goto out;
index 7728fe6854762ec72d93e21c596c73cec3814ac1,45e3d4d277974cc10b9f2ac025cf072b18cea9f7..85cbfc3413ee2f040fcb3206d3c4aebbb7c805c2
  
  #include <linux/module.h>
  #include <linux/slab.h>
- #include <linux/uuid.h>
+ #include <linux/mei.h>
  #include <linux/mei_cl_bus.h>
  #include <linux/component.h>
  #include <drm/drm_connector.h>
  #include <drm/i915_component.h>
 -#include <drm/i915_mei_hdcp_interface.h>
 +#include <drm/i915_hdcp_interface.h>
  
  #include "mei_hdcp.h"
  
@@@ -52,13 -52,13 +52,13 @@@ mei_hdcp_initiate_session(struct devic
  
        session_init_in.header.api_version = HDCP_API_VERSION;
        session_init_in.header.command_id = WIRED_INITIATE_HDCP2_SESSION;
 -      session_init_in.header.status = ME_HDCP_STATUS_SUCCESS;
 +      session_init_in.header.status = FW_HDCP_STATUS_SUCCESS;
        session_init_in.header.buffer_len =
                                WIRED_CMD_BUF_LEN_INITIATE_HDCP2_SESSION_IN;
  
        session_init_in.port.integrated_port_type = data->port_type;
 -      session_init_in.port.physical_port = (u8)data->fw_ddi;
 -      session_init_in.port.attached_transcoder = (u8)data->fw_tc;
 +      session_init_in.port.physical_port = (u8)data->hdcp_ddi;
 +      session_init_in.port.attached_transcoder = (u8)data->hdcp_transcoder;
        session_init_in.protocol = data->protocol;
  
        byte = mei_cldev_send(cldev, (u8 *)&session_init_in,
@@@ -75,7 -75,7 +75,7 @@@
                return byte;
        }
  
 -      if (session_init_out.header.status != ME_HDCP_STATUS_SUCCESS) {
 +      if (session_init_out.header.status != FW_HDCP_STATUS_SUCCESS) {
                dev_dbg(dev, "ME cmd 0x%08X Failed. Status: 0x%X\n",
                        WIRED_INITIATE_HDCP2_SESSION,
                        session_init_out.header.status);
@@@ -122,13 -122,13 +122,13 @@@ mei_hdcp_verify_receiver_cert_prepare_k
  
        verify_rxcert_in.header.api_version = HDCP_API_VERSION;
        verify_rxcert_in.header.command_id = WIRED_VERIFY_RECEIVER_CERT;
 -      verify_rxcert_in.header.status = ME_HDCP_STATUS_SUCCESS;
 +      verify_rxcert_in.header.status = FW_HDCP_STATUS_SUCCESS;
        verify_rxcert_in.header.buffer_len =
                                WIRED_CMD_BUF_LEN_VERIFY_RECEIVER_CERT_IN;
  
        verify_rxcert_in.port.integrated_port_type = data->port_type;
 -      verify_rxcert_in.port.physical_port = (u8)data->fw_ddi;
 -      verify_rxcert_in.port.attached_transcoder = (u8)data->fw_tc;
 +      verify_rxcert_in.port.physical_port = (u8)data->hdcp_ddi;
 +      verify_rxcert_in.port.attached_transcoder = (u8)data->hdcp_transcoder;
  
        verify_rxcert_in.cert_rx = rx_cert->cert_rx;
        memcpy(verify_rxcert_in.r_rx, &rx_cert->r_rx, HDCP_2_2_RRX_LEN);
                return byte;
        }
  
 -      if (verify_rxcert_out.header.status != ME_HDCP_STATUS_SUCCESS) {
 +      if (verify_rxcert_out.header.status != FW_HDCP_STATUS_SUCCESS) {
                dev_dbg(dev, "ME cmd 0x%08X Failed. Status: 0x%X\n",
                        WIRED_VERIFY_RECEIVER_CERT,
                        verify_rxcert_out.header.status);
@@@ -194,12 -194,12 +194,12 @@@ mei_hdcp_verify_hprime(struct device *d
  
        send_hprime_in.header.api_version = HDCP_API_VERSION;
        send_hprime_in.header.command_id = WIRED_AKE_SEND_HPRIME;
 -      send_hprime_in.header.status = ME_HDCP_STATUS_SUCCESS;
 +      send_hprime_in.header.status = FW_HDCP_STATUS_SUCCESS;
        send_hprime_in.header.buffer_len = WIRED_CMD_BUF_LEN_AKE_SEND_HPRIME_IN;
  
        send_hprime_in.port.integrated_port_type = data->port_type;
 -      send_hprime_in.port.physical_port = (u8)data->fw_ddi;
 -      send_hprime_in.port.attached_transcoder = (u8)data->fw_tc;
 +      send_hprime_in.port.physical_port = (u8)data->hdcp_ddi;
 +      send_hprime_in.port.attached_transcoder = (u8)data->hdcp_transcoder;
  
        memcpy(send_hprime_in.h_prime, rx_hprime->h_prime,
               HDCP_2_2_H_PRIME_LEN);
                return byte;
        }
  
 -      if (send_hprime_out.header.status != ME_HDCP_STATUS_SUCCESS) {
 +      if (send_hprime_out.header.status != FW_HDCP_STATUS_SUCCESS) {
                dev_dbg(dev, "ME cmd 0x%08X Failed. Status: 0x%X\n",
                        WIRED_AKE_SEND_HPRIME, send_hprime_out.header.status);
                return -EIO;
@@@ -251,13 -251,13 +251,13 @@@ mei_hdcp_store_pairing_info(struct devi
  
        pairing_info_in.header.api_version = HDCP_API_VERSION;
        pairing_info_in.header.command_id = WIRED_AKE_SEND_PAIRING_INFO;
 -      pairing_info_in.header.status = ME_HDCP_STATUS_SUCCESS;
 +      pairing_info_in.header.status = FW_HDCP_STATUS_SUCCESS;
        pairing_info_in.header.buffer_len =
                                        WIRED_CMD_BUF_LEN_SEND_PAIRING_INFO_IN;
  
        pairing_info_in.port.integrated_port_type = data->port_type;
 -      pairing_info_in.port.physical_port = (u8)data->fw_ddi;
 -      pairing_info_in.port.attached_transcoder = (u8)data->fw_tc;
 +      pairing_info_in.port.physical_port = (u8)data->hdcp_ddi;
 +      pairing_info_in.port.attached_transcoder = (u8)data->hdcp_transcoder;
  
        memcpy(pairing_info_in.e_kh_km, pairing_info->e_kh_km,
               HDCP_2_2_E_KH_KM_LEN);
                return byte;
        }
  
 -      if (pairing_info_out.header.status != ME_HDCP_STATUS_SUCCESS) {
 +      if (pairing_info_out.header.status != FW_HDCP_STATUS_SUCCESS) {
                dev_dbg(dev, "ME cmd 0x%08X failed. Status: 0x%X\n",
                        WIRED_AKE_SEND_PAIRING_INFO,
                        pairing_info_out.header.status);
@@@ -311,12 -311,12 +311,12 @@@ mei_hdcp_initiate_locality_check(struc
  
        lc_init_in.header.api_version = HDCP_API_VERSION;
        lc_init_in.header.command_id = WIRED_INIT_LOCALITY_CHECK;
 -      lc_init_in.header.status = ME_HDCP_STATUS_SUCCESS;
 +      lc_init_in.header.status = FW_HDCP_STATUS_SUCCESS;
        lc_init_in.header.buffer_len = WIRED_CMD_BUF_LEN_INIT_LOCALITY_CHECK_IN;
  
        lc_init_in.port.integrated_port_type = data->port_type;
 -      lc_init_in.port.physical_port = (u8)data->fw_ddi;
 -      lc_init_in.port.attached_transcoder = (u8)data->fw_tc;
 +      lc_init_in.port.physical_port = (u8)data->hdcp_ddi;
 +      lc_init_in.port.attached_transcoder = (u8)data->hdcp_transcoder;
  
        byte = mei_cldev_send(cldev, (u8 *)&lc_init_in, sizeof(lc_init_in));
        if (byte < 0) {
                return byte;
        }
  
 -      if (lc_init_out.header.status != ME_HDCP_STATUS_SUCCESS) {
 +      if (lc_init_out.header.status != FW_HDCP_STATUS_SUCCESS) {
                dev_dbg(dev, "ME cmd 0x%08X Failed. status: 0x%X\n",
                        WIRED_INIT_LOCALITY_CHECK, lc_init_out.header.status);
                return -EIO;
@@@ -366,13 -366,13 +366,13 @@@ mei_hdcp_verify_lprime(struct device *d
  
        verify_lprime_in.header.api_version = HDCP_API_VERSION;
        verify_lprime_in.header.command_id = WIRED_VALIDATE_LOCALITY;
 -      verify_lprime_in.header.status = ME_HDCP_STATUS_SUCCESS;
 +      verify_lprime_in.header.status = FW_HDCP_STATUS_SUCCESS;
        verify_lprime_in.header.buffer_len =
                                        WIRED_CMD_BUF_LEN_VALIDATE_LOCALITY_IN;
  
        verify_lprime_in.port.integrated_port_type = data->port_type;
 -      verify_lprime_in.port.physical_port = (u8)data->fw_ddi;
 -      verify_lprime_in.port.attached_transcoder = (u8)data->fw_tc;
 +      verify_lprime_in.port.physical_port = (u8)data->hdcp_ddi;
 +      verify_lprime_in.port.attached_transcoder = (u8)data->hdcp_transcoder;
  
        memcpy(verify_lprime_in.l_prime, rx_lprime->l_prime,
               HDCP_2_2_L_PRIME_LEN);
                return byte;
        }
  
 -      if (verify_lprime_out.header.status != ME_HDCP_STATUS_SUCCESS) {
 +      if (verify_lprime_out.header.status != FW_HDCP_STATUS_SUCCESS) {
                dev_dbg(dev, "ME cmd 0x%08X failed. status: 0x%X\n",
                        WIRED_VALIDATE_LOCALITY,
                        verify_lprime_out.header.status);
@@@ -425,12 -425,12 +425,12 @@@ static int mei_hdcp_get_session_key(str
  
        get_skey_in.header.api_version = HDCP_API_VERSION;
        get_skey_in.header.command_id = WIRED_GET_SESSION_KEY;
 -      get_skey_in.header.status = ME_HDCP_STATUS_SUCCESS;
 +      get_skey_in.header.status = FW_HDCP_STATUS_SUCCESS;
        get_skey_in.header.buffer_len = WIRED_CMD_BUF_LEN_GET_SESSION_KEY_IN;
  
        get_skey_in.port.integrated_port_type = data->port_type;
 -      get_skey_in.port.physical_port = (u8)data->fw_ddi;
 -      get_skey_in.port.attached_transcoder = (u8)data->fw_tc;
 +      get_skey_in.port.physical_port = (u8)data->hdcp_ddi;
 +      get_skey_in.port.attached_transcoder = (u8)data->hdcp_transcoder;
  
        byte = mei_cldev_send(cldev, (u8 *)&get_skey_in, sizeof(get_skey_in));
        if (byte < 0) {
                return byte;
        }
  
 -      if (get_skey_out.header.status != ME_HDCP_STATUS_SUCCESS) {
 +      if (get_skey_out.header.status != FW_HDCP_STATUS_SUCCESS) {
                dev_dbg(dev, "ME cmd 0x%08X failed. status: 0x%X\n",
                        WIRED_GET_SESSION_KEY, get_skey_out.header.status);
                return -EIO;
@@@ -489,13 -489,13 +489,13 @@@ mei_hdcp_repeater_check_flow_prepare_ac
  
        verify_repeater_in.header.api_version = HDCP_API_VERSION;
        verify_repeater_in.header.command_id = WIRED_VERIFY_REPEATER;
 -      verify_repeater_in.header.status = ME_HDCP_STATUS_SUCCESS;
 +      verify_repeater_in.header.status = FW_HDCP_STATUS_SUCCESS;
        verify_repeater_in.header.buffer_len =
                                        WIRED_CMD_BUF_LEN_VERIFY_REPEATER_IN;
  
        verify_repeater_in.port.integrated_port_type = data->port_type;
 -      verify_repeater_in.port.physical_port = (u8)data->fw_ddi;
 -      verify_repeater_in.port.attached_transcoder = (u8)data->fw_tc;
 +      verify_repeater_in.port.physical_port = (u8)data->hdcp_ddi;
 +      verify_repeater_in.port.attached_transcoder = (u8)data->hdcp_transcoder;
  
        memcpy(verify_repeater_in.rx_info, rep_topology->rx_info,
               HDCP_2_2_RXINFO_LEN);
                return byte;
        }
  
 -      if (verify_repeater_out.header.status != ME_HDCP_STATUS_SUCCESS) {
 +      if (verify_repeater_out.header.status != FW_HDCP_STATUS_SUCCESS) {
                dev_dbg(dev, "ME cmd 0x%08X failed. status: 0x%X\n",
                        WIRED_VERIFY_REPEATER,
                        verify_repeater_out.header.status);
@@@ -568,12 -568,12 +568,12 @@@ static int mei_hdcp_verify_mprime(struc
  
        verify_mprime_in->header.api_version = HDCP_API_VERSION;
        verify_mprime_in->header.command_id = WIRED_REPEATER_AUTH_STREAM_REQ;
 -      verify_mprime_in->header.status = ME_HDCP_STATUS_SUCCESS;
 +      verify_mprime_in->header.status = FW_HDCP_STATUS_SUCCESS;
        verify_mprime_in->header.buffer_len = cmd_size  - sizeof(verify_mprime_in->header);
  
        verify_mprime_in->port.integrated_port_type = data->port_type;
 -      verify_mprime_in->port.physical_port = (u8)data->fw_ddi;
 -      verify_mprime_in->port.attached_transcoder = (u8)data->fw_tc;
 +      verify_mprime_in->port.physical_port = (u8)data->hdcp_ddi;
 +      verify_mprime_in->port.attached_transcoder = (u8)data->hdcp_transcoder;
  
        memcpy(verify_mprime_in->m_prime, stream_ready->m_prime, HDCP_2_2_MPRIME_LEN);
        drm_hdcp_cpu_to_be24(verify_mprime_in->seq_num_m, data->seq_num_m);
                return byte;
        }
  
 -      if (verify_mprime_out.header.status != ME_HDCP_STATUS_SUCCESS) {
 +      if (verify_mprime_out.header.status != FW_HDCP_STATUS_SUCCESS) {
                dev_dbg(dev, "ME cmd 0x%08X failed. status: 0x%X\n",
                        WIRED_REPEATER_AUTH_STREAM_REQ,
                        verify_mprime_out.header.status);
@@@ -630,12 -630,12 +630,12 @@@ static int mei_hdcp_enable_authenticati
  
        enable_auth_in.header.api_version = HDCP_API_VERSION;
        enable_auth_in.header.command_id = WIRED_ENABLE_AUTH;
 -      enable_auth_in.header.status = ME_HDCP_STATUS_SUCCESS;
 +      enable_auth_in.header.status = FW_HDCP_STATUS_SUCCESS;
        enable_auth_in.header.buffer_len = WIRED_CMD_BUF_LEN_ENABLE_AUTH_IN;
  
        enable_auth_in.port.integrated_port_type = data->port_type;
 -      enable_auth_in.port.physical_port = (u8)data->fw_ddi;
 -      enable_auth_in.port.attached_transcoder = (u8)data->fw_tc;
 +      enable_auth_in.port.physical_port = (u8)data->hdcp_ddi;
 +      enable_auth_in.port.attached_transcoder = (u8)data->hdcp_transcoder;
        enable_auth_in.stream_type = data->streams[0].stream_type;
  
        byte = mei_cldev_send(cldev, (u8 *)&enable_auth_in,
                return byte;
        }
  
 -      if (enable_auth_out.header.status != ME_HDCP_STATUS_SUCCESS) {
 +      if (enable_auth_out.header.status != FW_HDCP_STATUS_SUCCESS) {
                dev_dbg(dev, "ME cmd 0x%08X failed. status: 0x%X\n",
                        WIRED_ENABLE_AUTH, enable_auth_out.header.status);
                return -EIO;
@@@ -684,13 -684,13 +684,13 @@@ mei_hdcp_close_session(struct device *d
  
        session_close_in.header.api_version = HDCP_API_VERSION;
        session_close_in.header.command_id = WIRED_CLOSE_SESSION;
 -      session_close_in.header.status = ME_HDCP_STATUS_SUCCESS;
 +      session_close_in.header.status = FW_HDCP_STATUS_SUCCESS;
        session_close_in.header.buffer_len =
                                WIRED_CMD_BUF_LEN_CLOSE_SESSION_IN;
  
        session_close_in.port.integrated_port_type = data->port_type;
 -      session_close_in.port.physical_port = (u8)data->fw_ddi;
 -      session_close_in.port.attached_transcoder = (u8)data->fw_tc;
 +      session_close_in.port.physical_port = (u8)data->hdcp_ddi;
 +      session_close_in.port.attached_transcoder = (u8)data->hdcp_transcoder;
  
        byte = mei_cldev_send(cldev, (u8 *)&session_close_in,
                              sizeof(session_close_in));
                return byte;
        }
  
 -      if (session_close_out.header.status != ME_HDCP_STATUS_SUCCESS) {
 +      if (session_close_out.header.status != FW_HDCP_STATUS_SUCCESS) {
                dev_dbg(dev, "Session Close Failed. status: 0x%X\n",
                        session_close_out.header.status);
                return -EIO;
        return 0;
  }
  
 -static const struct i915_hdcp_component_ops mei_hdcp_ops = {
 +static const struct i915_hdcp_ops mei_hdcp_ops = {
        .owner = THIS_MODULE,
        .initiate_hdcp2_session = mei_hdcp_initiate_session,
        .verify_receiver_cert_prepare_km =
  static int mei_component_master_bind(struct device *dev)
  {
        struct mei_cl_device *cldev = to_mei_cl_device(dev);
 -      struct i915_hdcp_comp_master *comp_master =
 -                                              mei_cldev_get_drvdata(cldev);
 +      struct i915_hdcp_master *comp_master = mei_cldev_get_drvdata(cldev);
        int ret;
  
        dev_dbg(dev, "%s\n", __func__);
        comp_master->ops = &mei_hdcp_ops;
 -      comp_master->mei_dev = dev;
 +      comp_master->hdcp_dev = dev;
        ret = component_bind_all(dev, comp_master);
        if (ret < 0)
                return ret;
  static void mei_component_master_unbind(struct device *dev)
  {
        struct mei_cl_device *cldev = to_mei_cl_device(dev);
 -      struct i915_hdcp_comp_master *comp_master =
 -                                              mei_cldev_get_drvdata(cldev);
 +      struct i915_hdcp_master *comp_master = mei_cldev_get_drvdata(cldev);
  
        dev_dbg(dev, "%s\n", __func__);
        component_unbind_all(dev, comp_master);
@@@ -799,7 -801,7 +799,7 @@@ static int mei_hdcp_component_match(str
  static int mei_hdcp_probe(struct mei_cl_device *cldev,
                          const struct mei_cl_device_id *id)
  {
 -      struct i915_hdcp_comp_master *comp_master;
 +      struct i915_hdcp_master *comp_master;
        struct component_match *master_match;
        int ret;
  
@@@ -844,7 -846,8 +844,7 @@@ enable_err_exit
  
  static void mei_hdcp_remove(struct mei_cl_device *cldev)
  {
 -      struct i915_hdcp_comp_master *comp_master =
 -                                              mei_cldev_get_drvdata(cldev);
 +      struct i915_hdcp_master *comp_master = mei_cldev_get_drvdata(cldev);
        int ret;
  
        component_master_del(&cldev->dev, &mei_component_master_ops);
diff --combined drivers/misc/mei/main.c
index 76c771a424f76866423085e8e0b5e25b580cb436,c64291741d737506f22465b6b4c83b312554464b..51876da3fd65d5abe360bdf5507d13373cc90bae
@@@ -18,7 -18,6 +18,6 @@@
  #include <linux/ioctl.h>
  #include <linux/cdev.h>
  #include <linux/sched/signal.h>
- #include <linux/uuid.h>
  #include <linux/compat.h>
  #include <linux/jiffies.h>
  #include <linux/interrupt.h>
@@@ -1275,7 -1274,7 +1274,7 @@@ static int __init mei_init(void
  {
        int ret;
  
 -      mei_class = class_create(THIS_MODULE, "mei");
 +      mei_class = class_create("mei");
        if (IS_ERR(mei_class)) {
                pr_err("couldn't create class\n");
                ret = PTR_ERR(mei_class);
diff --combined drivers/of/Makefile
index 10f7045925618d001a03d363f96940a7e2af352f,ae9923fd2940a1d87cd75914a728f2e901a52670..eff624854575c56be5b7832cdbbcf83a3b7143ec
@@@ -1,5 -1,5 +1,5 @@@
  # SPDX-License-Identifier: GPL-2.0
- obj-y = base.o cpu.o device.o platform.o property.o
 -obj-y = base.o device.o module.o platform.o property.o
++obj-y = base.o cpu.o device.o module.o platform.o property.o
  obj-$(CONFIG_OF_KOBJ) += kobj.o
  obj-$(CONFIG_OF_DYNAMIC) += dynamic.o
  obj-$(CONFIG_OF_FLATTREE) += fdt.o
diff --combined drivers/of/base.c
index 7f1720af813cb8c6b3507e2a66603f41cea2518a,161fe3192c462aea6595837c88fc6d5c0ada9534..166fb7d7533784584cd9a630d3886be1f17ce7d1
@@@ -286,6 -286,193 +286,6 @@@ const void *of_get_property(const struc
  }
  EXPORT_SYMBOL(of_get_property);
  
 -/**
 - * of_get_cpu_hwid - Get the hardware ID from a CPU device node
 - *
 - * @cpun: CPU number(logical index) for which device node is required
 - * @thread: The local thread number to get the hardware ID for.
 - *
 - * Return: The hardware ID for the CPU node or ~0ULL if not found.
 - */
 -u64 of_get_cpu_hwid(struct device_node *cpun, unsigned int thread)
 -{
 -      const __be32 *cell;
 -      int ac, len;
 -
 -      ac = of_n_addr_cells(cpun);
 -      cell = of_get_property(cpun, "reg", &len);
 -      if (!cell || !ac || ((sizeof(*cell) * ac * (thread + 1)) > len))
 -              return ~0ULL;
 -
 -      cell += ac * thread;
 -      return of_read_number(cell, ac);
 -}
 -
 -/*
 - * arch_match_cpu_phys_id - Match the given logical CPU and physical id
 - *
 - * @cpu: logical cpu index of a core/thread
 - * @phys_id: physical identifier of a core/thread
 - *
 - * CPU logical to physical index mapping is architecture specific.
 - * However this __weak function provides a default match of physical
 - * id to logical cpu index. phys_id provided here is usually values read
 - * from the device tree which must match the hardware internal registers.
 - *
 - * Returns true if the physical identifier and the logical cpu index
 - * correspond to the same core/thread, false otherwise.
 - */
 -bool __weak arch_match_cpu_phys_id(int cpu, u64 phys_id)
 -{
 -      return (u32)phys_id == cpu;
 -}
 -
 -/*
 - * Checks if the given "prop_name" property holds the physical id of the
 - * core/thread corresponding to the logical cpu 'cpu'. If 'thread' is not
 - * NULL, local thread number within the core is returned in it.
 - */
 -static bool __of_find_n_match_cpu_property(struct device_node *cpun,
 -                      const char *prop_name, int cpu, unsigned int *thread)
 -{
 -      const __be32 *cell;
 -      int ac, prop_len, tid;
 -      u64 hwid;
 -
 -      ac = of_n_addr_cells(cpun);
 -      cell = of_get_property(cpun, prop_name, &prop_len);
 -      if (!cell && !ac && arch_match_cpu_phys_id(cpu, 0))
 -              return true;
 -      if (!cell || !ac)
 -              return false;
 -      prop_len /= sizeof(*cell) * ac;
 -      for (tid = 0; tid < prop_len; tid++) {
 -              hwid = of_read_number(cell, ac);
 -              if (arch_match_cpu_phys_id(cpu, hwid)) {
 -                      if (thread)
 -                              *thread = tid;
 -                      return true;
 -              }
 -              cell += ac;
 -      }
 -      return false;
 -}
 -
 -/*
 - * arch_find_n_match_cpu_physical_id - See if the given device node is
 - * for the cpu corresponding to logical cpu 'cpu'.  Return true if so,
 - * else false.  If 'thread' is non-NULL, the local thread number within the
 - * core is returned in it.
 - */
 -bool __weak arch_find_n_match_cpu_physical_id(struct device_node *cpun,
 -                                            int cpu, unsigned int *thread)
 -{
 -      /* Check for non-standard "ibm,ppc-interrupt-server#s" property
 -       * for thread ids on PowerPC. If it doesn't exist fallback to
 -       * standard "reg" property.
 -       */
 -      if (IS_ENABLED(CONFIG_PPC) &&
 -          __of_find_n_match_cpu_property(cpun,
 -                                         "ibm,ppc-interrupt-server#s",
 -                                         cpu, thread))
 -              return true;
 -
 -      return __of_find_n_match_cpu_property(cpun, "reg", cpu, thread);
 -}
 -
 -/**
 - * of_get_cpu_node - Get device node associated with the given logical CPU
 - *
 - * @cpu: CPU number(logical index) for which device node is required
 - * @thread: if not NULL, local thread number within the physical core is
 - *          returned
 - *
 - * The main purpose of this function is to retrieve the device node for the
 - * given logical CPU index. It should be used to initialize the of_node in
 - * cpu device. Once of_node in cpu device is populated, all the further
 - * references can use that instead.
 - *
 - * CPU logical to physical index mapping is architecture specific and is built
 - * before booting secondary cores. This function uses arch_match_cpu_phys_id
 - * which can be overridden by architecture specific implementation.
 - *
 - * Return: A node pointer for the logical cpu with refcount incremented, use
 - * of_node_put() on it when done. Returns NULL if not found.
 - */
 -struct device_node *of_get_cpu_node(int cpu, unsigned int *thread)
 -{
 -      struct device_node *cpun;
 -
 -      for_each_of_cpu_node(cpun) {
 -              if (arch_find_n_match_cpu_physical_id(cpun, cpu, thread))
 -                      return cpun;
 -      }
 -      return NULL;
 -}
 -EXPORT_SYMBOL(of_get_cpu_node);
 -
 -/**
 - * of_cpu_node_to_id: Get the logical CPU number for a given device_node
 - *
 - * @cpu_node: Pointer to the device_node for CPU.
 - *
 - * Return: The logical CPU number of the given CPU device_node or -ENODEV if the
 - * CPU is not found.
 - */
 -int of_cpu_node_to_id(struct device_node *cpu_node)
 -{
 -      int cpu;
 -      bool found = false;
 -      struct device_node *np;
 -
 -      for_each_possible_cpu(cpu) {
 -              np = of_cpu_device_node_get(cpu);
 -              found = (cpu_node == np);
 -              of_node_put(np);
 -              if (found)
 -                      return cpu;
 -      }
 -
 -      return -ENODEV;
 -}
 -EXPORT_SYMBOL(of_cpu_node_to_id);
 -
 -/**
 - * of_get_cpu_state_node - Get CPU's idle state node at the given index
 - *
 - * @cpu_node: The device node for the CPU
 - * @index: The index in the list of the idle states
 - *
 - * Two generic methods can be used to describe a CPU's idle states, either via
 - * a flattened description through the "cpu-idle-states" binding or via the
 - * hierarchical layout, using the "power-domains" and the "domain-idle-states"
 - * bindings. This function check for both and returns the idle state node for
 - * the requested index.
 - *
 - * Return: An idle state node if found at @index. The refcount is incremented
 - * for it, so call of_node_put() on it when done. Returns NULL if not found.
 - */
 -struct device_node *of_get_cpu_state_node(struct device_node *cpu_node,
 -                                        int index)
 -{
 -      struct of_phandle_args args;
 -      int err;
 -
 -      err = of_parse_phandle_with_args(cpu_node, "power-domains",
 -                                      "#power-domain-cells", 0, &args);
 -      if (!err) {
 -              struct device_node *state_node =
 -                      of_parse_phandle(args.np, "domain-idle-states", index);
 -
 -              of_node_put(args.np);
 -              if (state_node)
 -                      return state_node;
 -      }
 -
 -      return of_parse_phandle(cpu_node, "cpu-idle-states", index);
 -}
 -EXPORT_SYMBOL(of_get_cpu_state_node);
 -
  /**
   * __of_device_is_compatible() - Check if the node matches given constraints
   * @device: pointer to node
@@@ -1021,19 -1208,23 +1021,23 @@@ struct device_node *of_find_matching_no
  EXPORT_SYMBOL(of_find_matching_node_and_match);
  
  /**
-  * of_modalias_node - Lookup appropriate modalias for a device node
+  * of_alias_from_compatible - Lookup appropriate alias for a device node
+  *                          depending on compatible
   * @node:     pointer to a device tree node
-  * @modalias: Pointer to buffer that modalias value will be copied into
-  * @len:      Length of modalias value
+  * @alias:    Pointer to buffer that alias value will be copied into
+  * @len:      Length of alias value
   *
   * Based on the value of the compatible property, this routine will attempt
-  * to choose an appropriate modalias value for a particular device tree node.
+  * to choose an appropriate alias value for a particular device tree node.
   * It does this by stripping the manufacturer prefix (as delimited by a ',')
   * from the first entry in the compatible list property.
   *
+  * Note: The matching on just the "product" side of the compatible is a relic
+  * from I2C and SPI. Please do not add any new user.
+  *
   * Return: This routine returns 0 on success, <0 on failure.
   */
- int of_modalias_node(struct device_node *node, char *modalias, int len)
+ int of_alias_from_compatible(const struct device_node *node, char *alias, int len)
  {
        const char *compatible, *p;
        int cplen;
        if (!compatible || strlen(compatible) > cplen)
                return -ENODEV;
        p = strchr(compatible, ',');
-       strscpy(modalias, p ? p + 1 : compatible, len);
+       strscpy(alias, p ? p + 1 : compatible, len);
        return 0;
  }
- EXPORT_SYMBOL_GPL(of_modalias_node);
+ EXPORT_SYMBOL_GPL(of_alias_from_compatible);
  
  /**
   * of_find_node_by_phandle - Find a node given a phandle
diff --combined drivers/spi/spi.c
index a12420e28640bbd41a7a45ef372b642e99852ab2,3bbdc5fe3b9996011d70d1adaff206158a02d006..9291b2a0e8871887358e04d165ec41369b50c3e3
@@@ -117,28 -117,24 +117,28 @@@ static struct spi_statistics __percpu *
        return pcpu_stats;
  }
  
 -#define spi_pcpu_stats_totalize(ret, in, field)                               \
 -do {                                                                  \
 -      int i;                                                          \
 -      ret = 0;                                                        \
 -      for_each_possible_cpu(i) {                                      \
 -              const struct spi_statistics *pcpu_stats;                \
 -              u64 inc;                                                \
 -              unsigned int start;                                     \
 -              pcpu_stats = per_cpu_ptr(in, i);                        \
 -              do {                                                    \
 -                      start = u64_stats_fetch_begin(          \
 -                                      &pcpu_stats->syncp);            \
 -                      inc = u64_stats_read(&pcpu_stats->field);       \
 -              } while (u64_stats_fetch_retry(                 \
 -                                      &pcpu_stats->syncp, start));    \
 -              ret += inc;                                             \
 -      }                                                               \
 -} while (0)
 +static ssize_t spi_emit_pcpu_stats(struct spi_statistics __percpu *stat,
 +                                 char *buf, size_t offset)
 +{
 +      u64 val = 0;
 +      int i;
 +
 +      for_each_possible_cpu(i) {
 +              const struct spi_statistics *pcpu_stats;
 +              u64_stats_t *field;
 +              unsigned int start;
 +              u64 inc;
 +
 +              pcpu_stats = per_cpu_ptr(stat, i);
 +              field = (void *)pcpu_stats + offset;
 +              do {
 +                      start = u64_stats_fetch_begin(&pcpu_stats->syncp);
 +                      inc = u64_stats_read(field);
 +              } while (u64_stats_fetch_retry(&pcpu_stats->syncp, start));
 +              val += inc;
 +      }
 +      return sysfs_emit(buf, "%llu\n", val);
 +}
  
  #define SPI_STATISTICS_ATTRS(field, file)                             \
  static ssize_t spi_controller_##field##_show(struct device *dev,      \
@@@ -169,8 -165,11 +169,8 @@@ static struct device_attribute dev_attr
  static ssize_t spi_statistics_##name##_show(struct spi_statistics __percpu *stat, \
                                            char *buf)                  \
  {                                                                     \
 -      ssize_t len;                                                    \
 -      u64 val;                                                        \
 -      spi_pcpu_stats_totalize(val, stat, field);                      \
 -      len = sysfs_emit(buf, "%llu\n", val);                           \
 -      return len;                                                     \
 +      return spi_emit_pcpu_stats(stat, buf,                           \
 +                      offsetof(struct spi_statistics, field));        \
  }                                                                     \
  SPI_STATISTICS_ATTRS(name, file)
  
@@@ -2355,8 -2354,8 +2355,8 @@@ of_register_spi_device(struct spi_contr
        }
  
        /* Select device driver */
-       rc = of_modalias_node(nc, spi->modalias,
-                               sizeof(spi->modalias));
+       rc = of_alias_from_compatible(nc, spi->modalias,
+                                     sizeof(spi->modalias));
        if (rc < 0) {
                dev_err(&ctlr->dev, "cannot find modalias for %pOF\n", nc);
                goto err_out;
  
        /* Store a pointer to the node in the device structure */
        of_node_get(nc);
 -      spi->dev.of_node = nc;
 -      spi->dev.fwnode = of_fwnode_handle(nc);
 +
 +      device_set_node(&spi->dev, of_fwnode_handle(nc));
  
        /* Register the new device */
        rc = spi_add_device(spi);
@@@ -2777,6 -2776,7 +2777,6 @@@ static void spi_controller_release(stru
  
  static struct class spi_master_class = {
        .name           = "spi_master",
 -      .owner          = THIS_MODULE,
        .dev_release    = spi_controller_release,
        .dev_groups     = spi_master_groups,
  };
@@@ -2879,6 -2879,7 +2879,6 @@@ static const struct attribute_group *sp
  
  static struct class spi_slave_class = {
        .name           = "spi_slave",
 -      .owner          = THIS_MODULE,
        .dev_release    = spi_controller_release,
        .dev_groups     = spi_slave_groups,
  };
@@@ -3074,7 -3075,7 +3074,7 @@@ static int spi_controller_check_ops(str
         * If ->mem_ops or ->mem_ops->exec_op is NULL, we request that at least
         * one of the ->transfer_xxx() method be implemented.
         */
 -      if (!ctlr->mem_ops || (ctlr->mem_ops && !ctlr->mem_ops->exec_op)) {
 +      if (!ctlr->mem_ops || !ctlr->mem_ops->exec_op) {
                if (!ctlr->transfer && !ctlr->transfer_one &&
                   !ctlr->transfer_one_message) {
                        return -EINVAL;
@@@ -3620,55 -3621,6 +3620,55 @@@ int spi_split_transfers_maxsize(struct 
  }
  EXPORT_SYMBOL_GPL(spi_split_transfers_maxsize);
  
 +
 +/**
 + * spi_split_transfers_maxwords - split spi transfers into multiple transfers
 + *                                when an individual transfer exceeds a
 + *                                certain number of SPI words
 + * @ctlr:     the @spi_controller for this transfer
 + * @msg:      the @spi_message to transform
 + * @maxwords: the number of words to limit each transfer to
 + * @gfp:      GFP allocation flags
 + *
 + * Return: status of transformation
 + */
 +int spi_split_transfers_maxwords(struct spi_controller *ctlr,
 +                               struct spi_message *msg,
 +                               size_t maxwords,
 +                               gfp_t gfp)
 +{
 +      struct spi_transfer *xfer;
 +
 +      /*
 +       * Iterate over the transfer_list,
 +       * but note that xfer is advanced to the last transfer inserted
 +       * to avoid checking sizes again unnecessarily (also xfer does
 +       * potentially belong to a different list by the time the
 +       * replacement has happened).
 +       */
 +      list_for_each_entry(xfer, &msg->transfers, transfer_list) {
 +              size_t maxsize;
 +              int ret;
 +
 +              if (xfer->bits_per_word <= 8)
 +                      maxsize = maxwords;
 +              else if (xfer->bits_per_word <= 16)
 +                      maxsize = 2 * maxwords;
 +              else
 +                      maxsize = 4 * maxwords;
 +
 +              if (xfer->len > maxsize) {
 +                      ret = __spi_split_transfer_maxsize(ctlr, msg, &xfer,
 +                                                         maxsize, gfp);
 +                      if (ret)
 +                              return ret;
 +              }
 +      }
 +
 +      return 0;
 +}
 +EXPORT_SYMBOL_GPL(spi_split_transfers_maxwords);
 +
  /*-------------------------------------------------------------------------*/
  
  /* Core methods for SPI controller protocol drivers.  Some of the
@@@ -4504,11 -4456,6 +4504,11 @@@ static int of_spi_notify(struct notifie
                        return NOTIFY_OK;
                }
  
 +              /*
 +               * Clear the flag before adding the device so that fw_devlink
 +               * doesn't skip adding consumers to this device.
 +               */
 +              rd->dn->fwnode.flags &= ~FWNODE_FLAG_NOT_DEVICE;
                spi = of_register_spi_device(ctlr, rd->dn);
                put_device(&ctlr->dev);
  
diff --combined drivers/tty/Kconfig
index 84caac32f0fd35f9b11014bebd5f644cc6402c3f,4de4fb9ce61a130e65475c2a7a1abf1a3bb9c1da..341abaed4ce2c093d83fb1453b9a7ec20610eb7b
@@@ -160,7 -160,7 +160,7 @@@ config LEGACY_TIOCST
          a dangerous legacy operation, and can be disabled on most
          systems.
  
 -        Say 'Y here only if you have confirmed that your system's
 +        Say Y here only if you have confirmed that your system's
          userspace depends on this functionality to continue operating
          normally.
  
@@@ -301,6 -301,15 +301,15 @@@ config GOLDFISH_TTY_EARLY_CONSOL
        default y if GOLDFISH_TTY=y
        select SERIAL_EARLYCON
  
+ config IPWIRELESS
+       tristate "IPWireless 3G UMTS PCMCIA card support"
+       depends on PCMCIA && NETDEVICES
+       select PPP
+       help
+         This is a driver for 3G UMTS PCMCIA card from IPWireless company. In
+         some countries (for example Czech Republic, T-Mobile ISP) this card
+         is shipped for service called UMTS 4G.
  config N_GSM
        tristate "GSM MUX line discipline support (EXPERIMENTAL)"
        depends on NET
index 8305a5dfb910477588f4a53e1b024687c486318a,6977cf380838990f55cf7505f6f14615a530032c..84d91b1c1eed53e11539b69ccaa80080870ab043
@@@ -90,7 -90,7 +90,7 @@@ static void ulpi_remove(struct device *
                drv->remove(to_ulpi_dev(dev));
  }
  
 -static struct bus_type ulpi_bus = {
 +static const struct bus_type ulpi_bus = {
        .name = "ulpi",
        .match = ulpi_match,
        .uevent = ulpi_uevent,
@@@ -229,7 -229,7 +229,7 @@@ static int ulpi_read_id(struct ulpi *ul
        request_module("ulpi:v%04xp%04x", ulpi->id.vendor, ulpi->id.product);
        return 0;
  err:
-       of_device_request_module(&ulpi->dev);
+       of_request_module(ulpi->dev.of_node);
        return 0;
  }
  
index 530c77b8d062b8287956e9f4a0b2c63d775cd1bf,ac7ad63f8f8d7329ec75dae31eb7e4e2ef201320..e45acb6d916ee3a69af868710b3507a28c20f2e8
@@@ -87,7 -87,7 +87,7 @@@ static int w1_gpio_probe(struct platfor
                 * driver it high/low like we are in full control of the line and
                 * open drain will happen transparently.
                 */
 -              if (of_get_property(np, "linux,open-drain", NULL))
 +              if (of_property_present(np, "linux,open-drain"))
                        gflags = GPIOD_OUT_LOW;
  
                pdev->dev.platform_data = pdata;
  
        master = devm_kzalloc(dev, sizeof(struct w1_bus_master),
                        GFP_KERNEL);
-       if (!master) {
-               dev_err(dev, "Out of memory\n");
+       if (!master)
                return -ENOMEM;
-       }
  
        pdata->gpiod = devm_gpiod_get_index(dev, NULL, 0, gflags);
        if (IS_ERR(pdata->gpiod)) {
diff --combined include/linux/of.h
index bc2eb39dcf75325f06a714a9dcba4e69c4f0a186,9b7a99499ef35116db905242ea0fa149cd43355b..6ecde0515677d3d80b776d81aa9c662466627947
  #include <linux/errno.h>
  #include <linux/kobject.h>
  #include <linux/mod_devicetable.h>
 -#include <linux/spinlock.h>
 -#include <linux/topology.h>
 -#include <linux/notifier.h>
  #include <linux/property.h>
  #include <linux/list.h>
  
  #include <asm/byteorder.h>
 -#include <asm/errno.h>
  
  typedef u32 phandle;
  typedef u32 ihandle;
@@@ -141,6 -145,7 +141,6 @@@ extern struct device_node *of_root
  extern struct device_node *of_chosen;
  extern struct device_node *of_aliases;
  extern struct device_node *of_stdout;
 -extern raw_spinlock_t devtree_lock;
  
  /*
   * struct device_node flag descriptions
@@@ -356,8 -361,6 +356,8 @@@ extern const void *of_get_property(cons
                                const char *name,
                                int *lenp);
  extern struct device_node *of_get_cpu_node(int cpu, unsigned int *thread);
 +extern struct device_node *of_cpu_device_node_get(int cpu);
 +extern int of_cpu_node_to_id(struct device_node *np);
  extern struct device_node *of_get_next_cpu_node(struct device_node *prev);
  extern struct device_node *of_get_cpu_state_node(struct device_node *cpu_node,
                                                 int index);
@@@ -370,8 -373,8 +370,9 @@@ extern int of_n_addr_cells(struct devic
  extern int of_n_size_cells(struct device_node *np);
  extern const struct of_device_id *of_match_node(
        const struct of_device_id *matches, const struct device_node *node);
- extern int of_modalias_node(struct device_node *node, char *modalias, int len);
 +extern const void *of_device_get_match_data(const struct device *dev);
+ extern int of_alias_from_compatible(const struct device_node *node, char *alias,
+                                   int len);
  extern void of_print_phandle_args(const char *msg, const struct of_phandle_args *args);
  extern int __of_parse_phandle_with_args(const struct device_node *np,
        const char *list_name, const char *cells_name, int cell_count,
@@@ -382,6 -385,10 +383,10 @@@ extern int of_parse_phandle_with_args_m
  extern int of_count_phandle_with_args(const struct device_node *np,
        const char *list_name, const char *cells_name);
  
+ /* module functions */
+ extern ssize_t of_modalias(const struct device_node *np, char *str, ssize_t len);
+ extern int of_request_module(const struct device_node *np);
  /* phandle iterator functions */
  extern int of_phandle_iterator_init(struct of_phandle_iterator *it,
                                    const struct device_node *np,
@@@ -437,6 -444,8 +442,6 @@@ const char *of_prop_next_string(struct 
  
  bool of_console_check(struct device_node *dn, char *name, int index);
  
 -extern int of_cpu_node_to_id(struct device_node *np);
 -
  int of_map_id(struct device_node *np, u32 id,
               const char *map_name, const char *map_mask_name,
               struct device_node **target, u32 *id_out);
@@@ -631,16 -640,6 +636,16 @@@ static inline struct device_node *of_ge
        return NULL;
  }
  
 +static inline struct device_node *of_cpu_device_node_get(int cpu)
 +{
 +      return NULL;
 +}
 +
 +static inline int of_cpu_node_to_id(struct device_node *np)
 +{
 +      return -ENODEV;
 +}
 +
  static inline struct device_node *of_get_next_cpu_node(struct device_node *prev)
  {
        return NULL;
@@@ -747,6 -746,17 +752,17 @@@ static inline int of_count_phandle_with
        return -ENOSYS;
  }
  
+ static inline ssize_t of_modalias(const struct device_node *np, char *str,
+                                 ssize_t len)
+ {
+       return -ENODEV;
+ }
+ static inline int of_request_module(const struct device_node *np)
+ {
+       return -ENODEV;
+ }
  static inline int of_phandle_iterator_init(struct of_phandle_iterator *it,
                                           const struct device_node *np,
                                           const char *list_name,
@@@ -843,6 -853,11 +859,6 @@@ static inline void of_property_clear_fl
  {
  }
  
 -static inline int of_cpu_node_to_id(struct device_node *np)
 -{
 -      return -ENODEV;
 -}
 -
  static inline int of_map_id(struct device_node *np, u32 id,
                             const char *map_name, const char *map_mask_name,
                             struct device_node **target, u32 *id_out)
@@@ -855,11 -870,6 +871,11 @@@ static inline phys_addr_t of_dma_get_ma
        return PHYS_ADDR_MAX;
  }
  
 +static inline const void *of_device_get_match_data(const struct device *dev)
 +{
 +      return NULL;
 +}
 +
  #define of_match_ptr(_ptr)    NULL
  #define of_match_node(_matches, _node)        NULL
  #endif /* CONFIG_OF */
@@@ -1518,8 -1528,6 +1534,8 @@@ enum of_reconfig_change 
        OF_RECONFIG_CHANGE_REMOVE,
  };
  
 +struct notifier_block;
 +
  #ifdef CONFIG_OF_DYNAMIC
  extern int of_reconfig_notifier_register(struct notifier_block *);
  extern int of_reconfig_notifier_unregister(struct notifier_block *);
index 33f0ca348a62aab349503ebcffa9c8ada2914bfa,ce20d8b00b3e44c21126c8a11dfd26294ac651e5..2c7a3d4bc775b95f7092a181a75a2d6152e5a96d
@@@ -2,14 -2,14 +2,14 @@@
  #ifndef _LINUX_OF_DEVICE_H
  #define _LINUX_OF_DEVICE_H
  
 -#include <linux/cpu.h>
  #include <linux/platform_device.h>
  #include <linux/of_platform.h> /* temporary until merge */
  
  #include <linux/of.h>
 -#include <linux/mod_devicetable.h>
  
  struct device;
 +struct of_device_id;
 +struct kobj_uevent_env;
  
  #ifdef CONFIG_OF
  extern const struct of_device_id *of_match_device(
@@@ -26,12 -26,26 +26,11 @@@ static inline int of_driver_match_devic
        return of_match_device(drv->of_match_table, dev) != NULL;
  }
  
 -extern int of_device_add(struct platform_device *pdev);
 -extern int of_device_register(struct platform_device *ofdev);
 -extern void of_device_unregister(struct platform_device *ofdev);
 -
 -extern const void *of_device_get_match_data(const struct device *dev);
 -
  extern ssize_t of_device_modalias(struct device *dev, char *str, ssize_t len);
- extern int of_device_request_module(struct device *dev);
  
  extern void of_device_uevent(const struct device *dev, struct kobj_uevent_env *env);
  extern int of_device_uevent_modalias(const struct device *dev, struct kobj_uevent_env *env);
  
 -static inline struct device_node *of_cpu_device_node_get(int cpu)
 -{
 -      struct device *cpu_dev;
 -      cpu_dev = get_cpu_device(cpu);
 -      if (!cpu_dev)
 -              return of_get_cpu_node(cpu, NULL);
 -      return of_node_get(cpu_dev->of_node);
 -}
 -
  int of_dma_configure_id(struct device *dev,
                     struct device_node *np,
                     bool force_dma, const u32 *id);
@@@ -52,17 -66,17 +51,12 @@@ static inline int of_driver_match_devic
  static inline void of_device_uevent(const struct device *dev,
                        struct kobj_uevent_env *env) { }
  
 -static inline const void *of_device_get_match_data(const struct device *dev)
 -{
 -      return NULL;
 -}
 -
  static inline int of_device_modalias(struct device *dev,
                                     char *str, ssize_t len)
  {
        return -ENODEV;
  }
  
- static inline int of_device_request_module(struct device *dev)
- {
-       return -ENODEV;
- }
  static inline int of_device_uevent_modalias(const struct device *dev,
                                   struct kobj_uevent_env *env)
  {
@@@ -75,6 -89,11 +69,6 @@@ static inline const struct of_device_i
        return NULL;
  }
  
 -static inline struct device_node *of_cpu_device_node_get(int cpu)
 -{
 -      return NULL;
 -}
 -
  static inline int of_dma_configure_id(struct device *dev,
                                      struct device_node *np,
                                      bool force_dma,
This page took 0.258255 seconds and 4 git commands to generate.