]> Git Repo - J-linux.git/commitdiff
Merge tag 'mtd/for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux
authorLinus Torvalds <[email protected]>
Tue, 11 Jan 2022 19:35:28 +0000 (11:35 -0800)
committerLinus Torvalds <[email protected]>
Tue, 11 Jan 2022 19:35:28 +0000 (11:35 -0800)
Pull MTD updates from Miquel Raynal:
 "MTD core changes:

   - mtdchar: Prevent unbounded allocation in MEMWRITE ioctl

   - gen_probe: Use bitmap_zalloc() when applicable

   - Introduce an expert mode for forensics and debugging purposes

   - Clear out unregistered devices a bit more

   - Provide unique name for nvmem device

   - Remove unused header file <linux/mtd/latch-addr-flash.h>

   - Fixed breaking list in __mtd_del_partition.

  MTD device changes:

   - Warn about failure to unregister mtd device in sst25l, mchp48l640,
     mchp23k256, and dataflash drivers.

  Raw NAND core changes:

   - Export nand_read_page_hwecc_oob_first()

  GPMC memory controller for OMAP2 NAND controller changes:

   - Add support for AM64 SoC and allow build on K3 platforms

   - Use a compatible match table when checking for NAND controller

   - Use platform_get_irq() to get the interrupt

  Raw NAND controller changes:

   - OMAP2 NAND controller:
      - Document the missing 'rb-gpios' DT property
      - Drop unused variable
      - Fix force_8bit flag behaviour for DMA mode
      - Move to exec_op interface
      - Use platform_get_irq() to get the interrupt

   - Renesas:
      - Add new NAND controller driver with its bindings and MAINTAINERS entry

   - Onenand:
      - Remove redundant variable ooblen

   - MPC5121:
      - Remove unused variable in ads5121_select_chip()

   - GPMI:
      - Add ERR007117 protection for nfc_apply_timings
      - Remove explicit default gpmi clock setting for i.MX6
      - Use platform_get_irq_byname() to get the interrupt
      - Remove unneeded variable

   - Ingenic:
      - JZ4740 needs 'oob_first' read page function

   - Davinci:
      - Rewrite function description
      - Avoid duplicated page read
      - Don't calculate ECC when reading page

  SPI NOR core changes:

   - Add Pratyush as SPI NOR co-maintainer.

   - Flash parameters initialization was done in a spaghetti way. Clean
     flash parameters initialization.

   - Rework the flash_info flags and clarify where one should be used.

   - Initialize all flash parameters based on JESD216 SFDP where
     possible. Flash parameters and settings that are SFDP discoverable
     should not be duplicated via flash_info flags at flash declaration.

   - Remove debugfs entries that duplicate sysfs entries.

  SPI NOR manufacturer driver changes:

   - Use late_init() hook in various drivers to make it clear that those
     flash parameters are either not declared in the JESD216 SFDP
     standard, or the SFDP tables which define those flash parameters
     are not defined by the flash.

   - Fix mtd size for s3an flashes.

   - Write 2 bytes when disabling Octal DTR mode: 1 byte long
     transactions are not allowed in 8D-8D-8D mode.

  Hyperbus changes:

   - Couple of fixes in Renesas hyperbus rpc-if driver to avoid crash on
     module remove and for missing check for error value in probe"

* tag 'mtd/for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (71 commits)
  mtd: spi-nor: Remove debugfs entries that duplicate sysfs entries
  mtd: spi-nor: micron-st: write 2 bytes when disabling Octal DTR mode
  mtd: spi-nor: spansion: write 2 bytes when disabling Octal DTR mode
  mtd: spi-nor: core: use 2 data bytes for template ops
  mtd: spi-nor: Constify part specific fixup hooks
  mtd: spi-nor: core: Remove reference to spi-nor.c
  mtd: rawnand: gpmi: Use platform_get_irq_byname() to get the interrupt
  mtd: rawnand: omap_elm: Use platform_get_irq() to get the interrupt
  mtd: rawnand: omap2: Select GPMC device driver for ARCH_K3
  memory: omap-gpmc: Use a compatible match table when checking for NAND controller
  memory: omap-gpmc: Add support for GPMC on AM64 SoC
  dt-bindings: memory-controllers: ti,gpmc: Add compatible for AM64
  memory: omap-gpmc: Use platform_get_irq() to get the interrupt
  MAINTAINERS: Add an entry for Renesas NAND controller
  mtd: rawnand: renesas: Add new NAND controller driver
  dt-bindings: mtd: renesas: Describe Renesas R-Car Gen3 & RZ/N1 NAND controller
  mtd: rawnand: gpmi: remove unneeded variable
  mtd: rawnand: omap2: drop unused variable
  mtd: rawnand: omap2: fix force_8bit flag behaviour for DMA mode
  mtd: rawnand: omap2: Add compatible for AM64 SoC
  ...

1  2 
MAINTAINERS
drivers/mtd/devices/mtd_dataflash.c
drivers/mtd/hyperbus/rpc-if.c
drivers/mtd/nand/raw/Kconfig
drivers/mtd/nand/raw/nand_base.c

diff --combined MAINTAINERS
index 174480e5bd019aadb37885ed6f365eb352ccadaf,db56adee2e7a3e0de447b58146b8b296ea867328..78cd21f4fd630da634154c8411ac492a4b86cf89
@@@ -966,7 -966,6 +966,7 @@@ F: drivers/gpu/drm/amd/include/kgd_kfd_
  F:    drivers/gpu/drm/amd/include/v9_structs.h
  F:    drivers/gpu/drm/amd/include/vi_structs.h
  F:    include/uapi/linux/kfd_ioctl.h
 +F:    include/uapi/linux/kfd_sysfs.h
  
  AMD SPI DRIVER
  M:    Sanjay R Mehta <[email protected]>
@@@ -994,13 -993,6 +994,13 @@@ S:       Supporte
  T:    git https://gitlab.freedesktop.org/agd5f/linux.git
  F:    drivers/gpu/drm/amd/pm/
  
 +AMD PSTATE DRIVER
 +M:    Huang Rui <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    Documentation/admin-guide/pm/amd-pstate.rst
 +F:    drivers/cpufreq/amd-pstate*
 +
  AMD PTDMA DRIVER
  M:    Sanjay R Mehta <[email protected]>
  L:    [email protected]
@@@ -1147,7 -1139,6 +1147,7 @@@ ANALOG DEVICES INC ADV748X DRIVE
  M:    Kieran Bingham <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/devicetree/bindings/media/i2c/adv748x.yaml
  F:    drivers/media/i2c/adv748x/*
  
  ANALOG DEVICES INC ADV7511 DRIVER
@@@ -1754,21 -1745,17 +1754,21 @@@ B:   https://github.com/AsahiLinux/linux/
  C:    irc://irc.oftc.net/asahi-dev
  T:    git https://github.com/AsahiLinux/linux.git
  F:    Documentation/devicetree/bindings/arm/apple.yaml
 +F:    Documentation/devicetree/bindings/arm/apple/*
  F:    Documentation/devicetree/bindings/i2c/apple,i2c.yaml
  F:    Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
  F:    Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml
  F:    Documentation/devicetree/bindings/pci/apple,pcie.yaml
  F:    Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
 +F:    Documentation/devicetree/bindings/power/apple*
 +F:    Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
  F:    arch/arm64/boot/dts/apple/
  F:    drivers/i2c/busses/i2c-pasemi-core.c
  F:    drivers/i2c/busses/i2c-pasemi-platform.c
  F:    drivers/irqchip/irq-apple-aic.c
  F:    drivers/mailbox/apple-mailbox.c
  F:    drivers/pinctrl/pinctrl-apple-gpio.c
 +F:    drivers/soc/apple/*
  F:    include/dt-bindings/interrupt-controller/apple-aic.h
  F:    include/dt-bindings/pinctrl/apple.h
  F:    include/linux/apple-mailbox.h
  S:    Maintained
  F:    drivers/counter/microchip-tcb-capture.c
  
 +ARM/MILBEAUT ARCHITECTURE
 +M:    Taichi Sugaya <[email protected]>
 +M:    Takao Orito <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm/boot/dts/milbeaut*
 +F:    arch/arm/mach-milbeaut/
 +N:    milbeaut
 +
  ARM/MIOA701 MACHINE SUPPORT
  M:    Robert Jarzmik <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -2564,7 -2542,6 +2564,7 @@@ Q:      https://patchwork.kernel.org/project
  F:    Documentation/arm/samsung/
  F:    Documentation/devicetree/bindings/arm/samsung/
  F:    Documentation/devicetree/bindings/power/pd-samsung.yaml
 +F:    Documentation/devicetree/bindings/soc/samsung/
  F:    arch/arm/boot/dts/exynos*
  F:    arch/arm/boot/dts/s3c*
  F:    arch/arm/boot/dts/s5p*
@@@ -2591,7 -2568,7 +2591,7 @@@ N:      s3c64x
  N:    s5pv210
  
  ARM/SAMSUNG S5P SERIES 2D GRAPHICS ACCELERATION (G2D) SUPPORT
 -M:    Andrzej Hajda <a.hajda@samsung.com>
 +M:    Łukasz Stelmach <l.stelmach@samsung.com>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
  S:    Maintained
@@@ -2615,8 -2592,7 +2615,8 @@@ S:      Maintaine
  F:    drivers/media/platform/s5p-jpeg/
  
  ARM/SAMSUNG S5P SERIES Multi Format Codec (MFC) SUPPORT
 -M:    Andrzej Hajda <[email protected]>
 +M:    Marek Szyprowski <[email protected]>
 +M:    Andrzej Hajda <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
  S:    Maintained
@@@ -2753,11 -2729,10 +2753,11 @@@ S:   Maintaine
  F:    drivers/memory/*emif*
  
  ARM/TEXAS INSTRUMENT KEYSTONE ARCHITECTURE
 +M:    Nishanth Menon <[email protected]>
  M:    Santosh Shilimkar <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
  F:    arch/arm/boot/dts/keystone-*
  F:    arch/arm/mach-keystone/
  
@@@ -3013,27 -2988,6 +3013,27 @@@ W:    http://acpi4asus.sf.ne
  F:    drivers/platform/x86/asus*.c
  F:    drivers/platform/x86/eeepc*.c
  
 +ASUS TF103C DOCK DRIVER
 +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/asus-tf103c-dock.c
 +
 +ASUS WMI HARDWARE MONITOR DRIVER
 +M:    Ed Brindley <[email protected]>
 +M:    Denis Pauk <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hwmon/asus_wmi_sensors.c
 +
 +ASUS WMI EC HARDWARE MONITOR DRIVER
 +M:    Eugene Shalygin <[email protected]>
 +M:    Denis Pauk <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hwmon/asus_wmi_ec_sensors.c
 +
  ASUS WIRELESS RADIO CONTROL DRIVER
  M:    João Paulo Rechi Vita <[email protected]>
  L:    [email protected]
@@@ -3102,7 -3056,7 +3102,7 @@@ F:      Documentation/devicetree/bindings/ph
  F:    drivers/phy/qualcomm/phy-ath79-usb.c
  
  ATHEROS ATH GENERIC UTILITIES
 -M:    Kalle Valo <kvalo@codeaurora.org>
 +M:    Kalle Valo <kvalo@kernel.org>
  L:    [email protected]
  S:    Supported
  F:    drivers/net/wireless/ath/*
@@@ -3117,7 -3071,7 +3117,7 @@@ W:      https://wireless.wiki.kernel.org/en/
  F:    drivers/net/wireless/ath/ath5k/
  
  ATHEROS ATH6KL WIRELESS DRIVER
 -M:    Kalle Valo <kvalo@codeaurora.org>
 +M:    Kalle Valo <kvalo@kernel.org>
  L:    [email protected]
  S:    Supported
  W:    https://wireless.wiki.kernel.org/en/users/Drivers/ath6kl
@@@ -3605,7 -3559,7 +3605,7 @@@ R:      Florent Revest <[email protected]
  R:    Brendan Jackman <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/bpf/bpf_lsm.rst
 +F:    Documentation/bpf/prog_lsm.rst
  F:    include/linux/bpf_lsm.h
  F:    kernel/bpf/bpf_lsm.c
  F:    security/bpf/
  S:    Supported
  F:    drivers/net/ethernet/broadcom/b44.*
  
 -BROADCOM B53 ETHERNET SWITCH DRIVER
 +BROADCOM B53/SF2 ETHERNET SWITCH DRIVER
  M:    Florian Fainelli <[email protected]>
  L:    [email protected]
  L:    [email protected] (subscribers-only)
  S:    Supported
  F:    Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
  F:    drivers/net/dsa/b53/*
 +F:    drivers/net/dsa/bcm_sf2*
  F:    include/linux/dsa/brcm.h
  F:    include/linux/platform_data/b53.h
  
@@@ -3672,7 -3625,6 +3672,7 @@@ F:      drivers/net/ethernet/broadcom/bcm490
  F:    drivers/net/ethernet/broadcom/unimac.h
  
  BROADCOM BCM5301X ARM ARCHITECTURE
 +M:    Florian Fainelli <[email protected]>
  M:    Hauke Mehrtens <[email protected]>
  M:    Rafał Miłecki <[email protected]>
  M:    [email protected]
@@@ -3684,7 -3636,6 +3684,7 @@@ F:      arch/arm/boot/dts/bcm953012
  F:    arch/arm/mach-bcm/bcm_5301x.c
  
  BROADCOM BCM53573 ARM ARCHITECTURE
 +M:    Florian Fainelli <[email protected]>
  M:    Rafał Miłecki <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
@@@ -3782,7 -3733,7 +3782,7 @@@ F:      drivers/scsi/bnx2i
  BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
  M:    Ariel Elior <[email protected]>
  M:    Sudarsana Kalluru <[email protected]>
 -M:    [email protected]
 +M:    Manish Chopra <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/net/ethernet/broadcom/bnx2x/
@@@ -3807,8 -3758,7 +3807,8 @@@ S:      Supporte
  F:    drivers/net/wireless/broadcom/brcm80211/
  
  BROADCOM BRCMSTB GPIO DRIVER
 -M:    Gregory Fong <[email protected]>
 +M:    Doug Berger <[email protected]>
 +M:    Florian Fainelli <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt
@@@ -5461,12 -5411,6 +5461,12 @@@ W:    https://linuxtv.or
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/platform/sti/delta
  
 +DELTA AHE-50DC FAN CONTROL MODULE DRIVER
 +M:    Zev Weiss <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hwmon/pmbus/delta-ahe50dc-fan.c
 +
  DELTA DPS920AB PSU DRIVER
  M:    Robert Marko <[email protected]>
  L:    [email protected]
@@@ -6094,7 -6038,6 +6094,7 @@@ F:      drivers/gpu/drm/tiny/mi0283qt.
  DRM DRIVER FOR MSM ADRENO GPU
  M:    Rob Clark <[email protected]>
  M:    Sean Paul <[email protected]>
 +R:    Abhinav Kumar <[email protected]>
  L:    [email protected]
  L:    [email protected]
  L:    [email protected]
@@@ -6120,17 -6063,10 +6120,17 @@@ F:   drivers/gpu/drm/panel/panel-novatek-
  
  DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS
  M:    Ben Skeggs <[email protected]>
 +M:    Karol Herbst <[email protected]>
 +M:    Lyude Paul <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
 -T:    git git://github.com/skeggsb/linux
 +W:    https://nouveau.freedesktop.org/
 +Q:    https://patchwork.freedesktop.org/project/nouveau/
 +Q:    https://gitlab.freedesktop.org/drm/nouveau/-/merge_requests
 +B:    https://gitlab.freedesktop.org/drm/nouveau/-/issues
 +C:    irc://irc.oftc.net/nouveau
 +T:    git https://gitlab.freedesktop.org/drm/nouveau.git
  F:    drivers/gpu/drm/nouveau/
  F:    include/uapi/drm/nouveau_drm.h
  
@@@ -6363,7 -6299,7 +6363,7 @@@ F:      Documentation/devicetree/bindings/di
  F:    drivers/gpu/drm/atmel-hlcdc/
  
  DRM DRIVERS FOR BRIDGE CHIPS
 -M:    Andrzej Hajda <a.hajda@samsung.com>
 +M:    Andrzej Hajda <andrzej.hajda@intel.com>
  M:    Neil Armstrong <[email protected]>
  M:    Robert Foss <[email protected]>
  R:    Laurent Pinchart <[email protected]>
@@@ -6470,7 -6406,6 +6470,7 @@@ L:      [email protected]
  L:    [email protected]
  S:    Supported
  T:    git git://linuxtv.org/pinchartl/media drm/du/next
 +F:    Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
  F:    Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.yaml
  F:    Documentation/devicetree/bindings/display/bridge/renesas,lvds.yaml
  F:    Documentation/devicetree/bindings/display/renesas,du.yaml
@@@ -6589,14 -6524,6 +6589,14 @@@ F:    drivers/gpu/drm/drm_panel.
  F:    drivers/gpu/drm/panel/
  F:    include/drm/drm_panel.h
  
 +DRM PRIVACY-SCREEN CLASS
 +M:    Hans de Goede <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    drivers/gpu/drm/drm_privacy_screen*
 +F:    include/drm/drm_privacy_screen*
 +
  DRM TTM SUBSYSTEM
  M:    Christian Koenig <[email protected]>
  M:    Huang Rui <[email protected]>
@@@ -7584,7 -7511,6 +7584,7 @@@ F:      include/video
  FREESCALE CAAM (Cryptographic Acceleration and Assurance Module) DRIVER
  M:    Horia Geantă <[email protected]>
  M:    Pankaj Gupta <[email protected]>
 +M:    Gaurav Jain <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/crypto/fsl-sec4.txt
@@@ -8549,12 -8475,6 +8549,12 @@@ F:    drivers/hid
  F:    include/linux/hid*
  F:    include/uapi/linux/hid*
  
 +HID LOGITECH DRIVERS
 +R:    Filipe Laíns <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hid/hid-logitech-*
 +
  HID PLAYSTATION DRIVER
  M:    Roderick Colenbrander <[email protected]>
  L:    [email protected]
@@@ -8676,10 -8596,8 +8676,10 @@@ F:    drivers/misc/hisi_hikey_usb.
  
  HISILICON PMU DRIVER
  M:    Shaokun Zhang <[email protected]>
 +M:    Qi Liu <[email protected]>
  S:    Supported
  W:    http://www.hisilicon.com
 +F:    Documentation/admin-guide/perf/hisi-pcie-pmu.rst
  F:    Documentation/admin-guide/perf/hisi-pmu.rst
  F:    drivers/perf/hisilicon
  
@@@ -8710,7 -8628,6 +8710,7 @@@ F:      drivers/scsi/hisi_sas
  
  HISILICON SECURITY ENGINE V2 DRIVER (SEC2)
  M:    Zaibo Xu <[email protected]>
 +M:    Kai Ye <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/ABI/testing/debugfs-hisi-sec
@@@ -9401,6 -9318,7 +9401,6 @@@ S:      Maintaine
  F:    drivers/iio/pressure/dps310.c
  
  INFINIBAND SUBSYSTEM
 -M:    Doug Ledford <[email protected]>
  M:    Jason Gunthorpe <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -9561,7 -9479,6 +9561,7 @@@ INTEL DRM DRIVERS (excluding Poulsbo, M
  M:    Jani Nikula <[email protected]>
  M:    Joonas Lahtinen <[email protected]>
  M:    Rodrigo Vivi <[email protected]>
 +M:    Tvrtko Ursulin <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    https://01.org/linuxgraphics/
@@@ -9756,6 -9673,7 +9756,6 @@@ F:      Documentation/devicetree/bindings/cr
  F:    drivers/crypto/keembay/Kconfig
  F:    drivers/crypto/keembay/Makefile
  F:    drivers/crypto/keembay/keembay-ocs-ecc.c
 -F:    drivers/crypto/keembay/ocs-ecc-curve-defs.h
  
  INTEL KEEM BAY OCS HCU CRYPTO DRIVER
  M:    Daniele Alessandrelli <[email protected]>
@@@ -10351,9 -10269,9 +10351,9 @@@ F:   lib/Kconfig.kcsa
  F:    scripts/Makefile.kcsan
  
  KDUMP
 -M:    Dave Young <[email protected]>
  M:    Baoquan He <[email protected]>
  R:    Vivek Goyal <[email protected]>
 +R:    Dave Young <[email protected]>
  L:    [email protected]
  S:    Maintained
  W:    http://lse.sourceforge.net/kdump/
@@@ -10527,7 -10445,7 +10527,7 @@@ F:   arch/riscv/include/uapi/asm/kvm
  F:    arch/riscv/kvm/
  
  KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
 -M:    Christian Borntraeger <borntraeger@de.ibm.com>
 +M:    Christian Borntraeger <borntraeger@linux.ibm.com>
  M:    Janosch Frank <[email protected]>
  R:    David Hildenbrand <[email protected]>
  R:    Claudio Imbrenda <[email protected]>
@@@ -10817,13 -10735,6 +10817,13 @@@ S: Maintaine
  W:    http://legousb.sourceforge.net/
  F:    drivers/usb/misc/legousbtower.c
  
 +LETSKETCH HID TABLET DRIVER
 +M:    Hans de Goede <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
 +F:    drivers/hid/hid-letsketch.c
 +
  LG LAPTOP EXTRAS
  M:    Matan Ziv-Av <[email protected]>
  L:    [email protected]
@@@ -11612,12 -11523,6 +11612,12 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml
  F:    drivers/media/i2c/max9286.c
  
 +MAX96712 QUAD GMSL2 DESERIALIZER DRIVER
 +M:    Niklas Söderlund <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/staging/media/max96712/max96712.c
 +
  MAX9860 MONO AUDIO VOICE CODEC DRIVER
  M:    Peter Rosin <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -11675,12 -11580,6 +11675,12 @@@ F: Documentation/devicetree/bindings/*/
  F:    drivers/regulator/max77802-regulator.c
  F:    include/dt-bindings/*/*max77802.h
  
 +MAXIM MAX77976 BATTERY CHARGER
 +M:    Luca Ceresoli <[email protected]>
 +S:    Supported
 +F:    Documentation/devicetree/bindings/power/supply/maxim,max77976.yaml
 +F:    drivers/power/supply/max77976_charger.c
 +
  MAXIM MUIC CHARGER DRIVERS FOR EXYNOS BASED BOARDS
  M:    Krzysztof Kozlowski <[email protected]>
  M:    Bartlomiej Zolnierkiewicz <[email protected]>
@@@ -12270,8 -12169,8 +12270,8 @@@ F:   drivers/net/ethernet/mellanox/mlx5/c
  F:    include/linux/mlx5/mlx5_ifc_fpga.h
  
  MELLANOX ETHERNET SWITCH DRIVERS
 -M:    Jiri Pirko <[email protected]>
  M:    Ido Schimmel <[email protected]>
 +M:    Petr Machata <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    http://www.mellanox.com
  S:    Maintained
  F:    drivers/net/ethernet/microchip/lan743x_*
  
 +MICROCHIP LAN966X ETHERNET DRIVER
 +M:    Horatiu Vultur <[email protected]>
 +M:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/ethernet/microchip/lan966x/*
 +
  MICROCHIP LCDFB DRIVER
  M:    Nicolas Ferre <[email protected]>
  L:    [email protected]
@@@ -13346,7 -13238,7 +13346,7 @@@ F:   include/uapi/linux/if_
  F:    include/uapi/linux/netdevice.h
  
  NETWORKING DRIVERS (WIRELESS)
 -M:    Kalle Valo <kvalo@codeaurora.org>
 +M:    Kalle Valo <kvalo@kernel.org>
  L:    [email protected]
  S:    Maintained
  Q:    http://patchwork.kernel.org/project/linux-wireless/list/
@@@ -13883,13 -13775,6 +13883,13 @@@ S: Maintaine
  F:    Documentation/hwmon/nzxt-kraken2.rst
  F:    drivers/hwmon/nzxt-kraken2.c
  
 +NZXT-SMART2 HARDWARE MONITORING DRIVER
 +M:    Aleksandr Mezin <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/hwmon/nzxt-smart2.rst
 +F:    drivers/hwmon/nzxt-smart2.c
 +
  OBJAGG
  M:    Jiri Pirko <[email protected]>
  L:    [email protected]
@@@ -14202,6 -14087,7 +14202,6 @@@ F:   drivers/media/i2c/ov5647.
  
  OMNIVISION OV5670 SENSOR DRIVER
  M:    Chiranjeevi Rapolu <[email protected]>
 -M:    Hyungwoo Yang <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
@@@ -14214,13 -14100,6 +14214,13 @@@ S: Maintaine
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/i2c/ov5675.c
  
 +OMNIVISION OV5693 SENSOR DRIVER
 +M:    Daniel Scally <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    drivers/media/i2c/ov5693.c
 +
  OMNIVISION OV5695 SENSOR DRIVER
  M:    Shunqian Zheng <[email protected]>
  L:    [email protected]
@@@ -14956,7 -14835,7 +14956,7 @@@ PCIE DRIVER FOR MEDIATE
  M:    Ryder Lee <[email protected]>
  M:    Jianjun Wang <[email protected]>
  L:    [email protected]
 -L:    [email protected]
 +L:    [email protected] (moderated for non-subscribers)
  S:    Supported
  F:    Documentation/devicetree/bindings/pci/mediatek*
  F:    drivers/pci/controller/*mediatek*
@@@ -15450,7 -15329,6 +15450,7 @@@ M:   Sergey Senozhatsky <senozhatsky@chro
  R:    Steven Rostedt <[email protected]>
  R:    John Ogness <[email protected]>
  S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git
  F:    include/linux/printk.h
  F:    kernel/printk/
  
@@@ -15715,7 -15593,7 +15715,7 @@@ F:   drivers/scsi/qedi
  
  QLOGIC QL4xxx ETHERNET DRIVER
  M:    Ariel Elior <[email protected]>
 -M:    [email protected]
 +M:    Manish Chopra <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/net/ethernet/qlogic/qed/
@@@ -15816,7 -15694,7 +15816,7 @@@ T:   git git://linuxtv.org/anttip/media_t
  F:    drivers/media/tuners/qt1010*
  
  QUALCOMM ATHEROS ATH10K WIRELESS DRIVER
 -M:    Kalle Valo <kvalo@codeaurora.org>
 +M:    Kalle Valo <kvalo@kernel.org>
  L:    [email protected]
  S:    Supported
  W:    https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
@@@ -15824,7 -15702,7 +15824,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    drivers/net/wireless/ath/ath10k/
  
  QUALCOMM ATHEROS ATH11K WIRELESS DRIVER
 -M:    Kalle Valo <kvalo@codeaurora.org>
 +M:    Kalle Valo <kvalo@kernel.org>
  L:    [email protected]
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
@@@ -15838,14 -15716,6 +15838,14 @@@ W: https://wireless.wiki.kernel.org/en/
  F:    Documentation/devicetree/bindings/net/wireless/qca,ath9k.yaml
  F:    drivers/net/wireless/ath/ath9k/
  
 +QUALCOMM BAM-DMUX WWAN NETWORK DRIVER
 +M:    Stephan Gerhold <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/net/qcom,bam-dmux.yaml
 +F:    drivers/net/wwan/qcom_bam_dmux.c
 +
  QUALCOMM CAMERA SUBSYSTEM DRIVER
  M:    Robert Foss <[email protected]>
  M:    Todor Tomov <[email protected]>
@@@ -15890,15 -15760,6 +15890,15 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/net/qcom,ethqos.txt
  F:    drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
  
 +QUALCOMM FASTRPC DRIVER
 +M:    Srinivas Kandagatla <[email protected]>
 +M:    Amol Maheshwari <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/misc/qcom,fastrpc.txt
 +F:    drivers/misc/fastrpc.c
 +F:    include/uapi/misc/fastrpc.h
 +
  QUALCOMM GENERIC INTERFACE I2C DRIVER
  M:    Akash Asthana <[email protected]>
  M:    Mukesh Savaliya <[email protected]>
@@@ -16005,7 -15866,7 +16005,7 @@@ F:   Documentation/devicetree/bindings/me
  F:    drivers/media/platform/qcom/venus/
  
  QUALCOMM WCN36XX WIRELESS DRIVER
 -M:    Kalle Valo <kvalo@codeaurora.org>
 +M:    Kalle Valo <kvalo@kernel.org>
  L:    [email protected]
  S:    Supported
  W:    https://wireless.wiki.kernel.org/en/users/Drivers/wcn36xx
@@@ -16107,8 -15968,6 +16107,8 @@@ F:   arch/mips/generic/board-ranchu.
  
  RANDOM NUMBER DRIVER
  M:    "Theodore Ts'o" <[email protected]>
 +M:    Jason A. Donenfeld <[email protected]>
 +T:    git https://git.kernel.org/pub/scm/linux/kernel/git/crng/random.git
  S:    Maintained
  F:    drivers/char/random.c
  
@@@ -16416,6 -16275,14 +16416,14 @@@ S: Supporte
  F:    Documentation/devicetree/bindings/iio/adc/renesas,rzg2l-adc.yaml
  F:    drivers/iio/adc/rzg2l_adc.c
  
+ RENESAS R-CAR GEN3 & RZ/N1 NAND CONTROLLER DRIVER
+ M:    Miquel Raynal <[email protected]>
+ L:    [email protected]
+ L:    [email protected]
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/mtd/renesas-nandc.yaml
+ F:    drivers/mtd/nand/raw/renesas-nand-controller.c
  RESET CONTROLLER FRAMEWORK
  M:    Philipp Zabel <[email protected]>
  S:    Maintained
@@@ -16631,12 -16498,6 +16639,12 @@@ T: git git://linuxtv.org/media_tree.gi
  F:    Documentation/devicetree/bindings/media/allwinner,sun8i-a83t-de2-rotate.yaml
  F:    drivers/media/platform/sunxi/sun8i-rotate/
  
 +RPMSG TTY DRIVER
 +M:    Arnaud Pouliquen <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/tty/rpmsg_tty.c
 +
  RTL2830 MEDIA DRIVER
  M:    Antti Palosaari <[email protected]>
  L:    [email protected]
@@@ -16720,7 -16581,7 +16728,7 @@@ F:   drivers/video/fbdev/savage
  S390
  M:    Heiko Carstens <[email protected]>
  M:    Vasily Gorbik <[email protected]>
 -M:    Christian Borntraeger <borntraeger@de.ibm.com>
 +M:    Christian Borntraeger <borntraeger@linux.ibm.com>
  R:    Alexander Gordeev <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -16758,8 -16619,8 +16766,8 @@@ W:   http://www.ibm.com/developerworks/li
  F:    drivers/iommu/s390-iommu.c
  
  S390 IUCV NETWORK LAYER
 -M:    Julian Wiedmann <jwi@linux.ibm.com>
 -M:    Karsten Graul <kgraul@linux.ibm.com>
 +M:    Alexandra Winter <wintera@linux.ibm.com>
 +M:    Wenjia Zhang <wenjia@linux.ibm.com>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -16769,8 -16630,8 +16777,8 @@@ F:   include/net/iucv
  F:    net/iucv/
  
  S390 NETWORK DRIVERS
 -M:    Julian Wiedmann <jwi@linux.ibm.com>
 -M:    Karsten Graul <kgraul@linux.ibm.com>
 +M:    Alexandra Winter <wintera@linux.ibm.com>
 +M:    Wenjia Zhang <wenjia@linux.ibm.com>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -16957,15 -16818,13 +16965,15 @@@ F:        Documentation/devicetree/bindings/ne
  F:    drivers/nfc/s3fwrn5
  
  SAMSUNG S5C73M3 CAMERA DRIVER
 -M:    Andrzej Hajda <[email protected]>
 +M:    Sylwester Nawrocki <[email protected]>
 +M:    Andrzej Hajda <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/media/i2c/s5c73m3/*
  
  SAMSUNG S5K5BAF CAMERA DRIVER
 -M:    Andrzej Hajda <[email protected]>
 +M:    Sylwester Nawrocki <[email protected]>
 +M:    Andrzej Hajda <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/media/i2c/s5k5baf.c
@@@ -17546,7 -17405,7 +17554,7 @@@ F:   drivers/video/fbdev/sm712
  SILVACO I3C DUAL-ROLE MASTER
  M:    Miquel Raynal <[email protected]>
  M:    Conor Culhane <[email protected]>
 -L:    [email protected]
 +L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml
  F:    drivers/i3c/master/svc-i3c-master.c
@@@ -17789,17 -17648,12 +17797,17 @@@ F:        drivers/firmware/arm_sdei.
  F:    include/linux/arm_sdei.h
  F:    include/uapi/linux/arm_sdei.h
  
 -SOFTWARE NODES
 +SOFTWARE NODES AND DEVICE PROPERTIES
  R:    Andy Shevchenko <[email protected]>
 +R:    Daniel Scally <[email protected]>
  R:    Heikki Krogerus <[email protected]>
 +R:    Sakari Ailus <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    drivers/base/property.c
  F:    drivers/base/swnode.c
 +F:    include/linux/fwnode.h
 +F:    include/linux/property.h
  
  SOFTWARE RAID (Multiple Disks) SUPPORT
  M:    Song Liu <[email protected]>
@@@ -18084,8 -17938,8 +18092,8 @@@ F:   drivers/pinctrl/spear
  
  SPI NOR SUBSYSTEM
  M:    Tudor Ambarus <[email protected]>
+ M:    Pratyush Yadav <[email protected]>
  R:    Michael Walle <[email protected]>
- R:    Pratyush Yadav <[email protected]>
  L:    [email protected]
  S:    Maintained
  W:    http://www.linux-mtd.infradead.org/
@@@ -18284,28 -18138,6 +18292,28 @@@ M: Ion Badulescu <[email protected]
  S:    Odd Fixes
  F:    drivers/net/ethernet/adaptec/starfire*
  
 +STARFIVE JH7100 CLOCK DRIVER
 +M:    Emil Renner Berthing <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/clock/starfive,jh7100-clkgen.yaml
 +F:    drivers/clk/starfive/clk-starfive-jh7100.c
 +F:    include/dt-bindings/clock/starfive-jh7100.h
 +
 +STARFIVE JH7100 PINCTRL DRIVER
 +M:    Emil Renner Berthing <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pinctrl/starfive,jh7100-pinctrl.yaml
 +F:    drivers/pinctrl/pinctrl-starfive.c
 +F:    include/dt-bindings/pinctrl/pinctrl-starfive.h
 +
 +STARFIVE JH7100 RESET CONTROLLER DRIVER
 +M:    Emil Renner Berthing <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/reset/starfive,jh7100-reset.yaml
 +F:    drivers/reset/reset-starfive-jh7100.c
 +F:    include/dt-bindings/reset/starfive-jh7100.h
 +
  STATIC BRANCH/CALL
  M:    Peter Zijlstra <[email protected]>
  M:    Josh Poimboeuf <[email protected]>
@@@ -18467,7 -18299,6 +18475,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/devicetree/bindings/arc/*
  F:    Documentation/devicetree/bindings/interrupt-controller/snps,arc*
  F:    arch/arc/
@@@ -18660,7 -18491,6 +18668,7 @@@ F:   include/uapi/linux/pkt_sched.
  F:    include/uapi/linux/tc_act/
  F:    include/uapi/linux/tc_ematch/
  F:    net/sched/
 +F:    tools/testing/selftests/tc-testing
  
  TC90522 MEDIA DRIVER
  M:    Akihiro Tsukada <[email protected]>
@@@ -19209,12 -19039,11 +19217,12 @@@ F:        drivers/mmc/host/tifm_sd.
  F:    include/linux/tifm.h
  
  TI KEYSTONE MULTICORE NAVIGATOR DRIVERS
 +M:    Nishanth Menon <[email protected]>
  M:    Santosh Shilimkar <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
  F:    drivers/soc/ti/*
  
  TI LM49xxx FAMILY ASoC CODEC DRIVERS
@@@ -19485,6 -19314,12 +19493,6 @@@ W:  https://github.com/srcres258/linux-d
  T:    git git://github.com/srcres258/linux-doc.git doc-zh-tw
  F:    Documentation/translations/zh_TW/
  
 -TRIVIAL PATCHES
 -M:    Jiri Kosina <[email protected]>
 -S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git
 -K:    ^Subject:.*(?i)trivial
 -
  TTY LAYER
  M:    Greg Kroah-Hartman <[email protected]>
  M:    Jiri Slaby <[email protected]>
@@@ -20340,8 -20175,6 +20348,8 @@@ F:   include/uapi/linux/virtio_gpio.
  VIRTIO GPU DRIVER
  M:    David Airlie <[email protected]>
  M:    Gerd Hoffmann <[email protected]>
 +R:    Gurchetan Singh <[email protected]>
 +R:    Chia-I Wu <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -20492,8 -20325,7 +20500,8 @@@ F:   arch/x86/include/asm/vmware.
  F:    arch/x86/kernel/cpu/vmware.c
  
  VMWARE PVRDMA DRIVER
 -M:    Adit Ranadive <[email protected]>
 +M:    Bryan Tan <[email protected]>
 +M:    Vishnu Dasa <[email protected]>
  M:    VMware PV-Drivers <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -20575,7 -20407,7 +20583,7 @@@ M:   Sergey Senozhatsky <senozhatsky@chro
  R:    Andy Shevchenko <[email protected]>
  R:    Rasmus Villemoes <[email protected]>
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git
  F:    Documentation/core-api/printk-formats.rst
  F:    lib/test_printf.c
  F:    lib/test_scanf.c
@@@ -20843,13 -20675,6 +20851,13 @@@ S: Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/mm
  F:    arch/x86/mm/
  
 +X86 PLATFORM ANDROID TABLETS DSDT FIXUP DRIVER
 +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
 +
  X86 PLATFORM DRIVERS
  M:    Hans de Goede <[email protected]>
  M:    Mark Gross <[email protected]>
@@@ -21213,7 -21038,7 +21221,7 @@@ S:   Maintaine
  F:    arch/x86/kernel/cpu/zhaoxin.c
  
  ZONEFS FILESYSTEM
 -M:    Damien Le Moal <[email protected]>
 +M:    Damien Le Moal <damien.lemoal@opensource.wdc.com>
  M:    Naohiro Aota <[email protected]>
  R:    Johannes Thumshirn <[email protected]>
  L:    [email protected]
index 2b317ed6c103f16f823d2fdbbfc90dc5f5fd1834,293cab758299ffbec27106818d6da9086f0b9ac8..734878abaa236cd98c5cb7502fb6f4a7da650ed4
@@@ -96,13 -96,6 +96,13 @@@ struct dataflash 
        struct mtd_info         mtd;
  };
  
 +static const struct spi_device_id dataflash_dev_ids[] = {
 +      { "at45" },
 +      { "dataflash" },
 +      { },
 +};
 +MODULE_DEVICE_TABLE(spi, dataflash_dev_ids);
 +
  #ifdef CONFIG_OF
  static const struct of_device_id dataflash_dt_ids[] = {
        { .compatible = "atmel,at45", },
@@@ -919,14 -912,14 +919,14 @@@ static int dataflash_probe(struct spi_d
  static int dataflash_remove(struct spi_device *spi)
  {
        struct dataflash        *flash = spi_get_drvdata(spi);
-       int                     status;
  
        dev_dbg(&spi->dev, "remove\n");
  
-       status = mtd_device_unregister(&flash->mtd);
-       if (status == 0)
-               kfree(flash);
-       return status;
+       WARN_ON(mtd_device_unregister(&flash->mtd));
+       kfree(flash);
+       return 0;
  }
  
  static struct spi_driver dataflash_driver = {
                .name           = "mtd_dataflash",
                .of_match_table = of_match_ptr(dataflash_dt_ids),
        },
 +      .id_table = dataflash_dev_ids,
  
        .probe          = dataflash_probe,
        .remove         = dataflash_remove,
index 8daa296f6eb63b10e1a4ead63b0d78baaca4fc99,dc164c18f8429fe5d632b264084af0bc9b7e574c..6e08ec1d4f098c806627fd75ace18ede5ad6e31d
@@@ -124,15 -124,15 +124,17 @@@ static int rpcif_hb_probe(struct platfo
        if (!hyperbus)
                return -ENOMEM;
  
-       rpcif_sw_init(&hyperbus->rpc, pdev->dev.parent);
+       error = rpcif_sw_init(&hyperbus->rpc, pdev->dev.parent);
+       if (error)
+               return error;
  
        platform_set_drvdata(pdev, hyperbus);
  
        rpcif_enable_rpm(&hyperbus->rpc);
  
 -      rpcif_hw_init(&hyperbus->rpc, true);
 +      error = rpcif_hw_init(&hyperbus->rpc, true);
 +      if (error)
 +              return error;
  
        hyperbus->hbdev.map.size = hyperbus->rpc.size;
        hyperbus->hbdev.map.virt = hyperbus->rpc.dirmap;
@@@ -152,9 -152,9 +154,9 @@@ static int rpcif_hb_remove(struct platf
  {
        struct rpcif_hyperbus *hyperbus = platform_get_drvdata(pdev);
        int error = hyperbus_unregister_device(&hyperbus->hbdev);
-       struct rpcif *rpc = dev_get_drvdata(pdev->dev.parent);
  
-       rpcif_disable_rpm(rpc);
+       rpcif_disable_rpm(&hyperbus->rpc);
        return error;
  }
  
index 0a45d3c6c15ba1fca6b042fa0249c0d21375c166,0cd5ebf0d5d7d5959468217b4152f8105719ba26..32b8738baa24547c64b86fc0b66758e7328e2f44
@@@ -26,7 -26,7 +26,7 @@@ config MTD_NAND_DENALI_PC
  config MTD_NAND_DENALI_DT
        tristate "Denali NAND controller as a DT device"
        select MTD_NAND_DENALI
 -      depends on HAS_DMA && HAVE_CLK && OF
 +      depends on HAS_DMA && HAVE_CLK && OF && HAS_IOMEM
        help
          Enable the driver for NAND flash on platforms using a Denali NAND
          controller as a DT device.
@@@ -40,8 -40,9 +40,9 @@@ config MTD_NAND_AMS_DELT
  
  config MTD_NAND_OMAP2
        tristate "OMAP2, OMAP3, OMAP4 and Keystone NAND controller"
-       depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
+       depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
        depends on HAS_IOMEM
+       select OMAP_GPMC if ARCH_K3
        help
          Support for NAND flash on Texas Instruments OMAP2, OMAP3, OMAP4
          and Keystone platforms.
@@@ -461,6 -462,13 +462,13 @@@ config MTD_NAND_PL35
          Enables support for PrimeCell SMC PL351 and PL353 NAND
          controller found on Zynq7000.
  
+ config MTD_NAND_RENESAS
+       tristate "Renesas R-Car Gen3 & RZ/N1 NAND controller"
+       depends on ARCH_RENESAS || COMPILE_TEST
+       help
+         Enables support for the NAND controller found on Renesas R-Car
+         Gen3 and RZ/N1 SoC families.
  comment "Misc"
  
  config MTD_SM_COMMON
index a130320de4128e79d3aa15bcaf23b5a318993a16,9f48b4e71a111119a95f4c921a6be4c0856ee1cf..e7b2ba016d8c6a6a556b8bad28e860da1bf597a1
@@@ -321,6 -321,9 +321,9 @@@ static int nand_isbad_bbm(struct nand_c
        if (nand_region_is_secured(chip, ofs, mtd->erasesize))
                return -EIO;
  
+       if (WARN_ONCE(mtd_expert_analysis_mode, mtd_expert_analysis_warning))
+               return 0;
        if (chip->legacy.block_bad)
                return chip->legacy.block_bad(chip, ofs);
  
@@@ -926,7 -929,7 +929,7 @@@ int nand_choose_best_sdr_timings(struc
                                 struct nand_sdr_timings *spec_timings)
  {
        const struct nand_controller_ops *ops = chip->controller->ops;
 -      int best_mode = 0, mode, ret;
 +      int best_mode = 0, mode, ret = -EOPNOTSUPP;
  
        iface->type = NAND_SDR_IFACE;
  
@@@ -977,7 -980,7 +980,7 @@@ int nand_choose_best_nvddr_timings(stru
                                   struct nand_nvddr_timings *spec_timings)
  {
        const struct nand_controller_ops *ops = chip->controller->ops;
 -      int best_mode = 0, mode, ret;
 +      int best_mode = 0, mode, ret = -EOPNOTSUPP;
  
        iface->type = NAND_NVDDR_IFACE;
  
@@@ -1837,7 -1840,7 +1840,7 @@@ int nand_erase_op(struct nand_chip *chi
                        NAND_OP_CMD(NAND_CMD_ERASE1, 0),
                        NAND_OP_ADDR(2, addrs, 0),
                        NAND_OP_CMD(NAND_CMD_ERASE2,
 -                                  NAND_COMMON_TIMING_MS(conf, tWB_max)),
 +                                  NAND_COMMON_TIMING_NS(conf, tWB_max)),
                        NAND_OP_WAIT_RDY(NAND_COMMON_TIMING_MS(conf, tBERS_max),
                                         0),
                };
@@@ -3160,6 -3163,73 +3163,73 @@@ static int nand_read_page_hwecc(struct 
        return max_bitflips;
  }
  
+ /**
+  * nand_read_page_hwecc_oob_first - Hardware ECC page read with ECC
+  *                                  data read from OOB area
+  * @chip: nand chip info structure
+  * @buf: buffer to store read data
+  * @oob_required: caller requires OOB data read to chip->oob_poi
+  * @page: page number to read
+  *
+  * Hardware ECC for large page chips, which requires the ECC data to be
+  * extracted from the OOB before the actual data is read.
+  */
+ int nand_read_page_hwecc_oob_first(struct nand_chip *chip, uint8_t *buf,
+                                  int oob_required, int page)
+ {
+       struct mtd_info *mtd = nand_to_mtd(chip);
+       int i, eccsize = chip->ecc.size, ret;
+       int eccbytes = chip->ecc.bytes;
+       int eccsteps = chip->ecc.steps;
+       uint8_t *p = buf;
+       uint8_t *ecc_code = chip->ecc.code_buf;
+       unsigned int max_bitflips = 0;
+       /* Read the OOB area first */
+       ret = nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+       if (ret)
+               return ret;
+       /* Move read cursor to start of page */
+       ret = nand_change_read_column_op(chip, 0, NULL, 0, false);
+       if (ret)
+               return ret;
+       ret = mtd_ooblayout_get_eccbytes(mtd, ecc_code, chip->oob_poi, 0,
+                                        chip->ecc.total);
+       if (ret)
+               return ret;
+       for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) {
+               int stat;
+               chip->ecc.hwctl(chip, NAND_ECC_READ);
+               ret = nand_read_data_op(chip, p, eccsize, false, false);
+               if (ret)
+                       return ret;
+               stat = chip->ecc.correct(chip, p, &ecc_code[i], NULL);
+               if (stat == -EBADMSG &&
+                   (chip->ecc.options & NAND_ECC_GENERIC_ERASED_CHECK)) {
+                       /* check for empty pages with bitflips */
+                       stat = nand_check_erased_ecc_chunk(p, eccsize,
+                                                          &ecc_code[i],
+                                                          eccbytes, NULL, 0,
+                                                          chip->ecc.strength);
+               }
+               if (stat < 0) {
+                       mtd->ecc_stats.failed++;
+               } else {
+                       mtd->ecc_stats.corrected += stat;
+                       max_bitflips = max_t(unsigned int, max_bitflips, stat);
+               }
+       }
+       return max_bitflips;
+ }
+ EXPORT_SYMBOL_GPL(nand_read_page_hwecc_oob_first);
  /**
   * nand_read_page_syndrome - [REPLACEABLE] hardware ECC syndrome based page read
   * @chip: nand chip info structure
This page took 0.158597 seconds and 4 git commands to generate.