Merge tag 'audit-pr-20180403' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoor...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Apr 2018 22:01:25 +0000 (15:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Apr 2018 22:01:25 +0000 (15:01 -0700)
Pull audit updates from Paul Moore:
 "We didn't have anything to send for v4.16, but we're back with a
  little more than usual for v4.17.

  Eleven patches in total, most fall into the small fix category, but
  there are three non-trivial changes worth calling out:

   - the audit entry filter is being removed after deprecating it for
     quite a while (years of no one really using it because it turns out
     to be not very practical)

   - created our own version of "__mutex_owner()" because the locking
     folks were upset we were using theirs

   - improved our handling of kernel command line parameters to make
     them more forgiving

   - we fixed auditing of symlink operations

  Everything passes the audit-testsuite and as of a few minutes ago it
  merges well with your tree"

* tag 'audit-pr-20180403' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
  audit: add refused symlink to audit_names
  audit: remove path param from link denied function
  audit: link denied should not directly generate PATH record
  audit: make ANOM_LINK obey audit_enabled and audit_dummy_context
  audit: do not panic on invalid boot parameter
  audit: track the owner of the command mutex ourselves
  audit: return on memory error to avoid null pointer dereference
  audit: bail before bug check if audit disabled
  audit: deprecate the AUDIT_FILTER_ENTRY filter
  audit: session ID should not set arch quick field pointer
  audit: update bugtracker and source URIs

1  2 
Documentation/admin-guide/kernel-parameters.txt
MAINTAINERS
fs/namei.c
kernel/audit.c

                        This facility can be used to prevent such uncontrolled
                        GPE floodings.
                        Format: <int>
 -                      Support masking of GPEs numbered from 0x00 to 0x7f.
  
        acpi_no_auto_serialize  [HW,ACPI]
                        Disable auto-serialization of AML methods
  
        acpi_sleep=     [HW,ACPI] Sleep options
                        Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig,
 -                                old_ordering, nonvs, sci_force_enable }
 +                                old_ordering, nonvs, sci_force_enable, nobl }
                        See Documentation/power/video.txt for information on
                        s3_bios and s3_mode.
                        s3_beep is for debugging; it makes the PC's speaker beep
                        sci_force_enable causes the kernel to set SCI_EN directly
                        on resume from S1/S3 (which is against the ACPI spec,
                        but some broken systems don't work without it).
 +                      nobl causes the internal blacklist of systems known to
 +                      behave incorrectly in some ways with respect to system
 +                      suspend and resume to be ignored (use wisely).
  
        acpi_use_timer_override [HW,ACPI]
                        Use timer override. For some broken Nvidia NF5 boards
                        Use software keyboard repeat
  
        audit=          [KNL] Enable the audit sub-system
-                       Format: { "0" | "1" } (0 = disabled, 1 = enabled)
-                       0 - kernel audit is disabled and can not be enabled
-                           until the next reboot
+                       Format: { "0" | "1" | "off" | "on" }
+                       0 | off - kernel audit is disabled and can not be
+                           enabled until the next reboot
                        unset - kernel audit is initialized but disabled and
                            will be fully enabled by the userspace auditd.
-                       1 - kernel audit is initialized and partially enabled,
-                           storing at most audit_backlog_limit messages in
-                           RAM until it is fully enabled by the userspace
-                           auditd.
+                       1 | on - kernel audit is initialized and partially
+                           enabled, storing at most audit_backlog_limit
+                           messages in RAM until it is fully enabled by the
+                           userspace auditd.
                        Default: unset
  
        audit_backlog_limit= [KNL] Set the audit queue size limit.
                        console=brl,ttyS0
                For now, only VisioBraille is supported.
  
 +      console_msg_format=
 +                      [KNL] Change console messages format
 +              default
 +                      By default we print messages on consoles in
 +                      "[time stamp] text\n" format (time stamp may not be
 +                      printed, depending on CONFIG_PRINTK_TIME or
 +                      `printk_time' param).
 +              syslog
 +                      Switch to syslog format: "<%u>[time stamp] text\n"
 +                      IOW, each message will have a facility and loglevel
 +                      prefix. The format is similar to one used by syslog()
 +                      syscall, or to executing "dmesg -S --raw" or to reading
 +                      from /proc/kmsg.
 +
        consoleblank=   [KNL] The console blank (screen saver) timeout in
                        seconds. A value of 0 disables the blank timer.
                         Defaults to 0.
  
        earlycon=       [KNL] Output early console device and options.
  
 -                      When used with no options, the early console is
 -                      determined by the stdout-path property in device
 -                      tree's chosen node.
 +                      [ARM64] The early console is determined by the
 +                      stdout-path property in device tree's chosen node,
 +                      or determined by the ACPI SPCR table.
 +
 +                      [X86] When used with no options the early console is
 +                      determined by the ACPI SPCR table.
  
                cdns,<addr>[,options]
                        Start an early, polled-mode console on a Cadence
                        address. The serial port must already be setup
                        and configured. Options are not yet supported.
  
 -      earlyprintk=    [X86,SH,BLACKFIN,ARM,M68k,S390]
 +      earlyprintk=    [X86,SH,ARM,M68k,S390]
                        earlyprintk=vga
                        earlyprintk=efi
                        earlyprintk=sclp
                               If specified, z/VM IUCV HVC accepts connections
                               from listed z/VM user IDs only.
  
 -      hwthread_map=   [METAG] Comma-separated list of Linux cpu id to
 -                              hardware thread id mappings.
 -                              Format: <cpu>:<hwthread>
 -
        keep_bootcon    [KNL]
                        Do not unregister boot console at start. This is only
                        useful for debugging when something happens in the window
                        of a GICv2 controller even if the memory range
                        exposed by the device tree is too small.
  
 +      irqchip.gicv3_nolpi=
 +                      [ARM, ARM64]
 +                      Force the kernel to ignore the availability of
 +                      LPIs (and by consequence ITSs). Intended for system
 +                      that use the kernel as a bootloader, and thus want
 +                      to let secondary kernels in charge of setting up
 +                      LPIs.
 +
        irqfixup        [HW]
                        When an interrupt is not handled search all handlers
                        for it. Intended to get systems with badly broken
  
                        nohz
                          Disable the tick when a single task runs.
 +
 +                        A residual 1Hz tick is offloaded to workqueues, which you
 +                        need to affine to housekeeping through the global
 +                        workqueue's affinity configured via the
 +                        /sys/devices/virtual/workqueue/cpumask sysfs file, or
 +                        by using the 'domain' flag described below.
 +
 +                        NOTE: by default the global workqueue runs on all CPUs,
 +                        so to protect individual CPUs the 'cpumask' file has to
 +                        be configured manually after bootup.
 +
                        domain
                          Isolate from the general SMP balancing and scheduling
                          algorithms. Note that performing domain isolation this way
        keepinitrd      [HW,ARM]
  
        kernelcore=     [KNL,X86,IA-64,PPC]
 -                      Format: nn[KMGTPE] | "mirror"
 -                      This parameter
 -                      specifies the amount of memory usable by the kernel
 -                      for non-movable allocations.  The requested amount is
 -                      spread evenly throughout all nodes in the system. The
 -                      remaining memory in each node is used for Movable
 -                      pages. In the event, a node is too small to have both
 -                      kernelcore and Movable pages, kernelcore pages will
 -                      take priority and other nodes will have a larger number
 -                      of Movable pages.  The Movable zone is used for the
 -                      allocation of pages that may be reclaimed or moved
 -                      by the page migration subsystem.  This means that
 -                      HugeTLB pages may not be allocated from this zone.
 -                      Note that allocations like PTEs-from-HighMem still
 -                      use the HighMem zone if it exists, and the Normal
 +                      Format: nn[KMGTPE] | nn% | "mirror"
 +                      This parameter specifies the amount of memory usable by
 +                      the kernel for non-movable allocations.  The requested
 +                      amount is spread evenly throughout all nodes in the
 +                      system as ZONE_NORMAL.  The remaining memory is used for
 +                      movable memory in its own zone, ZONE_MOVABLE.  In the
 +                      event, a node is too small to have both ZONE_NORMAL and
 +                      ZONE_MOVABLE, kernelcore memory will take priority and
 +                      other nodes will have a larger ZONE_MOVABLE.
 +
 +                      ZONE_MOVABLE is used for the allocation of pages that
 +                      may be reclaimed or moved by the page migration
 +                      subsystem.  Note that allocations like PTEs-from-HighMem
 +                      still use the HighMem zone if it exists, and the Normal
                        zone if it does not.
  
 -                      Instead of specifying the amount of memory (nn[KMGTPE]),
 -                      you can specify "mirror" option. In case "mirror"
 +                      It is possible to specify the exact amount of memory in
 +                      the form of "nn[KMGTPE]", a percentage of total system
 +                      memory in the form of "nn%", or "mirror".  If "mirror"
                        option is specified, mirrored (reliable) memory is used
                        for non-movable allocations and remaining memory is used
 -                      for Movable pages. nn[KMGTPE] and "mirror" are exclusive,
 -                      so you can NOT specify nn[KMGTPE] and "mirror" at the same
 -                      time.
 +                      for Movable pages.  "nn[KMGTPE]", "nn%", and "mirror"
 +                      are exclusive, so you cannot specify multiple forms.
  
        kgdbdbgp=       [KGDB,HW] kgdb over EHCI usb debug port.
                        Format: <Controller#>[,poll interval]
                        This tests the locking primitive's ability to
                        transition abruptly to and from idle.
  
 -      locktorture.torture_runnable= [BOOT]
 -                      Start locktorture running at boot time.
 -
        locktorture.torture_type= [KNL]
                        Specify the locking implementation to test.
  
                        The memory region may be marked as e820 type 12 (0xc)
                        and is NVDIMM or ADR memory.
  
 +      memmap=<size>%<offset>-<oldtype>+<newtype>
 +                      [KNL,ACPI] Convert memory within the specified region
 +                      from <oldtype> to <newtype>. If "-<oldtype>" is left
 +                      out, the whole region will be marked as <newtype>,
 +                      even if previously unavailable. If "+<newtype>" is left
 +                      out, matching memory will be removed. Types are
 +                      specified as e820 types, e.g., 1 = RAM, 2 = reserved,
 +                      3 = ACPI, 12 = PRAM.
 +
        memory_corruption_check=0/1 [X86]
                        Some BIOSes seem to corrupt the first 64k of
                        memory when doing things like suspend/resume.
        mousedev.yres=  [MOUSE] Vertical screen resolution, used for devices
                        reporting absolute coordinates, such as tablets
  
 -      movablecore=nn[KMG]     [KNL,X86,IA-64,PPC] This parameter
 -                      is similar to kernelcore except it specifies the
 -                      amount of memory used for migratable allocations.
 -                      If both kernelcore and movablecore is specified,
 -                      then kernelcore will be at *least* the specified
 -                      value but may be more. If movablecore on its own
 -                      is specified, the administrator must be careful
 +      movablecore=    [KNL,X86,IA-64,PPC]
 +                      Format: nn[KMGTPE] | nn%
 +                      This parameter is the complement to kernelcore=, it
 +                      specifies the amount of memory used for migratable
 +                      allocations.  If both kernelcore and movablecore is
 +                      specified, then kernelcore will be at *least* the
 +                      specified value but may be more.  If movablecore on its
 +                      own is specified, the administrator must be careful
                        that the amount of memory usable for all allocations
                        is not too small.
  
                        This is useful when you use a panic=... timeout and
                        need the box quickly up again.
  
 +                      These settings can be accessed at runtime via
 +                      the nmi_watchdog and hardlockup_panic sysctls.
 +
        netpoll.carrier_timeout=
                        [NET] Specifies amount of time (in seconds) that
                        netpoll should wait for a carrier. By default netpoll
        norandmaps      Don't use address space randomization.  Equivalent to
                        echo 0 > /proc/sys/kernel/randomize_va_space
  
 -      noreplace-paravirt      [X86,IA-64,PV_OPS] Don't patch paravirt_ops
 -
        noreplace-smp   [X86-32,SMP] Don't replace SMP instructions
                        with UP alternatives
  
                        the same as for rcuperf.nreaders.
                        N, where N is the number of CPUs
  
 -      rcuperf.perf_runnable= [BOOT]
 -                      Start rcuperf running at boot time.
 -
        rcuperf.perf_type= [KNL]
                        Specify the RCU implementation to test.
  
                        Test RCU's dyntick-idle handling.  See also the
                        rcutorture.shuffle_interval parameter.
  
 -      rcutorture.torture_runnable= [BOOT]
 -                      Start rcutorture running at boot time.
 -
        rcutorture.torture_type= [KNL]
                        Specify the RCU implementation to test.
  
  
        rdt=            [HW,X86,RDT]
                        Turn on/off individual RDT features. List is:
 -                      cmt, mbmtotal, mbmlocal, l3cat, l3cdp, l2cat, mba.
 +                      cmt, mbmtotal, mbmlocal, l3cat, l3cdp, l2cat, l2cdp,
 +                      mba.
                        E.g. to turn on cmt and turn off mba use:
                                rdt=cmt,!mba
  
                        [KNL, SMP] Set scheduler's default relax_domain_level.
                        See Documentation/cgroup-v1/cpusets.txt.
  
 -      reserve=        [KNL,BUGS] Force the kernel to ignore some iomem area
 +      reserve=        [KNL,BUGS] Force kernel to ignore I/O ports or memory
 +                      Format: <base1>,<size1>[,<base2>,<size2>,...]
 +                      Reserve I/O ports or memory so the kernel won't use
 +                      them.  If <base> is less than 0x10000, the region
 +                      is assumed to be I/O ports; otherwise it is memory.
  
        reservetop=     [X86-32]
                        Format: nn[KMG]
  
        usbcore.nousb   [USB] Disable the USB subsystem
  
 +      usbcore.quirks=
 +                      [USB] A list of quirk entries to augment the built-in
 +                      usb core quirk list. List entries are separated by
 +                      commas. Each entry has the form
 +                      VendorID:ProductID:Flags. The IDs are 4-digit hex
 +                      numbers and Flags is a set of letters. Each letter
 +                      will change the built-in quirk; setting it if it is
 +                      clear and clearing it if it is set. The letters have
 +                      the following meanings:
 +                              a = USB_QUIRK_STRING_FETCH_255 (string
 +                                      descriptors must not be fetched using
 +                                      a 255-byte read);
 +                              b = USB_QUIRK_RESET_RESUME (device can't resume
 +                                      correctly so reset it instead);
 +                              c = USB_QUIRK_NO_SET_INTF (device can't handle
 +                                      Set-Interface requests);
 +                              d = USB_QUIRK_CONFIG_INTF_STRINGS (device can't
 +                                      handle its Configuration or Interface
 +                                      strings);
 +                              e = USB_QUIRK_RESET (device can't be reset
 +                                      (e.g morph devices), don't use reset);
 +                              f = USB_QUIRK_HONOR_BNUMINTERFACES (device has
 +                                      more interface descriptions than the
 +                                      bNumInterfaces count, and can't handle
 +                                      talking to these interfaces);
 +                              g = USB_QUIRK_DELAY_INIT (device needs a pause
 +                                      during initialization, after we read
 +                                      the device descriptor);
 +                              h = USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL (For
 +                                      high speed and super speed interrupt
 +                                      endpoints, the USB 2.0 and USB 3.0 spec
 +                                      require the interval in microframes (1
 +                                      microframe = 125 microseconds) to be
 +                                      calculated as interval = 2 ^
 +                                      (bInterval-1).
 +                                      Devices with this quirk report their
 +                                      bInterval as the result of this
 +                                      calculation instead of the exponent
 +                                      variable used in the calculation);
 +                              i = USB_QUIRK_DEVICE_QUALIFIER (device can't
 +                                      handle device_qualifier descriptor
 +                                      requests);
 +                              j = USB_QUIRK_IGNORE_REMOTE_WAKEUP (device
 +                                      generates spurious wakeup, ignore
 +                                      remote wakeup capability);
 +                              k = USB_QUIRK_NO_LPM (device can't handle Link
 +                                      Power Management);
 +                              l = USB_QUIRK_LINEAR_FRAME_INTR_BINTERVAL
 +                                      (Device reports its bInterval as linear
 +                                      frames instead of the USB 2.0
 +                                      calculation);
 +                              m = USB_QUIRK_DISCONNECT_SUSPEND (Device needs
 +                                      to be disconnected before suspend to
 +                                      prevent spurious wakeup);
 +                              n = USB_QUIRK_DELAY_CTRL_MSG (Device needs a
 +                                      pause after every control message);
 +                      Example: quirks=0781:5580:bk,0a5c:5834:gij
 +
        usbhid.mousepoll=
                        [USBHID] The interval which mice are to be polled at.
  
        usbhid.jspoll=
                        [USBHID] The interval which joysticks are to be polled at.
  
 +      usbhid.kbpoll=
 +                      [USBHID] The interval which keyboards are to be polled at.
 +
        usb-storage.delay_use=
                        [UMS] The delay in seconds before a new device is
                        scanned for Logical Units (default 1).
diff --combined MAINTAINERS
@@@ -270,7 -270,6 +270,7 @@@ ACCES 104-QUAD-8 IIO DRIVE
  M:    William Breathitt Gray <vilhelm.gray@gmail.com>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-bus-iio-counter-104-quad-8
  F:    drivers/iio/counter/104-quad-8.c
  
  ACCES PCI-IDIO-16 GPIO DRIVER
@@@ -279,12 -278,6 +279,12 @@@ L:       linux-gpio@vger.kernel.or
  S:    Maintained
  F:    drivers/gpio/gpio-pci-idio-16.c
  
 +ACCES PCIe-IDIO-24 GPIO DRIVER
 +M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +L:    linux-gpio@vger.kernel.org
 +S:    Maintained
 +F:    drivers/gpio/gpio-pcie-idio-24.c
 +
  ACENIC DRIVER
  M:    Jes Sorensen <jes@trained-monkey.org>
  L:    linux-acenic@sunsite.dk
@@@ -336,7 -329,7 +336,7 @@@ F: drivers/acpi/apei
  
  ACPI COMPONENT ARCHITECTURE (ACPICA)
  M:    Robert Moore <robert.moore@intel.com>
 -M:    Lv Zheng <lv.zheng@intel.com>
 +M:    Erik Schmauss <erik.schmauss@intel.com>
  M:    "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
  L:    linux-acpi@vger.kernel.org
  L:    devel@acpica.org
@@@ -766,8 -759,6 +766,8 @@@ F: drivers/gpu/drm/amd/amdgpu/amdgpu_am
  F:    drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
  F:    drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
  F:    drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
 +F:    drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
 +F:    drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
  F:    drivers/gpu/drm/amd/amdkfd/
  F:    drivers/gpu/drm/amd/include/cik_structs.h
  F:    drivers/gpu/drm/amd/include/kgd_kfd_interface.h
@@@ -843,6 -834,13 +843,6 @@@ F:        sound/soc/codecs/ad7
  F:    sound/soc/codecs/ssm*
  F:    sound/soc/codecs/sigmadsp.*
  
 -ANALOG DEVICES INC ASOC DRIVERS
 -L:    adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers)
 -L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
 -W:    http://blackfin.uclinux.org/
 -S:    Supported
 -F:    sound/soc/blackfin/*
 -
  ANALOG DEVICES INC DMA DRIVERS
  M:    Lars-Peter Clausen <lars@metafoo.de>
  W:    http://ez.analog.com/community/linux-device-drivers
@@@ -855,23 -853,11 +855,23 @@@ M:      Michael Hennerich <Michael.Hennerich
  W:    http://wiki.analog.com/
  W:    http://ez.analog.com/community/linux-device-drivers
  S:    Supported
 +F:    Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9523
 +F:    Documentation/ABI/testing/sysfs-bus-iio-frequency-adf4350
  F:    drivers/iio/*/ad*
  F:    drivers/iio/adc/ltc2497*
  X:    drivers/iio/*/adjd*
  F:    drivers/staging/iio/*/ad*
 -F:    drivers/staging/iio/trigger/iio-trig-bfin-timer.c
 +
 +ANDES ARCHITECTURE
 +M:    Greentime Hu <green.hu@gmail.com>
 +M:    Vincent Chen <deanbo422@gmail.com>
 +T:    git https://github.com/andestech/linux.git
 +S:    Supported
 +F:    arch/nds32/
 +F:    Documentation/devicetree/bindings/interrupt-controller/andestech,ativic32.txt
 +F:    Documentation/devicetree/bindings/nds32/
 +K:    nds32
 +N:    nds32
  
  ANDROID CONFIG FRAGMENTS
  M:    Rob Herring <robh@kernel.org>
@@@ -889,12 -875,6 +889,12 @@@ S:       Supporte
  F:    drivers/android/
  F:    drivers/staging/android/
  
 +ANDROID GOLDFISH PIC DRIVER
 +M:    Miodrag Dinic <miodrag.dinic@mips.com>
 +S:    Supported
 +F:    Documentation/devicetree/bindings/interrupt-controller/google,goldfish-pic.txt
 +F:    drivers/irqchip/irq-goldfish-pic.c
 +
  ANDROID GOLDFISH RTC DRIVER
  M:    Miodrag Dinic <miodrag.dinic@mips.com>
  S:    Supported
@@@ -908,6 -888,7 +908,6 @@@ L: devel@driverdev.osuosl.or
  S:    Supported
  F:    drivers/staging/android/ion
  F:    drivers/staging/android/uapi/ion.h
 -F:    drivers/staging/android/uapi/ion_test.h
  
  AOA (Apple Onboard Audio) ALSA DRIVER
  M:    Johannes Berg <johannes@sipsolutions.net>
@@@ -1065,42 -1046,41 +1065,42 @@@ ARM POR
  M:    Russell King <linux@armlinux.org.uk>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.armlinux.org.uk/
 -S:    Maintained
 +S:    Odd Fixes
  T:    git git://git.armlinux.org.uk/~rmk/linux-arm.git
  F:    arch/arm/
 +X:    arch/arm/boot/dts/
  
  ARM PRIMECELL AACI PL041 DRIVER
  M:    Russell King <linux@armlinux.org.uk>
 -S:    Maintained
 +S:    Odd Fixes
  F:    sound/arm/aaci.*
  
  ARM PRIMECELL BUS SUPPORT
  M:    Russell King <linux@armlinux.org.uk>
 -S:    Maintained
 +S:    Odd Fixes
  F:    drivers/amba/
  F:    include/linux/amba/bus.h
  
  ARM PRIMECELL CLCD PL110 DRIVER
  M:    Russell King <linux@armlinux.org.uk>
 -S:    Maintained
 +S:    Odd Fixes
  F:    drivers/video/fbdev/amba-clcd.*
  
  ARM PRIMECELL KMI PL050 DRIVER
  M:    Russell King <linux@armlinux.org.uk>
 -S:    Maintained
 +S:    Odd Fixes
  F:    drivers/input/serio/ambakmi.*
  F:    include/linux/amba/kmi.h
  
  ARM PRIMECELL MMCI PL180/1 DRIVER
  M:    Russell King <linux@armlinux.org.uk>
 -S:    Maintained
 +S:    Odd Fixes
  F:    drivers/mmc/host/mmci.*
  F:    include/linux/amba/mmci.h
  
  ARM PRIMECELL UART PL010 AND PL011 DRIVERS
  M:    Russell King <linux@armlinux.org.uk>
 -S:    Maintained
 +S:    Odd Fixes
  F:    drivers/tty/serial/amba-pl01*.c
  F:    include/linux/amba/serial.h
  
@@@ -1158,7 -1138,7 +1158,7 @@@ S:      Maintaine
  F:    drivers/clk/sunxi/
  
  ARM/Allwinner sunXi SoC support
 -M:    Maxime Ripard <maxime.ripard@free-electrons.com>
 +M:    Maxime Ripard <maxime.ripard@bootlin.com>
  M:    Chen-Yu Tsai <wens@csie.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
@@@ -1238,10 -1218,31 +1238,10 @@@ F:   arch/arm/boot/dts/aspeed-
  F:    drivers/*/*aspeed*
  
  ARM/ATMEL AT91 Clock Support
 -M:    Boris Brezillon <boris.brezillon@free-electrons.com>
 +M:    Boris Brezillon <boris.brezillon@bootlin.com>
  S:    Maintained
  F:    drivers/clk/at91
  
 -ARM/ATMEL AT91RM9200, AT91SAM9 AND SAMA5 SOC SUPPORT
 -M:    Nicolas Ferre <nicolas.ferre@microchip.com>
 -M:    Alexandre Belloni <alexandre.belloni@free-electrons.com>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -W:    http://www.linux4sam.org
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91.git
 -S:    Supported
 -N:    at91
 -N:    atmel
 -F:    arch/arm/mach-at91/
 -F:    include/soc/at91/
 -F:    arch/arm/boot/dts/at91*.dts
 -F:    arch/arm/boot/dts/at91*.dtsi
 -F:    arch/arm/boot/dts/sama*.dts
 -F:    arch/arm/boot/dts/sama*.dtsi
 -F:    arch/arm/include/debug/at91.S
 -F:    drivers/memory/atmel*
 -F:    drivers/watchdog/sama5d4_wdt.c
 -X:    drivers/input/touchscreen/atmel_mxt_ts.c
 -X:    drivers/net/wireless/atmel/
 -
  ARM/CALXEDA HIGHBANK ARCHITECTURE
  M:    Rob Herring <robh@kernel.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1262,12 -1263,6 +1262,12 @@@ L:    linux-arm-kernel@lists.infradead.or
  S:    Supported
  F:    drivers/net/ethernet/cavium/thunder/
  
 +ARM/CIRRUS LOGIC BK3 MACHINE SUPPORT
 +M:    Lukasz Majewski <lukma@denx.de>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm/mach-ep93xx/ts72xx.c
 +
  ARM/CIRRUS LOGIC CLPS711X ARM ARCHITECTURE
  M:    Alexander Shiyan <shc_work@mail.ru>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1292,6 -1287,7 +1292,6 @@@ M:      Russell King <linux@armlinux.org.uk
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.armlinux.org.uk/~rmk/linux-arm.git clkdev
 -F:    arch/arm/include/asm/clkdev.h
  F:    drivers/clk/clkdev.c
  
  ARM/COMPULAB CM-X270/EM-X270 and CM-X300 MACHINE SUPPORT
@@@ -1325,8 -1321,7 +1325,8 @@@ F:      tools/perf/arch/arm/util/pmu.
  F:    tools/perf/arch/arm/util/auxtrace.c
  F:    tools/perf/arch/arm/util/cs-etm.c
  F:    tools/perf/arch/arm/util/cs-etm.h
 -F:    tools/perf/util/cs-etm.h
 +F:    tools/perf/util/cs-etm.*
 +F:    tools/perf/util/cs-etm-decoder/*
  
  ARM/CORGI MACHINE SUPPORT
  M:    Richard Purdie <rpurdie@rpsys.net>
@@@ -1340,10 -1335,8 +1340,10 @@@ T:    git git://github.com/ulli-kroll/linu
  S:    Maintained
  F:    Documentation/devicetree/bindings/arm/gemini.txt
  F:    Documentation/devicetree/bindings/pinctrl/cortina,gemini-pinctrl.txt
 +F:    Documentation/devicetree/bindings/net/cortina,gemini-ethernet.txt
  F:    Documentation/devicetree/bindings/rtc/faraday,ftrtc010.txt
  F:    arch/arm/mach-gemini/
 +F:    drivers/net/ethernet/cortina/
  F:    drivers/pinctrl/pinctrl-gemini.c
  F:    drivers/rtc/rtc-ftrtc010.c
  
@@@ -1562,11 -1555,20 +1562,11 @@@ ARM/MAGICIAN MACHINE SUPPOR
  M:    Philipp Zabel <philipp.zabel@gmail.com>
  S:    Maintained
  
 -ARM/Marvell Berlin SoC support
 -M:    Jisheng Zhang <jszhang@marvell.com>
 -M:    Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Maintained
 -F:    arch/arm/mach-berlin/
 -F:    arch/arm/boot/dts/berlin*
 -F:    arch/arm64/boot/dts/marvell/berlin*
 -
  ARM/Marvell Dove/MV78xx0/Orion SOC support
  M:    Jason Cooper <jason@lakedaemon.net>
  M:    Andrew Lunn <andrew@lunn.ch>
  M:    Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
 -M:    Gregory Clement <gregory.clement@free-electrons.com>
 +M:    Gregory Clement <gregory.clement@bootlin.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    Documentation/devicetree/bindings/soc/dove/
@@@ -1580,7 -1582,7 +1580,7 @@@ F:      arch/arm/boot/dts/orion5x
  ARM/Marvell Kirkwood and Armada 370, 375, 38x, 39x, XP, 3700, 7K/8K SOC support
  M:    Jason Cooper <jason@lakedaemon.net>
  M:    Andrew Lunn <andrew@lunn.ch>
 -M:    Gregory Clement <gregory.clement@free-electrons.com>
 +M:    Gregory Clement <gregory.clement@bootlin.com>
  M:    Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
@@@ -1589,7 -1591,6 +1589,7 @@@ F:      arch/arm/boot/dts/kirkwood
  F:    arch/arm/configs/mvebu_*_defconfig
  F:    arch/arm/mach-mvebu/
  F:    arch/arm64/boot/dts/marvell/armada*
 +F:    drivers/cpufreq/armada-37xx-cpufreq.c
  F:    drivers/cpufreq/mvebu-cpufreq.c
  F:    drivers/irqchip/irq-armada-370-xp.c
  F:    drivers/irqchip/irq-mvebu-*
@@@ -1632,27 -1633,6 +1632,27 @@@ L:    linux-arm-kernel@lists.infradead.or
  F:    arch/arm/mach-ks8695/
  S:    Odd Fixes
  
 +ARM/Microchip (AT91) SoC support
 +M:    Nicolas Ferre <nicolas.ferre@microchip.com>
 +M:    Alexandre Belloni <alexandre.belloni@bootlin.com>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +W:    http://www.linux4sam.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91.git
 +S:    Supported
 +N:    at91
 +N:    atmel
 +F:    arch/arm/mach-at91/
 +F:    include/soc/at91/
 +F:    arch/arm/boot/dts/at91*.dts
 +F:    arch/arm/boot/dts/at91*.dtsi
 +F:    arch/arm/boot/dts/sama*.dts
 +F:    arch/arm/boot/dts/sama*.dtsi
 +F:    arch/arm/include/debug/at91.S
 +F:    drivers/memory/atmel*
 +F:    drivers/watchdog/sama5d4_wdt.c
 +X:    drivers/input/touchscreen/atmel_mxt_ts.c
 +X:    drivers/net/wireless/atmel/
 +
  ARM/MIOA701 MACHINE SUPPORT
  M:    Robert Jarzmik <robert.jarzmik@free.fr>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1663,54 -1643,16 +1663,54 @@@ ARM/NEC MOBILEPRO 900/c MACHINE SUPPOR
  M:    Michael Petchkovsky <mkpetch@internode.on.net>
  S:    Maintained
  
 -ARM/NOMADIK ARCHITECTURE
 -M:    Alessandro Rubini <rubini@unipv.it>
 +ARM/NOMADIK/U300/Ux500 ARCHITECTURES
  M:    Linus Walleij <linus.walleij@linaro.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-nomadik/
 -F:    drivers/pinctrl/nomadik/
 +F:    arch/arm/mach-u300/
 +F:    arch/arm/mach-ux500/
 +F:    arch/arm/boot/dts/ste-*
 +F:    drivers/clk/clk-nomadik.c
 +F:    drivers/clk/clk-u300.c
 +F:    drivers/clocksource/clksrc-dbx500-prcmu.c
 +F:    drivers/clocksource/timer-u300.c
 +F:    drivers/dma/coh901318*
 +F:    drivers/dma/ste_dma40*
 +F:    drivers/hwspinlock/u8500_hsem.c
  F:    drivers/i2c/busses/i2c-nomadik.c
 +F:    drivers/i2c/busses/i2c-stu300.c
 +F:    drivers/mfd/ab3100*
 +F:    drivers/mfd/ab8500*
 +F:    drivers/mfd/abx500*
 +F:    drivers/mfd/dbx500*
 +F:    drivers/mfd/db8500*
 +F:    drivers/pinctrl/nomadik/
 +F:    drivers/pinctrl/pinctrl-coh901*
 +F:    drivers/pinctrl/pinctrl-u300.c
 +F:    drivers/rtc/rtc-ab3100.c
 +F:    drivers/rtc/rtc-ab8500.c
 +F:    drivers/rtc/rtc-coh901331.c
 +F:    drivers/rtc/rtc-pl031.c
 +F:    drivers/watchdog/coh901327_wdt.c
 +F:    Documentation/devicetree/bindings/arm/ste-*
 +F:    Documentation/devicetree/bindings/arm/ux500/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
  
 +ARM/NUVOTON NPCM ARCHITECTURE
 +M:    Avi Fishman <avifishman70@gmail.com>
 +M:    Tomer Maimon <tmaimon77@gmail.com>
 +R:    Patrick Venture <venture@google.com>
 +R:    Nancy Yuen <yuenn@google.com>
 +R:    Brendan Higgins <brendanhiggins@google.com>
 +L:    openbmc@lists.ozlabs.org (moderated for non-subscribers)
 +S:    Supported
 +F:    arch/arm/mach-npcm/
 +F:    arch/arm/boot/dts/nuvoton-npcm*
 +F:    include/dt-bindings/clock/nuvoton,npcm7xx-clks.h
 +F:    drivers/*/*npcm*
 +F:    Documentation/*/*npcm*
 +
  ARM/NUVOTON W90X900 ARM ARCHITECTURE
  M:    Wan ZongShun <mcuos.com@gmail.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1721,7 -1663,7 +1721,7 @@@ F:      drivers/input/keyboard/w90p910_keypa
  F:    drivers/input/touchscreen/w90p910_ts.c
  F:    drivers/watchdog/nuc900_wdt.c
  F:    drivers/net/ethernet/nuvoton/w90p910_ether.c
 -F:    drivers/mtd/nand/nuc900_nand.c
 +F:    drivers/mtd/nand/raw/nuc900_nand.c
  F:    drivers/rtc/rtc-nuc900.c
  F:    drivers/spi/spi-nuc900.c
  F:    drivers/usb/host/ehci-w90x900.c
@@@ -1746,7 -1688,9 +1746,7 @@@ L:      linux-arm-kernel@lists.infradead.or
  L:    linux-oxnas@lists.tuxfamily.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-oxnas/
 -F:    arch/arm/boot/dts/ox8*.dtsi
 -F:    arch/arm/boot/dts/wd-mbwe.dts
 -F:    arch/arm/boot/dts/cloudengines-pogoplug-series-3.dts
 +F:    arch/arm/boot/dts/ox8*.dts*
  N:    oxnas
  
  ARM/PALM TREO SUPPORT
@@@ -1754,7 -1698,8 +1754,7 @@@ M:      Tomas Cech <sleep_walker@suse.com
  L:    linux-arm-kernel@lists.infradead.org
  W:    http://hackndev.com
  S:    Maintained
 -F:    arch/arm/mach-pxa/include/mach/palmtreo.h
 -F:    arch/arm/mach-pxa/palmtreo.c
 +F:    arch/arm/mach-pxa/palmtreo.*
  
  ARM/PALMTX,PALMT5,PALMLD,PALMTE2,PALMTC SUPPORT
  M:    Marek Vasut <marek.vasut@gmail.com>
@@@ -1763,10 -1708,12 +1763,10 @@@ W:   http://hackndev.co
  S:    Maintained
  F:    arch/arm/mach-pxa/include/mach/palmtx.h
  F:    arch/arm/mach-pxa/palmtx.c
 -F:    arch/arm/mach-pxa/include/mach/palmt5.h
 -F:    arch/arm/mach-pxa/palmt5.c
 +F:    arch/arm/mach-pxa/palmt5.*
  F:    arch/arm/mach-pxa/include/mach/palmld.h
  F:    arch/arm/mach-pxa/palmld.c
 -F:    arch/arm/mach-pxa/include/mach/palmte2.h
 -F:    arch/arm/mach-pxa/palmte2.c
 +F:    arch/arm/mach-pxa/palmte2.*
  F:    arch/arm/mach-pxa/include/mach/palmtc.h
  F:    arch/arm/mach-pxa/palmtc.c
  
@@@ -1775,7 -1722,8 +1775,7 @@@ M:      Sergey Lapin <slapin@ossfans.org
  L:    linux-arm-kernel@lists.infradead.org
  W:    http://hackndev.com
  S:    Maintained
 -F:    arch/arm/mach-pxa/include/mach/palmz72.h
 -F:    arch/arm/mach-pxa/palmz72.c
 +F:    arch/arm/mach-pxa/palmz72.*
  
  ARM/PLEB SUPPORT
  M:    Peter Chubb <pleb@gelato.unsw.edu.au>
@@@ -1804,6 -1752,7 +1804,6 @@@ F:      drivers/clk/qcom
  F:    drivers/dma/qcom/
  F:    drivers/soc/qcom/
  F:    drivers/spi/spi-qup.c
 -F:    drivers/tty/serial/msm_serial.h
  F:    drivers/tty/serial/msm_serial.c
  F:    drivers/*/pm8???-*
  F:    drivers/mfd/ssbi.c
@@@ -1874,6 -1823,7 +1874,6 @@@ Q:      https://patchwork.kernel.org/project
  S:    Maintained
  F:    arch/arm/boot/dts/s3c*
  F:    arch/arm/boot/dts/s5p*
 -F:    arch/arm/boot/dts/samsung*
  F:    arch/arm/boot/dts/exynos*
  F:    arch/arm64/boot/dts/exynos/
  F:    arch/arm/plat-samsung/
@@@ -1973,14 -1923,6 +1973,14 @@@ M:    Thor Thayer <thor.thayer@linux.intel
  S:    Maintained
  F:    drivers/edac/altera_edac.
  
 +ARM/SPREADTRUM SoC SUPPORT
 +M:    Orson Zhai <orsonzhai@gmail.com>
 +M:    Baolin Wang <baolin.wang@linaro.org>
 +M:    Chunyan Zhang <zhang.lyra@gmail.com>
 +S:    Maintained
 +F:    arch/arm64/boot/dts/sprd
 +N:    sprd
 +
  ARM/STI ARCHITECTURE
  M:    Patrice Chotard <patrice.chotard@st.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -2017,26 -1959,14 +2017,26 @@@ M:   Maxime Coquelin <mcoquelin.stm32@gma
  M:    Alexandre Torgue <alexandre.torgue@st.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git stm32-next
  N:    stm32
 +F:    arch/arm/boot/dts/stm32*
 +F:    arch/arm/mach-stm32/
  F:    drivers/clocksource/armv7m_systick.c
  
 +ARM/Synaptics Berlin SoC support
 +M:    Jisheng Zhang <Jisheng.Zhang@synaptics.com>
 +M:    Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm/mach-berlin/
 +F:    arch/arm/boot/dts/berlin*
 +F:    arch/arm64/boot/dts/marvell/berlin*
 +
  ARM/TANGO ARCHITECTURE
 -M:    Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
 +M:    Marc Gonzalez <marc.w.gonzalez@free.fr>
 +M:    Mans Rullgard <mans@mansr.com>
  L:    linux-arm-kernel@lists.infradead.org
 -S:    Maintained
 +S:    Odd Fixes
  N:    tango
  
  ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
@@@ -2100,13 -2030,27 +2100,13 @@@ M:   Dmitry Eremin-Solenikov <dbaryshkov@
  M:    Dirk Opfer <dirk@opfer-online.de>
  S:    Maintained
  
 -ARM/U300 MACHINE SUPPORT
 -M:    Linus Walleij <linus.walleij@linaro.org>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Supported
 -F:    arch/arm/mach-u300/
 -F:    drivers/clocksource/timer-u300.c
 -F:    drivers/i2c/busses/i2c-stu300.c
 -F:    drivers/rtc/rtc-coh901331.c
 -F:    drivers/watchdog/coh901327_wdt.c
 -F:    drivers/dma/coh901318*
 -F:    drivers/mfd/ab3100*
 -F:    drivers/rtc/rtc-ab3100.c
 -F:    drivers/rtc/rtc-coh901331.c
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
 -
  ARM/UNIPHIER ARCHITECTURE
  M:    Masahiro Yamada <yamada.masahiro@socionext.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier.git
  S:    Maintained
  F:    Documentation/devicetree/bindings/gpio/gpio-uniphier.txt
 +F:    Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.txt
  F:    arch/arm/boot/dts/uniphier*
  F:    arch/arm/include/asm/hardware/cache-uniphier.h
  F:    arch/arm/mach-uniphier/
@@@ -2122,6 -2066,24 +2122,6 @@@ F:     drivers/reset/reset-uniphier.
  F:    drivers/tty/serial/8250/8250_uniphier.c
  N:    uniphier
  
 -ARM/Ux500 ARM ARCHITECTURE
 -M:    Linus Walleij <linus.walleij@linaro.org>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Maintained
 -F:    arch/arm/mach-ux500/
 -F:    drivers/clocksource/clksrc-dbx500-prcmu.c
 -F:    drivers/dma/ste_dma40*
 -F:    drivers/hwspinlock/u8500_hsem.c
 -F:    drivers/mfd/abx500*
 -F:    drivers/mfd/ab8500*
 -F:    drivers/mfd/dbx500*
 -F:    drivers/mfd/db8500*
 -F:    drivers/pinctrl/nomadik/pinctrl-ab*
 -F:    drivers/pinctrl/nomadik/pinctrl-nomadik*
 -F:    drivers/rtc/rtc-ab8500.c
 -F:    drivers/rtc/rtc-pl031.c
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
 -
  ARM/Ux500 CLOCK FRAMEWORK SUPPORT
  M:    Ulf Hansson <ulf.hansson@linaro.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -2248,6 -2210,14 +2248,6 @@@ L:     linux-leds@vger.kernel.or
  S:    Maintained
  F:    drivers/leds/leds-as3645a.c
  
 -AS3645A LED FLASH CONTROLLER DRIVER
 -M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
 -L:    linux-media@vger.kernel.org
 -T:    git git://linuxtv.org/media_tree.git
 -S:    Maintained
 -F:    drivers/media/i2c/as3645a.c
 -F:    include/media/i2c/as3645a.h
 -
  ASAHI KASEI AK8974 DRIVER
  M:    Linus Walleij <linus.walleij@linaro.org>
  L:    linux-iio@vger.kernel.org
@@@ -2300,9 -2270,7 +2300,9 @@@ F:      include/linux/async_tx.
  AT24 EEPROM DRIVER
  M:    Bartosz Golaszewski <brgl@bgdev.pl>
  L:    linux-i2c@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git
  S:    Maintained
 +F:    Documentation/devicetree/bindings/eeprom/at24.txt
  F:    drivers/misc/eeprom/at24.c
  F:    include/linux/platform_data/at24.h
  
@@@ -2423,6 -2391,13 +2423,6 @@@ F:     Documentation/devicetree/bindings/in
  F:    drivers/input/touchscreen/atmel_mxt_ts.c
  F:    include/linux/platform_data/atmel_mxt_ts.h
  
 -ATMEL NAND DRIVER
 -M:    Wenyou Yang <wenyou.yang@atmel.com>
 -M:    Josh Wu <rainyfeeling@outlook.com>
 -L:    linux-mtd@lists.infradead.org
 -S:    Supported
 -F:    drivers/mtd/nand/atmel/*
 -
  ATMEL SAMA5D2 ADC DRIVER
  M:    Ludovic Desroches <ludovic.desroches@microchip.com>
  L:    linux-iio@vger.kernel.org
@@@ -2504,7 -2479,6 +2504,6 @@@ M:      Paul Moore <paul@paul-moore.com
  M:    Eric Paris <eparis@redhat.com>
  L:    linux-audit@redhat.com (moderated for non-subscribers)
  W:    https://github.com/linux-audit
- W:    https://people.redhat.com/sgrubb/audit
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git
  S:    Supported
  F:    include/linux/audit.h
@@@ -2534,8 -2508,6 +2533,8 @@@ L:      linux-arm-kernel@lists.infradead.or
  S:    Maintained
  F:    Documentation/devicetree/bindings/arm/axentia.txt
  F:    arch/arm/boot/dts/at91-linea.dtsi
 +F:    arch/arm/boot/dts/at91-natte.dtsi
 +F:    arch/arm/boot/dts/at91-nattis-2-natte-2.dts
  F:    arch/arm/boot/dts/at91-tse850-3.dts
  
  AXENTIA ASOC DRIVERS
@@@ -2599,7 -2571,6 +2598,7 @@@ S:      Maintaine
  F:    Documentation/ABI/testing/sysfs-class-net-batman-adv
  F:    Documentation/ABI/testing/sysfs-class-net-mesh
  F:    Documentation/networking/batman-adv.rst
 +F:    include/uapi/linux/batadv_packet.h
  F:    include/uapi/linux/batman_adv.h
  F:    net/batman-adv/
  
@@@ -2656,6 -2627,51 +2655,6 @@@ F:     Documentation/filesystems/bfs.tx
  F:    fs/bfs/
  F:    include/uapi/linux/bfs_fs.h
  
 -BLACKFIN ARCHITECTURE
 -L:    adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers)
 -T:    git git://git.code.sf.net/p/adi-linux/code
 -W:    http://blackfin.uclinux.org
 -S:    Orphan
 -F:    arch/blackfin/
 -
 -BLACKFIN EMAC DRIVER
 -L:    adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers)
 -W:    http://blackfin.uclinux.org
 -S:    Orphan
 -F:    drivers/net/ethernet/adi/
 -
 -BLACKFIN MEDIA DRIVER
 -L:    adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers)
 -W:    http://blackfin.uclinux.org/
 -S:    Orphan
 -F:    drivers/media/platform/blackfin/
 -F:    drivers/media/i2c/adv7183*
 -F:    drivers/media/i2c/vs6624*
 -
 -BLACKFIN RTC DRIVER
 -L:    adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers)
 -W:    http://blackfin.uclinux.org
 -S:    Orphan
 -F:    drivers/rtc/rtc-bfin.c
 -
 -BLACKFIN SDH DRIVER
 -L:    adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers)
 -W:    http://blackfin.uclinux.org
 -S:    Orphan
 -F:    drivers/mmc/host/bfin_sdh.c
 -
 -BLACKFIN SERIAL DRIVER
 -L:    adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers)
 -W:    http://blackfin.uclinux.org
 -S:    Orphan
 -F:    drivers/tty/serial/bfin_uart.c
 -
 -BLACKFIN WATCHDOG DRIVER
 -L:    adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers)
 -W:    http://blackfin.uclinux.org
 -S:    Orphan
 -F:    drivers/watchdog/bfin_wdt.c
 -
  BLINKM RGB LED DRIVER
  M:    Jan-Simon Moeller <jansimon.moeller@gmx.de>
  S:    Maintained
@@@ -2667,7 -2683,6 +2666,7 @@@ L:      linux-block@vger.kernel.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
  S:    Maintained
  F:    block/
 +F:    drivers/block/
  F:    kernel/trace/blktrace.c
  F:    lib/sbitmap.c
  
@@@ -2679,6 -2694,7 +2678,6 @@@ F:      drivers/mtd/devices/block2mtd.
  
  BLUETOOTH DRIVERS
  M:    Marcel Holtmann <marcel@holtmann.org>
 -M:    Gustavo Padovan <gustavo@padovan.org>
  M:    Johan Hedberg <johan.hedberg@gmail.com>
  L:    linux-bluetooth@vger.kernel.org
  W:    http://www.bluez.org/
@@@ -2689,6 -2705,7 +2688,6 @@@ F:      drivers/bluetooth
  
  BLUETOOTH SUBSYSTEM
  M:    Marcel Holtmann <marcel@holtmann.org>
 -M:    Gustavo Padovan <gustavo@padovan.org>
  M:    Johan Hedberg <johan.hedberg@gmail.com>
  L:    linux-bluetooth@vger.kernel.org
  W:    http://www.bluez.org/
@@@ -2713,16 -2730,12 +2712,16 @@@ M:   Alexei Starovoitov <ast@kernel.org
  M:    Daniel Borkmann <daniel@iogearbox.net>
  L:    netdev@vger.kernel.org
  L:    linux-kernel@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
  S:    Supported
  F:    arch/x86/net/bpf_jit*
  F:    Documentation/networking/filter.txt
  F:    Documentation/bpf/
  F:    include/linux/bpf*
  F:    include/linux/filter.h
 +F:    include/trace/events/bpf.h
 +F:    include/trace/events/xdp.h
  F:    include/uapi/linux/bpf*
  F:    include/uapi/linux/filter.h
  F:    kernel/bpf/
@@@ -2826,8 -2839,6 +2825,8 @@@ S:      Maintaine
  F:    arch/arm/mach-bcm/*brcmstb*
  F:    arch/arm/boot/dts/bcm7*.dts*
  F:    drivers/bus/brcmstb_gisb.c
 +F:    arch/arm/mm/cache-b15-rac.c
 +F:    arch/arm/include/asm/hardware/cache-b15-rac.h
  N:    brcmstb
  
  BROADCOM BMIPS CPUFREQ DRIVER
@@@ -2999,7 -3010,7 +2998,7 @@@ M:      Kamal Dasu <kdasu.kdev@gmail.com
  L:    linux-mtd@lists.infradead.org
  L:    bcm-kernel-feedback-list@broadcom.com
  S:    Maintained
 -F:    drivers/mtd/nand/brcmnand/
 +F:    drivers/mtd/nand/raw/brcmnand/
  
  BROADCOM STB DPFE DRIVER
  M:    Markus Mayer <mmayer@broadcom.com>
@@@ -3189,7 -3200,7 +3188,7 @@@ W:      https://github.com/linux-ca
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git
  S:    Maintained
 -F:    Documentation/networking/can.txt
 +F:    Documentation/networking/can.rst
  F:    net/can/
  F:    include/linux/can/core.h
  F:    include/uapi/linux/can.h
@@@ -3267,11 -3278,12 +3266,11 @@@ F:   drivers/net/ieee802154/cc2520.
  F:    include/linux/spi/cc2520.h
  F:    Documentation/devicetree/bindings/net/ieee802154/cc2520.txt
  
 -CCREE ARM TRUSTZONE CRYPTOCELL 700 REE DRIVER
 +CCREE ARM TRUSTZONE CRYPTOCELL REE DRIVER
  M:    Gilad Ben-Yossef <gilad@benyossef.com>
  L:    linux-crypto@vger.kernel.org
 -L:    driverdev-devel@linuxdriverproject.org
  S:    Supported
 -F:    drivers/staging/ccree/
 +F:    drivers/crypto/ccree/
  W:    https://developer.arm.com/products/system-ip/trustzone-cryptocell/cryptocell-700-family
  
  CEC FRAMEWORK
@@@ -3289,7 -3301,6 +3288,7 @@@ F:      include/media/cec-notifier.
  F:    include/uapi/linux/cec.h
  F:    include/uapi/linux/cec-funcs.h
  F:    Documentation/devicetree/bindings/media/cec.txt
 +F:    Documentation/ABI/testing/debugfs-cec-error-inj
  
  CEC GPIO DRIVER
  M:    Hans Verkuil <hans.verkuil@cisco.com>
@@@ -3394,8 -3405,8 +3393,8 @@@ M:      Arnd Bergmann <arnd@arndb.de
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
  S:    Supported
 -F:    drivers/char/*
 -F:    drivers/misc/*
 +F:    drivers/char/
 +F:    drivers/misc/
  F:    include/linux/miscdevice.h
  
  CHECKPATCH
@@@ -3543,7 -3554,7 +3542,7 @@@ F:      drivers/media/platform/coda
  
  COMMON CLK FRAMEWORK
  M:    Michael Turquette <mturquette@baylibre.com>
 -M:    Stephen Boyd <sboyd@codeaurora.org>
 +M:    Stephen Boyd <sboyd@kernel.org>
  L:    linux-clk@vger.kernel.org
  Q:    http://patchwork.kernel.org/project/linux-clk/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git
@@@ -3732,6 -3743,16 +3731,6 @@@ S:     Maintaine
  F:    Documentation/filesystems/cramfs.txt
  F:    fs/cramfs/
  
 -CRIS PORT
 -M:    Mikael Starvik <starvik@axis.com>
 -M:    Jesper Nilsson <jesper.nilsson@axis.com>
 -L:    linux-cris-kernel@axis.com
 -W:    http://developer.axis.com
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris.git
 -S:    Maintained
 -F:    arch/cris/
 -F:    drivers/tty/serial/crisv10.*
 -
  CRYPTO API
  M:    Herbert Xu <herbert@gondor.apana.org.au>
  M:    "David S. Miller" <davem@davemloft.net>
@@@ -4091,10 -4112,10 +4090,10 @@@ DENALI NAND DRIVE
  M:    Masahiro Yamada <yamada.masahiro@socionext.com>
  L:    linux-mtd@lists.infradead.org
  S:    Supported
 -F:    drivers/mtd/nand/denali*
 +F:    drivers/mtd/nand/raw/denali*
  
  DESIGNWARE USB2 DRD IP DRIVER
 -M:    John Youn <johnyoun@synopsys.com>
 +M:    Minas Harutyunyan <hminas@synopsys.com>
  L:    linux-usb@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
  S:    Maintained
@@@ -4111,7 -4132,6 +4110,7 @@@ DEVANTECH SRF ULTRASONIC RANGER IIO DRI
  M:    Andreas Klinger <ak@it-klinger.de>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-bus-iio-distance-srf08
  F:    drivers/iio/proximity/srf*.c
  
  DEVICE COREDUMP (DEV_COREDUMP)
@@@ -4308,7 -4328,6 +4307,7 @@@ Q:      https://patchwork.kernel.org/project
  S:    Maintained
  F:    drivers/dma/
  F:    include/linux/dmaengine.h
 +F:    include/linux/of_dma.h
  F:    Documentation/devicetree/bindings/dma/
  F:    Documentation/driver-api/dmaengine/
  T:    git git://git.infradead.org/users/vkoul/slave-dma.git
@@@ -4322,12 -4341,10 +4321,12 @@@ T:   git git://git.infradead.org/users/hc
  W:    http://git.infradead.org/users/hch/dma-mapping.git
  S:    Supported
  F:    lib/dma-debug.c
 -F:    lib/dma-noop.c
 +F:    lib/dma-direct.c
  F:    lib/dma-virt.c
  F:    drivers/base/dma-mapping.c
  F:    drivers/base/dma-coherent.c
 +F:    include/asm-generic/dma-mapping.h
 +F:    include/linux/dma-direct.h
  F:    include/linux/dma-mapping.h
  
  DME1737 HARDWARE MONITOR DRIVER
@@@ -4386,12 -4403,6 +4385,12 @@@ L:    linux-kernel@vger.kernel.or
  S:    Maintained
  F:    drivers/staging/fsl-dpaa2/ethernet
  
 +DPAA2 ETHERNET SWITCH DRIVER
 +M:    Razvan Stefanescu <razvan.stefanescu@nxp.com>
 +L:    linux-kernel@vger.kernel.org
 +S:    Maintained
 +F:    drivers/staging/fsl-dpaa2/ethsw
 +
  DPT_I2O SCSI RAID DRIVER
  M:    Adaptec OEM Raid Solutions <aacraid@adaptec.com>
  L:    linux-scsi@vger.kernel.org
@@@ -4438,13 -4449,6 +4437,13 @@@ T:    git git://anongit.freedesktop.org/dr
  S:    Supported
  F:    drivers/gpu/drm/pl111/
  
 +DRM DRIVER FOR ARM VERSATILE TFT PANELS
 +M:    Linus Walleij <linus.walleij@linaro.org>
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +S:    Maintained
 +F:    drivers/gpu/drm/panel/panel-arm-versatile.c
 +F:    Documentation/devicetree/bindings/display/panel/arm,versatile-tft-panel.txt
 +
  DRM DRIVER FOR AST SERVER GRAPHICS CHIPS
  M:    Dave Airlie <airlied@redhat.com>
  S:    Odd Fixes
@@@ -4463,12 -4467,6 +4462,12 @@@ T:    git git://anongit.freedesktop.org/dr
  S:    Maintained
  F:    drivers/gpu/drm/tve200/
  
 +DRM DRIVER FOR ILITEK ILI9225 PANELS
 +M:    David Lechner <david@lechnology.com>
 +S:    Maintained
 +F:    drivers/gpu/drm/tinydrm/ili9225.c
 +F:    Documentation/devicetree/bindings/display/ili9225.txt
 +
  DRM DRIVER FOR INTEL I810 VIDEO CARDS
  S:    Orphan / Obsolete
  F:    drivers/gpu/drm/i810/
@@@ -4555,12 -4553,6 +4554,12 @@@ S:    Maintaine
  F:    drivers/gpu/drm/tinydrm/st7586.c
  F:    Documentation/devicetree/bindings/display/st7586.txt
  
 +DRM DRIVER FOR SITRONIX ST7735R PANELS
 +M:    David Lechner <david@lechnology.com>
 +S:    Maintained
 +F:    drivers/gpu/drm/tinydrm/st7735r.c
 +F:    Documentation/devicetree/bindings/display/st7735r.txt
 +
  DRM DRIVER FOR TDFX VIDEO CARDS
  S:    Orphan / Obsolete
  F:    drivers/gpu/drm/tdfx/
@@@ -4599,8 -4591,8 +4598,8 @@@ F:      include/uapi/drm
  F:    include/linux/vga*
  
  DRM DRIVERS AND MISC GPU PATCHES
 -M:    Daniel Vetter <daniel.vetter@intel.com>
 -M:    Jani Nikula <jani.nikula@linux.intel.com>
 +M:    Gustavo Padovan <gustavo@padovan.org>
 +M:    Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  M:    Sean Paul <seanpaul@chromium.org>
  W:    https://01.org/linuxgraphics/gfx-docs/maintainer-tools/drm-misc.html
  S:    Maintained
@@@ -4613,7 -4605,7 +4612,7 @@@ F:      include/uapi/drm/drm
  F:    include/linux/vga*
  
  DRM DRIVERS FOR ALLWINNER A10
 -M:    Maxime Ripard  <maxime.ripard@free-electrons.com>
 +M:    Maxime Ripard  <maxime.ripard@bootlin.com>
  L:    dri-devel@lists.freedesktop.org
  S:    Supported
  F:    drivers/gpu/drm/sun4i/
@@@ -4633,7 -4625,7 +4632,7 @@@ F:      Documentation/gpu/meson.rs
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  
  DRM DRIVERS FOR ATMEL HLCDC
 -M:    Boris Brezillon <boris.brezillon@free-electrons.com>
 +M:    Boris Brezillon <boris.brezillon@bootlin.com>
  L:    dri-devel@lists.freedesktop.org
  S:    Supported
  F:    drivers/gpu/drm/atmel-hlcdc/
@@@ -4726,12 -4718,10 +4725,12 @@@ F:   drivers/gpu/drm/rcar-du
  F:    drivers/gpu/drm/shmobile/
  F:    include/linux/platform_data/shmob_drm.h
  F:    Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt
 +F:    Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
  F:    Documentation/devicetree/bindings/display/renesas,du.txt
  
  DRM DRIVERS FOR ROCKCHIP
 -M:    Mark Yao <mark.yao@rock-chips.com>
 +M:    Sandy Huang <hjc@rock-chips.com>
 +M:    Heiko Stübner <heiko@sntech.de>
  L:    dri-devel@lists.freedesktop.org
  S:    Maintained
  F:    drivers/gpu/drm/rockchip/
@@@ -4819,15 -4809,6 +4818,15 @@@ S:    Maintaine
  F:    drivers/gpu/drm/tinydrm/
  F:    include/drm/tinydrm/
  
 +DRM TTM SUBSYSTEM
 +M:    Christian Koenig <christian.koenig@amd.com>
 +M:    Roger He <Hongbo.He@amd.com>
 +T:    git git://people.freedesktop.org/~agd5f/linux
 +S:    Maintained
 +L:    dri-devel@lists.freedesktop.org
 +F:    include/drm/ttm/
 +F:    drivers/gpu/drm/ttm/
 +
  DSBR100 USB FM RADIO DRIVER
  M:    Alexey Klimov <klimov.linux@gmail.com>
  L:    linux-media@vger.kernel.org
@@@ -4965,11 -4946,6 +4964,11 @@@ S:    Maintaine
  F:    lib/dynamic_debug.c
  F:    include/linux/dynamic_debug.h
  
 +DYNAMIC INTERRUPT MODERATION
 +M:    Tal Gilboa <talgi@mellanox.com>
 +S:    Maintained
 +F:    include/linux/net_dim.h
 +
  DZ DECSTATION DZ11 SERIAL DRIVER
  M:    "Maciej W. Rozycki" <macro@linux-mips.org>
  S:    Maintained
@@@ -4993,6 -4969,12 +4992,6 @@@ T:     git git://linuxtv.org/anttip/media_t
  S:    Maintained
  F:    drivers/media/tuners/e4000*
  
 -EATA ISA/EISA/PCI SCSI DRIVER
 -M:    Dario Ballabio <ballabio_dario@emc.com>
 -L:    linux-scsi@vger.kernel.org
 -S:    Maintained
 -F:    drivers/scsi/eata.c
 -
  EC100 MEDIA DRIVER
  M:    Antti Palosaari <crope@iki.fi>
  L:    linux-media@vger.kernel.org
@@@ -5164,12 -5146,6 +5163,12 @@@ L:    linux-edac@vger.kernel.or
  S:    Maintained
  F:    drivers/edac/skx_edac.c
  
 +EDAC-TI
 +M:    Tero Kristo <t-kristo@ti.com>
 +L:    linux-edac@vger.kernel.org
 +S:    Maintained
 +F:    drivers/edac/ti_edac.c
 +
  EDIROL UA-101/UA-1000 DRIVER
  M:    Clemens Ladisch <clemens@ladisch.de>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
@@@ -5534,7 -5510,7 +5533,7 @@@ M:      Luis R. Rodriguez <mcgrof@kernel.org
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
  F:    Documentation/firmware_class/
 -F:    drivers/base/firmware*.c
 +F:    drivers/base/firmware_loader/
  F:    include/linux/firmware.h
  
  FLASH ADAPTER DRIVER (IBM Flash Adapter 900GB Full Height PCI Flash Card)
@@@ -5619,7 -5595,7 +5618,7 @@@ S:      Maintaine
  F:    drivers/dma/fsldma.*
  
  FREESCALE eTSEC ETHERNET DRIVER (GIANFAR)
 -M:    Claudiu Manoil <claudiu.manoil@freescale.com>
 +M:    Claudiu Manoil <claudiu.manoil@nxp.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/ethernet/freescale/gianfar*
@@@ -5630,7 -5606,7 +5629,7 @@@ FREESCALE GPMI NAND DRIVE
  M:    Han Xu <han.xu@nxp.com>
  L:    linux-mtd@lists.infradead.org
  S:    Maintained
 -F:    drivers/mtd/nand/gpmi-nand/*
 +F:    drivers/mtd/nand/raw/gpmi-nand/*
  
  FREESCALE I2C CPM DRIVER
  M:    Jochen Friedrich <jochen@scram.de>
@@@ -5781,6 -5757,10 +5780,6 @@@ F:     fs/crypto
  F:    include/linux/fscrypt*.h
  F:    Documentation/filesystems/fscrypt.rst
  
 -FUJITSU FR-V (FRV) PORT
 -S:    Orphan
 -F:    arch/frv/
 -
  FUJITSU LAPTOP EXTRAS
  M:    Jonathan Woithe <jwoithe@just42.net>
  L:    platform-driver-x86@vger.kernel.org
@@@ -5828,6 -5808,12 +5827,6 @@@ F:     tools/testing/selftests/futex
  F:    tools/perf/bench/futex*
  F:    Documentation/*futex*
  
 -FUTURE DOMAIN TMC-16x0 SCSI DRIVER (16-bit)
 -M:    Rik Faith <faith@cs.unc.edu>
 -L:    linux-scsi@vger.kernel.org
 -S:    Odd Fixes (e.g., new signatures)
 -F:    drivers/scsi/fdomain.*
 -
  GCC PLUGINS
  M:    Kees Cook <keescook@chromium.org>
  R:    Emese Revfy <re.emese@gmail.com>
@@@ -5966,12 -5952,6 +5965,12 @@@ L:    linux-input@vger.kernel.or
  S:    Maintained
  F:    drivers/input/touchscreen/goodix.c
  
 +GPD POCKET FAN DRIVER
 +M:    Hans de Goede <hdegoede@redhat.com>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    drivers/platform/x86/gpd-pocket-fan.c
 +
  GPIO ACPI SUPPORT
  M:    Mika Westerberg <mika.westerberg@linux.intel.com>
  M:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
@@@ -5988,8 -5968,7 +5987,8 @@@ S:      Maintaine
  F:    drivers/media/rc/gpio-ir-tx.c
  
  GPIO MOCKUP DRIVER
 -M:    Bamvor Jian Zhang <bamvor.zhangjian@linaro.org>
 +M:    Bamvor Jian Zhang <bamv2005@gmail.com>
 +R:    Bartosz Golaszewski <brgl@bgdev.pl>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
  F:    drivers/gpio/gpio-mockup.c
@@@ -6001,14 -5980,12 +6000,14 @@@ L:   linux-gpio@vger.kernel.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
  S:    Maintained
  F:    Documentation/devicetree/bindings/gpio/
 +F:    Documentation/driver-api/gpio/
  F:    Documentation/gpio/
  F:    Documentation/ABI/testing/gpio-cdev
  F:    Documentation/ABI/obsolete/sysfs-gpio
  F:    drivers/gpio/
  F:    include/linux/gpio/
  F:    include/linux/gpio.h
 +F:    include/linux/of_gpio.h
  F:    include/asm-generic/gpio.h
  F:    include/uapi/linux/gpio.h
  F:    tools/gpio/
@@@ -6218,11 -6195,6 +6217,11 @@@ F:    Documentation/hw_random.tx
  F:    drivers/char/hw_random/
  F:    include/linux/hw_random.h
  
 +HARDWARE TRACING FACILITIES
 +M:    Alexander Shishkin <alexander.shishkin@linux.intel.com>
 +S:    Maintained
 +F:    drivers/hwtracing/
 +
  HARDWARE SPINLOCK CORE
  M:    Ohad Ben-Cohen <ohad@wizery.com>
  M:    Bjorn Andersson <bjorn.andersson@linaro.org>
@@@ -6552,12 -6524,6 +6551,12 @@@ F:    drivers/i2c/i2c-mux.
  F:    drivers/i2c/muxes/
  F:    include/linux/i2c-mux.h
  
 +I2C MV64XXX MARVELL AND ALLWINNER DRIVER
 +M:    Gregory CLEMENT <gregory.clement@free-electrons.com>
 +L:    linux-i2c@vger.kernel.org
 +S:    Maintained
 +F:    drivers/i2c/busses/i2c-mv64xxx.c
 +
  I2C OVER PARALLEL PORT
  M:    Jean Delvare <jdelvare@suse.com>
  L:    linux-i2c@vger.kernel.org
@@@ -6857,8 -6823,6 +6856,8 @@@ R:      Peter Meerwald-Stadler <pmeerw@pmeer
  L:    linux-iio@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
  S:    Maintained
 +F:    Documentation/ABI/testing/configfs-iio*
 +F:    Documentation/ABI/testing/sysfs-bus-iio*
  F:    Documentation/devicetree/bindings/iio/
  F:    drivers/iio/
  F:    drivers/staging/iio/
@@@ -6882,13 -6846,6 +6881,13 @@@ M:    James Hogan <jhogan@kernel.org
  S:    Maintained
  F:    drivers/media/rc/img-ir/
  
 +IMON SOUNDGRAPH USB IR RECEIVER
 +M:    Sean Young <sean@mess.org>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +F:    drivers/media/rc/imon_raw.c
 +F:    drivers/media/rc/imon.c
 +
  IMS TWINTURBO FRAMEBUFFER DRIVER
  L:    linux-fbdev@vger.kernel.org
  S:    Orphan
@@@ -6923,9 -6880,9 +6922,9 @@@ INFINIBAND SUBSYSTE
  M:    Doug Ledford <dledford@redhat.com>
  M:    Jason Gunthorpe <jgg@mellanox.com>
  L:    linux-rdma@vger.kernel.org
 -W:    http://www.openfabrics.org/
 +W:    https://github.com/linux-rdma/rdma-core
  Q:    http://patchwork.kernel.org/project/linux-rdma/list/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git
  S:    Supported
  F:    Documentation/devicetree/bindings/infiniband/
  F:    Documentation/infiniband/
@@@ -6943,7 -6900,7 +6942,7 @@@ INGENIC JZ4780 NAND DRIVE
  M:    Harvey Hunt <harveyhuntnexus@gmail.com>
  L:    linux-mtd@lists.infradead.org
  S:    Maintained
 -F:    drivers/mtd/nand/jz4780_*
 +F:    drivers/mtd/nand/raw/jz4780_*
  
  INOTIFY
  M:    Jan Kara <jack@suse.cz>
@@@ -6978,7 -6935,7 +6977,7 @@@ F:      drivers/input/input-mt.
  K:    \b(ABS|SYN)_MT_
  
  INSIDE SECURE CRYPTO DRIVER
 -M:    Antoine Tenart <antoine.tenart@free-electrons.com>
 +M:    Antoine Tenart <antoine.tenart@bootlin.com>
  F:    drivers/crypto/inside-secure/
  S:    Maintained
  L:    linux-crypto@vger.kernel.org
@@@ -7049,7 -7006,6 +7048,7 @@@ F:      Documentation/networking/ixgbe.tx
  F:    Documentation/networking/ixgbevf.txt
  F:    Documentation/networking/i40e.txt
  F:    Documentation/networking/i40evf.txt
 +F:    Documentation/networking/ice.txt
  F:    drivers/net/ethernet/intel/
  F:    drivers/net/ethernet/intel/*/
  F:    include/linux/avf/virtchnl.h
@@@ -7067,7 -7023,7 +7066,7 @@@ M:      Zhi Wang <zhi.a.wang@intel.com
  L:    intel-gvt-dev@lists.freedesktop.org
  L:    intel-gfx@lists.freedesktop.org
  W:    https://01.org/igvt-g
 -T:    git https://github.com/01org/gvt-linux.git
 +T:    git https://github.com/intel/gvt-linux.git
  S:    Supported
  F:    drivers/gpu/drm/i915/gvt/
  
@@@ -7114,14 -7070,6 +7113,14 @@@ R:    Dan Williams <dan.j.williams@intel.c
  S:    Odd fixes
  F:    drivers/dma/iop-adma.c
  
 +INTEL IPU3 CSI-2 CIO2 DRIVER
 +M:    Yong Zhi <yong.zhi@intel.com>
 +M:    Sakari Ailus <sakari.ailus@linux.intel.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +F:    drivers/media/pci/intel/ipu3/
 +F:    Documentation/media/uapi/v4l/pixfmt-srggb10-ipu3.rst
 +
  INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
  M:    Krzysztof Halasa <khalasa@piap.pl>
  S:    Maintained
@@@ -7216,14 -7164,6 +7215,14 @@@ L:    linux-rdma@vger.kernel.or
  S:    Supported
  F:    drivers/infiniband/hw/i40iw/
  
 +INTEL SHA MULTIBUFFER DRIVER
 +M:    Megha Dey <megha.dey@linux.intel.com>
 +R:    Tim Chen <tim.c.chen@linux.intel.com>
 +L:    linux-crypto@vger.kernel.org
 +S:    Supported
 +F:    arch/x86/crypto/sha*-mb
 +F:    crypto/mcryptd.c
 +
  INTEL TELEMETRY DRIVER
  M:    Souvik Kumar Chakravarty <souvik.k.chakravarty@intel.com>
  L:    platform-driver-x86@vger.kernel.org
@@@ -7318,7 -7258,6 +7317,7 @@@ S:      Maintaine
  F:    Documentation/devicetree/bindings/iommu/
  F:    drivers/iommu/
  F:    include/linux/iommu.h
 +F:    include/linux/of_iommu.h
  F:    include/linux/iova.h
  
  IP MASQUERADING
@@@ -7365,16 -7304,17 +7364,16 @@@ F:   drivers/tty/ipwireless
  
  IPX NETWORK LAYER
  L:    netdev@vger.kernel.org
 -S:    Odd fixes
 -F:    include/net/ipx.h
 +S:    Obsolete
  F:    include/uapi/linux/ipx.h
 -F:    net/ipx/
 +F:    drivers/staging/ipx/
  
  IRDA SUBSYSTEM
  M:    Samuel Ortiz <samuel@sortiz.org>
  L:    irda-users@lists.sourceforge.net (subscribers-only)
  L:    netdev@vger.kernel.org
  W:    http://irda.sourceforge.net/
 -S:    Maintained
 +S:    Obsolete
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sameo/irda-2.6.git
  F:    Documentation/networking/irda.txt
  F:    drivers/staging/irda/
@@@ -7519,13 -7459,6 +7518,13 @@@ Q:    http://patchwork.linuxtv.org/project
  S:    Maintained
  F:    drivers/media/dvb-frontends/ix2505v*
  
 +JAILHOUSE HYPERVISOR INTERFACE
 +M:    Jan Kiszka <jan.kiszka@siemens.com>
 +L:    jailhouse-dev@googlegroups.com
 +S:    Maintained
 +F:    arch/x86/kernel/jailhouse.c
 +F:    arch/x86/include/asm/jailhouse_para.h
 +
  JC42.4 TEMPERATURE SENSOR DRIVER
  M:    Guenter Roeck <linux@roeck-us.net>
  L:    linux-hwmon@vger.kernel.org
@@@ -7605,10 -7538,8 +7604,10 @@@ F:    mm/kasan
  F:    scripts/Makefile.kasan
  
  KCONFIG
 +M:    Masahiro Yamada <yamada.masahiro@socionext.com>
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kconfig
  L:    linux-kbuild@vger.kernel.org
 -S:    Orphan
 +S:    Maintained
  F:    Documentation/kbuild/kconfig-language.txt
  F:    scripts/kconfig/
  
@@@ -7755,9 -7686,7 +7754,9 @@@ F:      arch/powerpc/kernel/kvm
  
  KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
  M:    Christian Borntraeger <borntraeger@de.ibm.com>
 -M:    Cornelia Huck <cohuck@redhat.com>
 +M:    Janosch Frank <frankja@linux.vnet.ibm.com>
 +R:    David Hildenbrand <david@redhat.com>
 +R:    Cornelia Huck <cohuck@redhat.com>
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git
@@@ -7809,7 -7738,6 +7808,7 @@@ F:      include/keys/encrypted-type.
  F:    security/keys/encrypted-keys/
  
  KEYS-TRUSTED
 +M:    James Bottomley <jejb@linux.vnet.ibm.com>
  M:    Mimi Zohar <zohar@linux.vnet.ibm.com>
  L:    linux-integrity@vger.kernel.org
  L:    keyrings@vger.kernel.org
@@@ -7916,6 -7844,7 +7915,6 @@@ S:      Maintaine
  F:    scripts/leaking_addresses.pl
  
  LED SUBSYSTEM
 -M:    Richard Purdie <rpurdie@rpsys.net>
  M:    Jacek Anaszewski <jacek.anaszewski@gmail.com>
  M:    Pavel Machek <pavel@ucw.cz>
  L:    linux-leds@vger.kernel.org
@@@ -8152,25 -8081,7 +8151,25 @@@ F:    drivers/*/*/*pasemi
  LINUX KERNEL DUMP TEST MODULE (LKDTM)
  M:    Kees Cook <keescook@chromium.org>
  S:    Maintained
 -F:    drivers/misc/lkdtm*
 +F:    drivers/misc/lkdtm/*
 +
 +LINUX KERNEL MEMORY CONSISTENCY MODEL (LKMM)
 +M:    Alan Stern <stern@rowland.harvard.edu>
 +M:    Andrea Parri <parri.andrea@gmail.com>
 +M:    Will Deacon <will.deacon@arm.com>
 +M:    Peter Zijlstra <peterz@infradead.org>
 +M:    Boqun Feng <boqun.feng@gmail.com>
 +M:    Nicholas Piggin <npiggin@gmail.com>
 +M:    David Howells <dhowells@redhat.com>
 +M:    Jade Alglave <j.alglave@ucl.ac.uk>
 +M:    Luc Maranget <luc.maranget@inria.fr>
 +M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
 +R:    Akira Yokosawa <akiyks@gmail.com>
 +L:    linux-kernel@vger.kernel.org
 +S:    Supported
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
 +F:    tools/memory-model/
 +F:    Documentation/memory-barriers.txt
  
  LINUX SECURITY MODULE (LSM) FRAMEWORK
  M:    Chris Wright <chrisw@sous-sol.org>
@@@ -8278,7 -8189,6 +8277,7 @@@ F:      arch/*/include/asm/rwsem.
  F:    include/linux/seqlock.h
  F:    lib/locking*.[ch]
  F:    kernel/locking/
 +X:    kernel/locking/locktorture.c
  
  LOGICAL DISK MANAGER SUPPORT (LDM, Windows 2000/XP/Vista Dynamic Disks)
  M:    "Richard Russon (FlatCap)" <ldm@flatcap.org>
@@@ -8333,6 -8243,11 +8332,6 @@@ W:     http://linux-test-project.github.io
  T:    git git://github.com/linux-test-project/ltp.git
  S:    Maintained
  
 -M32R ARCHITECTURE
 -W:    http://www.linux-m32r.org/
 -S:    Orphan
 -F:    arch/m32r/
 -
  M68K ARCHITECTURE
  M:    Geert Uytterhoeven <geert@linux-m68k.org>
  L:    linux-m68k@lists.linux-m68k.org
@@@ -8431,7 -8346,7 +8430,7 @@@ F:      include/uapi/drm/armada_drm.
  F:    Documentation/devicetree/bindings/display/armada/
  
  MARVELL CRYPTO DRIVER
 -M:    Boris Brezillon <boris.brezillon@free-electrons.com>
 +M:    Boris Brezillon <boris.brezillon@bootlin.com>
  M:    Arnaud Ebalard <arno@natisbad.org>
  F:    drivers/crypto/marvell/
  S:    Maintained
@@@ -8450,7 -8365,7 +8449,7 @@@ S:      Orpha
  F:    drivers/net/wireless/marvell/libertas/
  
  MARVELL MACCHIATOBIN SUPPORT
 -M:    Russell King <rmk@armlinux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  L:    linux-arm-kernel@lists.infradead.org
  S:    Maintained
  F:    arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts
@@@ -8463,7 -8378,7 +8462,7 @@@ F:      drivers/net/ethernet/marvell/mv643xx
  F:    include/linux/mv643xx.h
  
  MARVELL MV88X3310 PHY DRIVER
 -M:    Russell King <rmk@armlinux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/phy/marvell10g.c
@@@ -8489,13 -8404,6 +8488,13 @@@ L:    linux-wireless@vger.kernel.or
  S:    Odd Fixes
  F:    drivers/net/wireless/marvell/mwl8k.c
  
 +MARVELL NAND CONTROLLER DRIVER
 +M:    Miquel Raynal <miquel.raynal@bootlin.com>
 +L:    linux-mtd@lists.infradead.org
 +S:    Maintained
 +F:    drivers/mtd/nand/raw/marvell_nand.c
 +F:    Documentation/devicetree/bindings/mtd/marvell-nand.txt
 +
  MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER
  M:    Nicolas Pitre <nico@fluxnic.net>
  S:    Odd Fixes
@@@ -8605,23 -8513,13 +8604,23 @@@ W:   https://linuxtv.or
  S:    Maintained
  F:    drivers/media/radio/radio-maxiradio*
  
 -MCP4531 MICROCHIP DIGITAL POTENTIOMETER DRIVER
 +MCP4018 AND MCP4531 MICROCHIP DIGITAL POTENTIOMETER DRIVERS
  M:    Peter Rosin <peda@axentia.se>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-bus-iio-potentiometer-mcp4531
 +F:    drivers/iio/potentiometer/mcp4018.c
  F:    drivers/iio/potentiometer/mcp4531.c
  
 +MCR20A IEEE-802.15.4 RADIO DRIVER
 +M:    Xue Liu <liuxuenetmail@gmail.com>
 +L:    linux-wpan@vger.kernel.org
 +W:    https://github.com/xueliu/mcr20a-linux
 +S:    Maintained
 +F:    drivers/net/ieee802154/mcr20a.c
 +F:    drivers/net/ieee802154/mcr20a.h
 +F:    Documentation/devicetree/bindings/net/ieee802154/mcr20a.txt
 +
  MEASUREMENT COMPUTING CIO-DAC IIO DRIVER
  M:    William Breathitt Gray <vilhelm.gray@gmail.com>
  L:    linux-iio@vger.kernel.org
@@@ -8638,14 -8536,6 +8637,14 @@@ T:    git git://linuxtv.org/media_tree.gi
  S:    Supported
  F:    drivers/media/dvb-frontends/ascot2e*
  
 +MEDIA DRIVERS FOR CXD2099AR CI CONTROLLERS
 +M:    Jasmin Jessich <jasmin@anw.at>
 +L:    linux-media@vger.kernel.org
 +W:    https://linuxtv.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/dvb-frontends/cxd2099*
 +
  MEDIA DRIVERS FOR CXD2841ER
  M:    Sergey Kozlov <serjk@netup.ru>
  M:    Abylay Ospan <aospan@netup.ru>
@@@ -8656,15 -8546,6 +8655,15 @@@ T:    git git://linuxtv.org/media_tree.gi
  S:    Supported
  F:    drivers/media/dvb-frontends/cxd2841er*
  
 +MEDIA DRIVERS FOR CXD2880
 +M:    Yasunari Takiguchi <Yasunari.Takiguchi@sony.com>
 +L:    linux-media@vger.kernel.org
 +W:    http://linuxtv.org/
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Supported
 +F:    drivers/media/dvb-frontends/cxd2880/*
 +F:    drivers/media/spi/cxd2880*
 +
  MEDIA DRIVERS FOR DIGITAL DEVICES PCIE DEVICES
  M:    Daniel Scheller <d.scheller.oss@gmail.com>
  L:    linux-media@vger.kernel.org
@@@ -8732,16 -8613,6 +8731,16 @@@ T:    git git://linuxtv.org/media_tree.gi
  S:    Supported
  F:    drivers/media/pci/netup_unidvb/*
  
 +MEDIA DRIVERS FOR RENESAS - CEU
 +M:    Jacopo Mondi <jacopo@jmondi.org>
 +L:    linux-media@vger.kernel.org
 +L:    linux-renesas-soc@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Supported
 +F:    Documentation/devicetree/bindings/media/renesas,ceu.txt
 +F:    drivers/media/platform/renesas-ceu.c
 +F:    include/media/drv-intf/renesas-ceu.h
 +
  MEDIA DRIVERS FOR RENESAS - DRIF
  M:    Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
  L:    linux-media@vger.kernel.org
@@@ -8804,15 -8675,6 +8803,15 @@@ T:    git git://linuxtv.org/media_tree.gi
  S:    Maintained
  F:    drivers/media/dvb-frontends/stv6111*
  
 +MEDIA DRIVERS FOR NVIDIA TEGRA - VDE
 +M:    Dmitry Osipenko <digetx@gmail.com>
 +L:    linux-media@vger.kernel.org
 +L:    linux-tegra@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/media/nvidia,tegra-vde.txt
 +F:    drivers/staging/media/tegra-vde/
 +
  MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
  M:    Mauro Carvalho Chehab <mchehab@s-opensource.com>
  M:    Mauro Carvalho Chehab <mchehab@kernel.org>
@@@ -8856,13 -8718,6 +8855,13 @@@ L:    netdev@vger.kernel.or
  S:    Maintained
  F:    drivers/net/ethernet/mediatek/
  
 +MEDIATEK SWITCH DRIVER
 +M:    Sean Wang <sean.wang@mediatek.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/dsa/mt7530.*
 +F:    net/dsa/tag_mtk.c
 +
  MEDIATEK JPEG DRIVER
  M:    Rick Chang <rick.chang@mediatek.com>
  M:    Bin Liu <bin.liu@mediatek.com>
@@@ -8934,13 -8789,6 +8933,13 @@@ W:    http://www.melexis.co
  S:    Supported
  F:    drivers/iio/temperature/mlx90614.c
  
 +MELEXIS MLX90632 DRIVER
 +M:    Crt Mori <cmo@melexis.com>
 +L:    linux-iio@vger.kernel.org
 +W:    http://www.melexis.com
 +S:    Supported
 +F:    drivers/iio/temperature/mlx90632.c
 +
  MELFAS MIP4 TOUCHSCREEN DRIVER
  M:    Sangwon Jee <jeesw@melfas.com>
  W:    http://www.melfas.com
@@@ -9001,13 -8849,12 +9000,13 @@@ W:   http://www.mellanox.co
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
  F:    drivers/net/ethernet/mellanox/mlxfw/
  
 -MELLANOX MLX CPLD HOTPLUG DRIVER
 +MELLANOX HARDWARE PLATFORM SUPPORT
 +M:    Andy Shevchenko <andy@infradead.org>
 +M:    Darren Hart <dvhart@infradead.org>
  M:    Vadim Pasternak <vadimp@mellanox.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Supported
 -F:    drivers/platform/x86/mlxcpld-hotplug.c
 -F:    include/linux/platform_data/mlxcpld-hotplug.h
 +F:    drivers/platform/mellanox/
  
  MELLANOX MLX4 core VPI driver
  M:    Tariq Toukan <tariqt@mellanox.com>
@@@ -9066,7 -8913,6 +9065,7 @@@ M:      Vadim Pasternak <vadimp@mellanox.com
  L:    linux-leds@vger.kernel.org
  S:    Supported
  F:    drivers/leds/leds-mlxcpld.c
 +F:    drivers/leds/leds-mlxreg.c
  F:    Documentation/leds/leds-mlxcpld.txt
  
  MELLANOX PLATFORM DRIVER
@@@ -9082,7 -8928,6 +9081,7 @@@ L:      linux-kernel@vger.kernel.or
  S:    Supported
  F:    kernel/sched/membarrier.c
  F:    include/uapi/linux/membarrier.h
 +F:    arch/powerpc/include/asm/membarrier.h
  
  MEMORY MANAGEMENT
  L:    linux-mm@kvack.org
@@@ -9098,14 -8943,15 +9097,14 @@@ F:   mm
  MEMORY TECHNOLOGY DEVICES (MTD)
  M:    David Woodhouse <dwmw2@infradead.org>
  M:    Brian Norris <computersforpeace@gmail.com>
 -M:    Boris Brezillon <boris.brezillon@free-electrons.com>
 +M:    Boris Brezillon <boris.brezillon@bootlin.com>
  M:    Marek Vasut <marek.vasut@gmail.com>
  M:    Richard Weinberger <richard@nod.at>
 -M:    Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>
  L:    linux-mtd@lists.infradead.org
  W:    http://www.linux-mtd.infradead.org/
  Q:    http://patchwork.ozlabs.org/project/linux-mtd/list/
  T:    git git://git.infradead.org/linux-mtd.git master
 -T:    git git://git.infradead.org/l2-mtd.git master
 +T:    git git://git.infradead.org/linux-mtd.git mtd/next
  S:    Maintained
  F:    Documentation/devicetree/bindings/mtd/
  F:    drivers/mtd/
@@@ -9144,6 -8990,20 +9143,6 @@@ F:     drivers/media/platform/meson/ao-cec.
  F:    Documentation/devicetree/bindings/media/meson-ao-cec.txt
  T:    git git://linuxtv.org/media_tree.git
  
 -METAG ARCHITECTURE
 -M:    James Hogan <jhogan@kernel.org>
 -L:    linux-metag@vger.kernel.org
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag.git
 -S:    Odd Fixes
 -F:    arch/metag/
 -F:    Documentation/metag/
 -F:    Documentation/devicetree/bindings/metag/
 -F:    Documentation/devicetree/bindings/interrupt-controller/img,*
 -F:    drivers/clocksource/metag_generic.c
 -F:    drivers/irqchip/irq-metag.c
 -F:    drivers/irqchip/irq-metag-ext.c
 -F:    drivers/tty/metag_da.c
 -
  MICROBLAZE ARCHITECTURE
  M:    Michal Simek <monstr@monstr.eu>
  W:    http://www.monstr.eu/fdt/
@@@ -9180,14 -9040,6 +9179,14 @@@ F:    drivers/media/platform/atmel/atmel-i
  F:    drivers/media/platform/atmel/atmel-isc-regs.h
  F:    devicetree/bindings/media/atmel-isc.txt
  
 +MICROCHIP / ATMEL NAND DRIVER
 +M:    Wenyou Yang <wenyou.yang@microchip.com>
 +M:    Josh Wu <rainyfeeling@outlook.com>
 +L:    linux-mtd@lists.infradead.org
 +S:    Supported
 +F:    drivers/mtd/nand/raw/atmel/*
 +F:    Documentation/devicetree/bindings/mtd/atmel-nand.txt
 +
  MICROCHIP KSZ SERIES ETHERNET SWITCH DRIVER
  M:    Woojung Huh <Woojung.Huh@microchip.com>
  M:    Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
@@@ -9198,13 -9050,6 +9197,13 @@@ F:    drivers/net/dsa/microchip/
  F:    include/linux/platform_data/microchip-ksz.h
  F:    Documentation/devicetree/bindings/net/dsa/ksz.txt
  
 +MICROCHIP LAN743X ETHERNET DRIVER
 +M:    Bryan Whitehead <bryan.whitehead@microchip.com>
 +M:    Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/ethernet/microchip/lan743x_*
 +
  MICROCHIP USB251XB DRIVER
  M:    Richard Leitner <richard.leitner@skidata.com>
  L:    linux-usb@vger.kernel.org
@@@ -9246,7 -9091,6 +9245,7 @@@ S:      Supporte
  F:    Documentation/devicetree/bindings/mips/
  F:    Documentation/mips/
  F:    arch/mips/
 +F:    drivers/platform/mips/
  
  MIPS BOSTON DEVELOPMENT BOARD
  M:    Paul Burton <paul.burton@mips.com>
@@@ -9262,7 -9106,6 +9261,7 @@@ MIPS GENERIC PLATFOR
  M:    Paul Burton <paul.burton@mips.com>
  L:    linux-mips@linux-mips.org
  S:    Supported
 +F:    Documentation/devicetree/bindings/power/mti,mips-cpc.txt
  F:    arch/mips/generic/
  F:    arch/mips/tools/generic-board-config.sh
  
@@@ -9275,25 -9118,6 +9274,25 @@@ F:    arch/mips/include/asm/mach-loongson3
  F:    drivers/*/*loongson1*
  F:    drivers/*/*/*loongson1*
  
 +MIPS/LOONGSON2 ARCHITECTURE
 +M:    Jiaxun Yang <jiaxun.yang@flygoat.com>
 +L:    linux-mips@linux-mips.org
 +S:    Maintained
 +F:    arch/mips/loongson64/*{2e/2f}*
 +F:    arch/mips/include/asm/mach-loongson64/
 +F:    drivers/*/*loongson2*
 +F:    drivers/*/*/*loongson2*
 +
 +MIPS/LOONGSON3 ARCHITECTURE
 +M:    Huacai Chen <chenhc@lemote.com>
 +L:    linux-mips@linux-mips.org
 +S:    Maintained
 +F:    arch/mips/loongson64/
 +F:    arch/mips/include/asm/mach-loongson64/
 +F:    drivers/platform/mips/cpu_hwmon.c
 +F:    drivers/*/*loongson3*
 +F:    drivers/*/*/*loongson3*
 +
  MIPS RINT INSTRUCTION EMULATION
  M:    Aleksandar Markovic <aleksandar.markovic@mips.com>
  L:    linux-mips@linux-mips.org
@@@ -9339,6 -9163,7 +9338,6 @@@ F:      drivers/media/dvb-frontends/mn88473
  
  MODULE SUPPORT
  M:    Jessica Yu <jeyu@kernel.org>
 -M:    Rusty Russell <rusty@rustcorp.com.au>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux.git modules-next
  S:    Maintained
  F:    include/linux/module.h
@@@ -9432,14 -9257,6 +9431,14 @@@ S:    Maintaine
  F:    drivers/media/i2c/mt9t001.c
  F:    include/media/i2c/mt9t001.h
  
 +MT9T112 APTINA CAMERA SENSOR
 +M:    Jacopo Mondi <jacopo@jmondi.org>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Odd Fixes
 +F:    drivers/media/i2c/mt9t112.c
 +F:    include/media/i2c/mt9t112.h
 +
  MT9V032 APTINA CAMERA SENSOR
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  L:    linux-media@vger.kernel.org
@@@ -9517,13 -9334,13 +9516,13 @@@ S:   Supporte
  F:    drivers/net/ethernet/myricom/myri10ge/
  
  NAND FLASH SUBSYSTEM
 -M:    Boris Brezillon <boris.brezillon@free-electrons.com>
 +M:    Boris Brezillon <boris.brezillon@bootlin.com>
  R:    Richard Weinberger <richard@nod.at>
  L:    linux-mtd@lists.infradead.org
  W:    http://www.linux-mtd.infradead.org/
  Q:    http://patchwork.ozlabs.org/project/linux-mtd/list/
  T:    git git://git.infradead.org/linux-mtd.git nand/fixes
 -T:    git git://git.infradead.org/l2-mtd.git nand/next
 +T:    git git://git.infradead.org/linux-mtd.git nand/next
  S:    Maintained
  F:    drivers/mtd/nand/
  F:    include/linux/mtd/*nand*.h
@@@ -9541,8 -9358,8 +9540,8 @@@ F:      drivers/net/ethernet/natsemi/natsemi
  
  NCP FILESYSTEM
  M:    Petr Vandrovec <petr@vandrovec.name>
 -S:    Odd Fixes
 -F:    fs/ncpfs/
 +S:    Obsolete
 +F:    drivers/staging/ncpfs/
  
  NCR 5380 SCSI DRIVERS
  M:    Finn Thain <fthain@telegraphics.com.au>
@@@ -9778,11 -9595,6 +9777,11 @@@ NETWORKING [WIRELESS
  L:    linux-wireless@vger.kernel.org
  Q:    http://patchwork.kernel.org/project/linux-wireless/list/
  
 +NETDEVSIM
 +M:    Jakub Kicinski <jakub.kicinski@netronome.com>
 +S:    Maintained
 +F:    drivers/net/netdevsim/*
 +
  NETXEN (1/10) GbE SUPPORT
  M:    Manish Chopra <manish.chopra@cavium.com>
  M:    Rahul Verma <rahul.verma@cavium.com>
@@@ -9895,7 -9707,7 +9894,7 @@@ F:      drivers/ntb/hw/amd
  NTB DRIVER CORE
  M:    Jon Mason <jdmason@kudzu.us>
  M:    Dave Jiang <dave.jiang@intel.com>
 -M:    Allen Hubbe <Allen.Hubbe@emc.com>
 +M:    Allen Hubbe <allenbh@gmail.com>
  L:    linux-ntb@googlegroups.com
  S:    Supported
  W:    https://github.com/jonmason/ntb/wiki
@@@ -9929,15 -9741,6 +9928,15 @@@ S:    Supporte
  F:    Documentation/filesystems/ntfs.txt
  F:    fs/ntfs/
  
 +NUBUS SUBSYSTEM
 +M:    Finn Thain <fthain@telegraphics.com.au>
 +L:    linux-m68k@lists.linux-m68k.org
 +S:    Maintained
 +F:    arch/*/include/asm/nubus.h
 +F:    drivers/nubus/
 +F:    include/linux/nubus.h
 +F:    include/uapi/linux/nubus.h
 +
  NVIDIA (rivafb and nvidiafb) FRAMEBUFFER DRIVER
  M:    Antonino Daplas <adaplas@gmail.com>
  L:    linux-fbdev@vger.kernel.org
@@@ -9986,13 -9789,6 +9985,13 @@@ F:    Documentation/ABI/stable/sysfs-bus-n
  F:    include/linux/nvmem-consumer.h
  F:    include/linux/nvmem-provider.h
  
 +NXP SGTL5000 DRIVER
 +M:    Fabio Estevam <fabio.estevam@nxp.com>
 +L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/sound/sgtl5000.txt
 +F:    sound/soc/codecs/sgtl5000*
 +
  NXP TDA998X DRM DRIVER
  M:    Russell King <linux@armlinux.org.uk>
  S:    Supported
@@@ -10005,7 -9801,6 +10004,7 @@@ NXP TFA9879 DRIVE
  M:    Peter Rosin <peda@axentia.se>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  S:    Maintained
 +F:    Documentation/devicetree/bindings/sound/tfa9879.txt
  F:    sound/soc/codecs/tfa9879*
  
  NXP-NCI NFC DRIVER
@@@ -10017,22 -9812,9 +10016,22 @@@ F:  drivers/nfc/nxp-nc
  
  OBJTOOL
  M:    Josh Poimboeuf <jpoimboe@redhat.com>
 +M:    Peter Zijlstra <peterz@infradead.org>
  S:    Supported
  F:    tools/objtool/
  
 +OCXL (Open Coherent Accelerator Processor Interface OpenCAPI) DRIVER
 +M:    Frederic Barrat <fbarrat@linux.vnet.ibm.com>
 +M:    Andrew Donnellan <andrew.donnellan@au1.ibm.com>
 +L:    linuxppc-dev@lists.ozlabs.org
 +S:    Supported
 +F:    arch/powerpc/platforms/powernv/ocxl.c
 +F:    arch/powerpc/include/asm/pnv-ocxl.h
 +F:    drivers/misc/ocxl/
 +F:    include/misc/ocxl*
 +F:    include/uapi/misc/ocxl.h
 +F:    Documentation/accelerators/ocxl.txt
 +
  OMAP AUDIO SUPPORT
  M:    Peter Ujfalusi <peter.ujfalusi@ti.com>
  M:    Jarkko Nikula <jarkko.nikula@bitmer.com>
@@@ -10245,13 -10027,6 +10244,13 @@@ T: git git://linuxtv.org/media_tree.gi
  S:    Maintained
  F:    drivers/media/i2c/ov13858.c
  
 +OMNIVISION OV2685 SENSOR DRIVER
 +M:    Shunqian Zheng <zhengsq@rock-chips.com>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/i2c/ov2685.c
 +
  OMNIVISION OV5640 SENSOR DRIVER
  M:    Steve Longerbeam <slongerbeam@gmail.com>
  L:    linux-media@vger.kernel.org
@@@ -10266,13 -10041,6 +10265,13 @@@ T: git git://linuxtv.org/media_tree.gi
  S:    Maintained
  F:    drivers/media/i2c/ov5647.c
  
 +OMNIVISION OV5695 SENSOR DRIVER
 +M:    Shunqian Zheng <zhengsq@rock-chips.com>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/i2c/ov5695.c
 +
  OMNIVISION OV7670 SENSOR DRIVER
  M:    Jonathan Corbet <corbet@lwn.net>
  L:    linux-media@vger.kernel.org
@@@ -10281,37 -10049,11 +10280,37 @@@ S:        Maintaine
  F:    drivers/media/i2c/ov7670.c
  F:    Documentation/devicetree/bindings/media/i2c/ov7670.txt
  
 +OMNIVISION OV772x SENSOR DRIVER
 +M:    Jacopo Mondi <jacopo@jmondi.org>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Odd fixes
 +F:    drivers/media/i2c/ov772x.c
 +F:    include/media/i2c/ov772x.h
 +
 +OMNIVISION OV7740 SENSOR DRIVER
 +M:    Wenyou Yang <wenyou.yang@microchip.com>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/i2c/ov7740.c
 +F:    Documentation/devicetree/bindings/media/i2c/ov7740.txt
 +
 +OMNIVISION OV9650 SENSOR DRIVER
 +M:    Sakari Ailus <sakari.ailus@linux.intel.com>
 +R:    Akinobu Mita <akinobu.mita@gmail.com>
 +R:    Sylwester Nawrocki <s.nawrocki@samsung.com>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/i2c/ov9650.c
 +F:    Documentation/devicetree/bindings/media/i2c/ov9650.txt
 +
  ONENAND FLASH DRIVER
  M:    Kyungmin Park <kyungmin.park@samsung.com>
  L:    linux-mtd@lists.infradead.org
  S:    Maintained
 -F:    drivers/mtd/onenand/
 +F:    drivers/mtd/nand/onenand/
  F:    include/linux/mtd/onenand*.h
  
  ONSTREAM SCSI TAPE DRIVER
@@@ -10401,7 -10143,7 +10400,7 @@@ F:   include/uapi/linux/openvswitch.
  OPERATING PERFORMANCE POINTS (OPP)
  M:    Viresh Kumar <vireshk@kernel.org>
  M:    Nishanth Menon <nm@ti.com>
 -M:    Stephen Boyd <sboyd@codeaurora.org>
 +M:    Stephen Boyd <sboyd@kernel.org>
  L:    linux-pm@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git
@@@ -10427,7 -10169,7 +10426,7 @@@ F:   drivers/oprofile
  F:    include/linux/oprofile.h
  
  ORACLE CLUSTER FILESYSTEM 2 (OCFS2)
 -M:    Mark Fasheh <mfasheh@versity.com>
 +M:    Mark Fasheh <mark@fasheh.com>
  M:    Joel Becker <jlbec@evilplan.org>
  L:    ocfs2-devel@oss.oracle.com (moderated for non-subscribers)
  W:    http://ocfs2.wiki.kernel.org
@@@ -10438,8 -10180,7 +10437,8 @@@ F:   fs/ocfs2
  
  ORANGEFS FILESYSTEM
  M:    Mike Marshall <hubcap@omnibond.com>
 -L:    pvfs2-developers@beowulf-underground.org (subscribers-only)
 +R:    Martin Brandenburg <martin@omnibond.com>
 +L:    devel@lists.orangefs.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux.git
  S:    Supported
  F:    fs/orangefs/
@@@ -10508,6 -10249,14 +10507,6 @@@ L:  platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/panasonic-laptop.c
  
 -PANASONIC MN10300/AM33/AM34 PORT
 -M:    David Howells <dhowells@redhat.com>
 -L:    linux-am33-list@redhat.com (moderated for non-subscribers)
 -W:    ftp://ftp.redhat.com/pub/redhat/gnupro/AM33/
 -S:    Maintained
 -F:    Documentation/mn10300/
 -F:    arch/mn10300/
 -
  PARALLEL LCD/KEYPAD PANEL DRIVER
  M:    Willy Tarreau <willy@haproxy.com>
  M:    Ksenija Stanojevic <ksenija.stanojevic@gmail.com>
@@@ -10529,6 -10278,7 +10528,6 @@@ F:   Documentation/parport*.tx
  PARAVIRT_OPS INTERFACE
  M:    Juergen Gross <jgross@suse.com>
  M:    Alok Kataria <akataria@vmware.com>
 -M:    Rusty Russell <rusty@rustcorp.com.au>
  L:    virtualization@lists.linux-foundation.org
  S:    Supported
  F:    Documentation/virtual/paravirt_ops.txt
@@@ -10647,13 -10397,6 +10646,13 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/pci/pci-armada8k.txt
  F:    drivers/pci/dwc/pcie-armada8k.c
  
 +PCI DRIVER FOR CADENCE PCIE IP
 +M:    Alan Douglas <adouglas@cadence.com>
 +L:    linux-pci@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/cdns,*.txt
 +F:    drivers/pci/cadence/pcie-cadence*
 +
  PCI DRIVER FOR FREESCALE LAYERSCAPE
  M:    Minghuan Lian <minghuan.Lian@freescale.com>
  M:    Mingkai Hu <mingkai.hu@freescale.com>
@@@ -10804,13 -10547,8 +10803,13 @@@ T: git git://git.kernel.org/pub/scm/lin
  S:    Supported
  F:    Documentation/devicetree/bindings/pci/
  F:    Documentation/PCI/
 +F:    drivers/acpi/pci*
  F:    drivers/pci/
 +F:    include/asm-generic/pci*
  F:    include/linux/pci*
 +F:    include/linux/of_pci.h
 +F:    include/uapi/linux/pci*
 +F:    lib/pci*
  F:    arch/x86/pci/
  F:    arch/x86/kernel/quirks.c
  
@@@ -10900,9 -10638,11 +10899,9 @@@ S:  Maintaine
  F:    drivers/pci/dwc/*spear*
  
  PCMCIA SUBSYSTEM
 -P:    Linux PCMCIA Team
 -L:    linux-pcmcia@lists.infradead.org
 -W:    http://lists.infradead.org/mailman/listinfo/linux-pcmcia
 +M:    Dominik Brodowski <linux@dominikbrodowski.net>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia.git
 -S:    Maintained
 +S:    Odd Fixes
  F:    Documentation/pcmcia/
  F:    tools/pcmcia/
  F:    drivers/pcmcia/
@@@ -10930,7 -10670,6 +10929,7 @@@ F:   drivers/platform/x86/peaq-wmi.
  PER-CPU MEMORY ALLOCATOR
  M:    Tejun Heo <tj@kernel.org>
  M:    Christoph Lameter <cl@linux.com>
 +M:    Dennis Zhou <dennisszhou@gmail.com>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu.git
  S:    Maintained
  F:    include/linux/percpu*.h
@@@ -11024,33 -10763,12 +11023,33 @@@ L:        linux-gpio@vger.kernel.or
  S:    Supported
  F:    drivers/pinctrl/pinctrl-at91-pio4.*
  
 +PIN CONTROLLER - FREESCALE
 +M:    Dong Aisheng <aisheng.dong@nxp.com>
 +M:    Fabio Estevam <festevam@gmail.com>
 +M:    Shawn Guo <shawnguo@kernel.org>
 +M:    Stefan Agner <stefan@agner.ch>
 +R:    Pengutronix Kernel Team <kernel@pengutronix.de>
 +L:    linux-gpio@vger.kernel.org
 +S:    Maintained
 +F:    drivers/pinctrl/freescale/
 +F:    Documentation/devicetree/bindings/pinctrl/fsl,*
 +
  PIN CONTROLLER - INTEL
  M:    Mika Westerberg <mika.westerberg@linux.intel.com>
  M:    Heikki Krogerus <heikki.krogerus@linux.intel.com>
  S:    Maintained
  F:    drivers/pinctrl/intel/
  
 +PIN CONTROLLER - MEDIATEK
 +M:    Sean Wang <sean.wang@mediatek.com>
 +L:    linux-mediatek@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pinctrl/pinctrl-mt65xx.txt
 +F:    Documentation/devicetree/bindings/pinctrl/pinctrl-mt7622.txt
 +F:    drivers/pinctrl/mediatek/pinctrl-mtk-common.*
 +F:    drivers/pinctrl/mediatek/pinctrl-mt2701.c
 +F:    drivers/pinctrl/mediatek/pinctrl-mt7622.c
 +
  PIN CONTROLLER - QUALCOMM
  M:    Bjorn Andersson <bjorn.andersson@linaro.org>
  S:    Maintained
@@@ -11111,7 -10829,7 +11110,7 @@@ F:   include/linux/pktcdvd.
  F:    include/uapi/linux/pktcdvd.h
  
  PKUNITY SOC DRIVERS
 -M:    Guan Xuetao <gxt@mprc.pku.edu.cn>
 +M:    Guan Xuetao <gxt@pku.edu.cn>
  W:    http://mprc.pku.edu.cn/~guanxuetao/linux
  S:    Maintained
  T:    git git://github.com/gxt/linux.git
@@@ -11169,7 -10887,6 +11168,7 @@@ F:   include/linux/pm.
  F:    include/linux/pm_*
  F:    include/linux/powercap.h
  F:    drivers/powercap/
 +F:    kernel/configs/nopm.config
  
  POWER STATE COORDINATION INTERFACE (PSCI)
  M:    Mark Rutland <mark.rutland@arm.com>
@@@ -11437,6 -11154,12 +11436,6 @@@ F:  include/sound/pxa2xx-lib.
  F:    sound/arm/pxa*
  F:    sound/soc/pxa/
  
 -PXA3xx NAND FLASH DRIVER
 -M:    Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
 -L:    linux-mtd@lists.infradead.org
 -S:    Maintained
 -F:    drivers/mtd/nand/pxa3xx_nand.c
 -
  QAT DRIVER
  M:    Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  L:    qat-linux@intel.com
@@@ -11458,8 -11181,7 +11457,8 @@@ S:   Maintaine
  F:    drivers/firmware/qemu_fw_cfg.c
  
  QIB DRIVER
 -M:    Mike Marciniszyn <infinipath@intel.com>
 +M:    Dennis Dalessandro <dennis.dalessandro@intel.com>
 +M:    Mike Marciniszyn <mike.marciniszyn@intel.com>
  L:    linux-rdma@vger.kernel.org
  S:    Supported
  F:    drivers/infiniband/hw/qib/
@@@ -11486,6 -11208,7 +11485,6 @@@ F:   include/linux/qed
  F:    drivers/net/ethernet/qlogic/qede/
  
  QLOGIC QL4xxx RDMA DRIVER
 -M:    Ram Amrani <Ram.Amrani@cavium.com>
  M:    Michal Kalderon <Michal.Kalderon@cavium.com>
  M:    Ariel Elior <Ariel.Elior@cavium.com>
  L:    linux-rdma@vger.kernel.org
@@@ -11549,9 -11272,8 +11548,9 @@@ M:   Stuart Yoder <stuyoder@gmail.com
  M:    Laurentiu Tudor <laurentiu.tudor@nxp.com>
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
 -F:    drivers/staging/fsl-mc/
 +F:    drivers/bus/fsl-mc/
  F:    Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt
 +F:    Documentation/networking/dpaa2/overview.rst
  
  QT1010 MEDIA DRIVER
  M:    Antti Palosaari <crope@iki.fi>
@@@ -11633,7 -11355,6 +11632,7 @@@ F:   drivers/net/wireless/quantenn
  RADEON and AMDGPU DRM DRIVERS
  M:    Alex Deucher <alexander.deucher@amd.com>
  M:    Christian König <christian.koenig@amd.com>
 +M:    David (ChunMing) Zhou <David1.Zhou@amd.com>
  L:    amd-gfx@lists.freedesktop.org
  T:    git git://people.freedesktop.org/~agd5f/linux
  S:    Supported
@@@ -11710,13 -11431,6 +11709,13 @@@ S: Maintaine
  F:    Documentation/blockdev/ramdisk.txt
  F:    drivers/block/brd.c
  
 +RANCHU VIRTUAL BOARD FOR MIPS
 +M:    Miodrag Dinic <miodrag.dinic@mips.com>
 +L:    linux-mips@linux-mips.org
 +S:    Supported
 +F:    arch/mips/generic/board-ranchu.c
 +F:    arch/mips/configs/generic/board-ranchu.config
 +
  RANDOM NUMBER DRIVER
  M:    "Theodore Ts'o" <tytso@mit.edu>
  S:    Maintained
@@@ -11733,6 -11447,15 +11732,6 @@@ L:  linux-wireless@vger.kernel.or
  S:    Orphan
  F:    drivers/net/wireless/ray*
  
 -RCUTORTURE MODULE
 -M:    Josh Triplett <josh@joshtriplett.org>
 -M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
 -L:    linux-kernel@vger.kernel.org
 -S:    Supported
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
 -F:    Documentation/RCU/torture.txt
 -F:    kernel/rcu/rcutorture.c
 -
  RCUTORTURE TEST FRAMEWORK
  M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
  M:    Josh Triplett <josh@joshtriplett.org>
@@@ -11756,7 -11479,6 +11755,7 @@@ F:   drivers/net/ethernet/rdc/r6040.
  
  RDMAVT - RDMA verbs software
  M:    Dennis Dalessandro <dennis.dalessandro@intel.com>
 +M:    Mike Marciniszyn <mike.marciniszyn@intel.com>
  L:    linux-rdma@vger.kernel.org
  S:    Supported
  F:    drivers/infiniband/sw/rdmavt
@@@ -11920,8 -11642,8 +11919,8 @@@ F:   drivers/memstick/host/r592.
  RICOH SMARTMEDIA/XD DRIVER
  M:    Maxim Levitsky <maximlevitsky@gmail.com>
  S:    Maintained
 -F:    drivers/mtd/nand/r852.c
 -F:    drivers/mtd/nand/r852.h
 +F:    drivers/mtd/nand/raw/r852.c
 +F:    drivers/mtd/nand/raw/r852.h
  
  RISC-V ARCHITECTURE
  M:    Palmer Dabbelt <palmer@sifive.com>
@@@ -12034,13 -11756,15 +12033,13 @@@ T:        git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    drivers/net/wireless/realtek/rtl818x/rtl8187/
  
 -RTL8192CE WIRELESS DRIVER
 -M:    Larry Finger <Larry.Finger@lwfinger.net>
 -M:    Chaoming Li <chaoming_li@realsil.com.cn>
 +REALTEK WIRELESS DRIVER (rtlwifi family)
 +M:    Ping-Ke Shih <pkshih@realtek.com>
  L:    linux-wireless@vger.kernel.org
  W:    http://wireless.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
  S:    Maintained
  F:    drivers/net/wireless/realtek/rtlwifi/
 -F:    drivers/net/wireless/realtek/rtlwifi/rtl8192ce/
  
  RTL8XXXU WIRELESS DRIVER (rtl8xxxu)
  M:    Jes Sorensen <Jes.Sorensen@gmail.com>
@@@ -12133,7 -11857,6 +12132,7 @@@ F:   drivers/pci/hotplug/s390_pci_hpc.
  S390 VFIO-CCW DRIVER
  M:    Cornelia Huck <cohuck@redhat.com>
  M:    Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
 +M:    Halil Pasic <pasic@linux.vnet.ibm.com>
  L:    linux-s390@vger.kernel.org
  L:    kvm@vger.kernel.org
  S:    Supported
@@@ -12196,7 -11919,6 +12195,7 @@@ M:   Sylwester Nawrocki <s.nawrocki@samsu
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  S:    Supported
  F:    sound/soc/samsung/
 +F:    Documentation/devicetree/bindings/sound/samsung*
  
  SAMSUNG EXYNOS PSEUDO RANDOM NUMBER GENERATOR (RNG) DRIVER
  M:    Krzysztof Kozlowski <krzk@kernel.org>
@@@ -12206,13 -11928,6 +12205,13 @@@ S: Maintaine
  F:    drivers/crypto/exynos-rng.c
  F:    Documentation/devicetree/bindings/crypto/samsung,exynos-rng4.txt
  
 +SAMSUNG EXYNOS TRUE RANDOM NUMBER GENERATOR (TRNG) DRIVER
 +M:    Łukasz Stelmach <l.stelmach@samsung.com>
 +L:    linux-samsung-soc@vger.kernel.org
 +S:    Maintained
 +F:    drivers/char/hw_random/exynos-trng.c
 +F:    Documentation/devicetree/bindings/rng/samsung,exynos5250-trng.txt
 +
  SAMSUNG FRAMEBUFFER DRIVER
  M:    Jingoo Han <jingoohan1@gmail.com>
  L:    linux-fbdev@vger.kernel.org
@@@ -12275,7 -11990,6 +12274,7 @@@ F:   drivers/media/i2c/s5k5baf.
  SAMSUNG S5P Security SubSystem (SSS) DRIVER
  M:    Krzysztof Kozlowski <krzk@kernel.org>
  M:    Vladimir Zapolskiy <vz@mleia.com>
 +M:    Kamil Konieczny <k.konieczny@partner.samsung.com>
  L:    linux-crypto@vger.kernel.org
  L:    linux-samsung-soc@vger.kernel.org
  S:    Maintained
@@@ -12302,7 -12016,7 +12301,7 @@@ F:   Documentation/devicetree/bindings/cl
  SAMSUNG SPI DRIVERS
  M:    Kukjin Kim <kgene@kernel.org>
  M:    Krzysztof Kozlowski <krzk@kernel.org>
 -M:    Andi Shyti <andi.shyti@samsung.com>
 +M:    Andi Shyti <andi@etezian.org>
  L:    linux-spi@vger.kernel.org
  L:    linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
  S:    Maintained
@@@ -12356,6 -12070,13 +12355,6 @@@ F:  include/linux/sched.
  F:    include/uapi/linux/sched.h
  F:    include/linux/wait.h
  
 -SCORE ARCHITECTURE
 -M:    Chen Liqin <liqin.linux@gmail.com>
 -M:    Lennox Wu <lennox.wu@gmail.com>
 -W:    http://www.sunplus.com
 -S:    Supported
 -F:    arch/score/
 -
  SCR24X CHIP CARD INTERFACE DRIVER
  M:    Lubomir Rintel <lkundrak@v3.sk>
  S:    Supported
@@@ -12613,14 -12334,6 +12612,14 @@@ T: git git://linuxtv.org/anttip/media_t
  S:    Maintained
  F:    drivers/media/tuners/si2157*
  
 +SI2165 MEDIA DRIVER
 +M:    Matthias Schwarzott <zzam@gentoo.org>
 +L:    linux-media@vger.kernel.org
 +W:    https://linuxtv.org
 +Q:    http://patchwork.linuxtv.org/project/linux-media/list/
 +S:    Maintained
 +F:    drivers/media/dvb-frontends/si2165*
 +
  SI2168 MEDIA DRIVER
  M:    Antti Palosaari <crope@iki.fi>
  L:    linux-media@vger.kernel.org
@@@ -12744,13 -12457,6 +12743,13 @@@ F: lib/siphash.
  F:    lib/test_siphash.c
  F:    include/linux/siphash.h
  
 +SIOX
 +M:    Gavin Schenk <g.schenk@eckelmann.de>
 +M:    Uwe Kleine-König <kernel@pengutronix.de>
 +S:    Supported
 +F:    drivers/siox/*
 +F:    include/trace/events/siox.h
 +
  SIS 190 ETHERNET DRIVER
  M:    Francois Romieu <romieu@fr.zoreil.com>
  L:    netdev@vger.kernel.org
@@@ -12802,14 -12508,6 +12801,14 @@@ T: git git://git.kernel.org/pub/scm/lin
  F:    include/linux/srcu.h
  F:    kernel/rcu/srcu.c
  
 +SERIAL LOW-POWER INTER-CHIP MEDIA BUS (SLIMbus)
 +M:    Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 +L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    drivers/slimbus/
 +F:    Documentation/devicetree/bindings/slimbus/
 +F:    include/linux/slimbus.h
 +
  SMACK SECURITY MODULE
  M:    Casey Schaufler <casey@schaufler-ca.com>
  L:    linux-security-module@vger.kernel.org
@@@ -12883,19 -12581,14 +12882,19 @@@ S:        Maintaine
  F:    drivers/net/ethernet/smsc/smsc9420.*
  
  SOC-CAMERA V4L2 SUBSYSTEM
 -M:    Guennadi Liakhovetski <g.liakhovetski@gmx.de>
  L:    linux-media@vger.kernel.org
  T:    git git://linuxtv.org/media_tree.git
 -S:    Maintained
 +S:    Orphan
  F:    include/media/soc*
  F:    drivers/media/i2c/soc_camera/
  F:    drivers/media/platform/soc_camera/
  
 +SOCIONEXT UNIPHIER SOUND DRIVER
 +M:    Katsuhiro Suzuki <suzuki.katsuhiro@socionext.com>
 +L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    sound/soc/uniphier/
 +
  SOEKRIS NET48XX LED SUPPORT
  M:    Chris Boot <bootc@bootc.net>
  S:    Maintained
@@@ -12920,15 -12613,6 +12919,15 @@@ L: linux-media@vger.kernel.or
  S:    Supported
  F:    drivers/media/pci/solo6x10/
  
 +SOFTWARE DELEGATED EXCEPTION INTERFACE (SDEI)
 +M:    James Morse <james.morse@arm.com>
 +L:    linux-arm-kernel@lists.infradead.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/arm/firmware/sdei.txt
 +F:    drivers/firmware/arm_sdei.c
 +F:    include/linux/sdei.h
 +F:    include/uapi/linux/sdei.h
 +
  SOFTWARE RAID (Multiple Disks) SUPPORT
  M:    Shaohua Li <shli@kernel.org>
  L:    linux-raid@vger.kernel.org
@@@ -12941,26 -12625,6 +12940,26 @@@ F: drivers/md/raid
  F:    include/linux/raid/
  F:    include/uapi/linux/raid/
  
 +SOCIONEXT (SNI) NETSEC NETWORK DRIVER
 +M:    Jassi Brar <jaswinder.singh@linaro.org>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/ethernet/socionext/netsec.c
 +F:    Documentation/devicetree/bindings/net/socionext-netsec.txt
 +
 +SOLIDRUN CLEARFOG SUPPORT
 +M:    Russell King <linux@armlinux.org.uk>
 +S:    Maintained
 +F:    arch/arm/boot/dts/armada-388-clearfog*
 +F:    arch/arm/boot/dts/armada-38x-solidrun-*
 +
 +SOLIDRUN CUBOX-I/HUMMINGBOARD SUPPORT
 +M:    Russell King <linux@armlinux.org.uk>
 +S:    Maintained
 +F:    arch/arm/boot/dts/imx6*-cubox-i*
 +F:    arch/arm/boot/dts/imx6*-hummingboard*
 +F:    arch/arm/boot/dts/imx6*-sr-*
 +
  SONIC NETWORK DRIVER
  M:    Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  L:    netdev@vger.kernel.org
@@@ -13047,16 -12711,6 +13046,16 @@@ F: Documentation/sound/alsa/soc
  F:    sound/soc/
  F:    include/sound/soc*
  
 +SOUNDWIRE SUBSYSTEM
 +M:    Vinod Koul <vinod.koul@intel.com>
 +M:    Sanyog Kale <sanyog.r.kale@intel.com>
 +R:    Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
 +L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
 +S:    Supported
 +F:    Documentation/driver-api/soundwire/
 +F:    drivers/soundwire/
 +F:    include/linux/soundwire/
 +
  SP2 MEDIA DRIVER
  M:    Olli Salonen <olli.salonen@iki.fi>
  L:    linux-media@vger.kernel.org
@@@ -13117,12 -12771,13 +13116,12 @@@ F:        arch/arm/boot/dts/spear
  F:    arch/arm/mach-spear/
  
  SPI NOR SUBSYSTEM
 -M:    Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>
  M:    Marek Vasut <marek.vasut@gmail.com>
  L:    linux-mtd@lists.infradead.org
  W:    http://www.linux-mtd.infradead.org/
  Q:    http://patchwork.ozlabs.org/project/linux-mtd/list/
  T:    git git://git.infradead.org/linux-mtd.git spi-nor/fixes
 -T:    git git://git.infradead.org/l2-mtd.git spi-nor/next
 +T:    git git://git.infradead.org/linux-mtd.git spi-nor/next
  S:    Maintained
  F:    drivers/mtd/spi-nor/
  F:    include/linux/mtd/spi-nor.h
@@@ -13148,7 -12803,7 +13147,7 @@@ F:   Documentation/networking/spider_net.
  F:    drivers/net/ethernet/toshiba/spider_net*
  
  SPMI SUBSYSTEM
 -R:    Stephen Boyd <sboyd@codeaurora.org>
 +R:    Stephen Boyd <sboyd@kernel.org>
  L:    linux-arm-msm@vger.kernel.org
  F:    Documentation/devicetree/bindings/spmi/
  F:    drivers/spmi/
@@@ -13209,6 -12864,12 +13208,6 @@@ S:  Odd Fixe
  F:    Documentation/devicetree/bindings/staging/iio/
  F:    drivers/staging/iio/
  
 -STAGING - LIRC (LINUX INFRARED REMOTE CONTROL) DRIVERS
 -M:    Jarod Wilson <jarod@wilsonet.com>
 -W:    http://www.lirc.org/
 -S:    Odd Fixes
 -F:    drivers/staging/media/lirc/
 -
  STAGING - LUSTRE PARALLEL FILESYSTEM
  M:    Oleg Drokin <oleg.drokin@intel.com>
  M:    Andreas Dilger <andreas.dilger@intel.com>
@@@ -13369,7 -13030,7 +13368,7 @@@ F:   arch/x86/boot/video
  
  SWIOTLB SUBSYSTEM
  M:    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
 -L:    linux-kernel@vger.kernel.org
 +L:    iommu@lists.linux-foundation.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb.git
  S:    Supported
  F:    lib/swiotlb.c
@@@ -13434,11 -13095,6 +13433,11 @@@ S: Supporte
  F:    drivers/reset/reset-axs10x.c
  F:    Documentation/devicetree/bindings/reset/snps,axs10x-reset.txt
  
 +SYNOPSYS DESIGNWARE 8250 UART DRIVER
 +R:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 +S:    Maintained
 +F:    drivers/tty/serial/8250/8250_dw.c
 +
  SYNOPSYS DESIGNWARE APB GPIO DRIVER
  M:    Hoan Tran <hotran@apm.com>
  L:    linux-gpio@vger.kernel.org
@@@ -13455,6 -13111,7 +13454,6 @@@ F:   include/linux/platform_data/dma-dw.
  F:    drivers/dma/dw/
  
  SYNOPSYS DESIGNWARE ENTERPRISE ETHERNET DRIVER
 -M:    Jie Deng <jiedeng@synopsys.com>
  M:    Jose Abreu <Jose.Abreu@synopsys.com>
  L:    netdev@vger.kernel.org
  S:    Supported
@@@ -13489,16 -13146,15 +13488,16 @@@ T:        git git://git.kernel.org/pub/scm/lin
  S:    Supported
  F:    drivers/mfd/syscon.c
  
 -SYSTEM CONTROL & POWER INTERFACE (SCPI) Message Protocol drivers
 +SYSTEM CONTROL & POWER/MANAGEMENT INTERFACE (SCPI/SCMI) Message Protocol drivers
  M:    Sudeep Holla <sudeep.holla@arm.com>
  L:    linux-arm-kernel@lists.infradead.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/arm/arm,scpi.txt
 -F:    drivers/clk/clk-scpi.c
 -F:    drivers/cpufreq/scpi-cpufreq.c
 +F:    Documentation/devicetree/bindings/arm/arm,sc[mp]i.txt
 +F:    drivers/clk/clk-sc[mp]i.c
 +F:    drivers/cpufreq/sc[mp]i-cpufreq.c
  F:    drivers/firmware/arm_scpi.c
 -F:    include/linux/scpi_protocol.h
 +F:    drivers/firmware/arm_scmi/
 +F:    include/linux/sc[mp]i_protocol.h
  
  SYSTEM RESET/SHUTDOWN DRIVERS
  M:    Sebastian Reichel <sre@kernel.org>
@@@ -13595,15 -13251,6 +13594,15 @@@ T: git git://linuxtv.org/anttip/media_t
  S:    Maintained
  F:    drivers/media/tuners/tda18218*
  
 +TDA18250 MEDIA DRIVER
 +M:    Olli Salonen <olli.salonen@iki.fi>
 +L:    linux-media@vger.kernel.org
 +W:    https://linuxtv.org
 +Q:    http://patchwork.linuxtv.org/project/linux-media/list/
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/tuners/tda18250*
 +
  TDA18271 MEDIA DRIVER
  M:    Michael Krufky <mkrufky@linuxtv.org>
  L:    linux-media@vger.kernel.org
@@@ -13614,14 -13261,6 +13613,14 @@@ T: git git://linuxtv.org/mkrufky/tuners
  S:    Maintained
  F:    drivers/media/tuners/tda18271*
  
 +TDA1997x MEDIA DRIVER
 +M:    Tim Harvey <tharvey@gateworks.com>
 +L:    linux-media@vger.kernel.org
 +W:    https://linuxtv.org
 +Q:    http://patchwork.linuxtv.org/project/linux-media/list/
 +S:    Maintained
 +F:    drivers/media/i2c/tda1997x.*
 +
  TDA827x MEDIA DRIVER
  M:    Michael Krufky <mkrufky@linuxtv.org>
  L:    linux-media@vger.kernel.org
@@@ -13703,12 -13342,6 +13702,12 @@@ L: linux-media@vger.kernel.or
  S:    Maintained
  F:    drivers/media/rc/ttusbir.c
  
 +TECHWELL TW9910 VIDEO DECODER
 +L:    linux-media@vger.kernel.org
 +S:    Orphan
 +F:    drivers/media/i2c/tw9910.c
 +F:    include/media/i2c/tw9910.h
 +
  TEE SUBSYSTEM
  M:    Jens Wiklander <jens.wiklander@linaro.org>
  S:    Maintained
@@@ -13744,8 -13377,7 +13743,8 @@@ S:   Supporte
  F:    drivers/i2c/busses/i2c-tegra.c
  
  TEGRA IOMMU DRIVERS
 -M:    Hiroshi Doyu <hdoyu@nvidia.com>
 +M:    Thierry Reding <thierry.reding@gmail.com>
 +L:    linux-tegra@vger.kernel.org
  S:    Supported
  F:    drivers/iommu/tegra*
  
@@@ -14033,10 -13665,23 +14032,10 @@@ S:        Orpha
  F:    drivers/net/wireless/ti/
  F:    include/linux/wl12xx.h
  
 -TILE ARCHITECTURE
 -W:    http://www.mellanox.com/repository/solutions/tile-scm/
 -S:    Orphan
 -F:    arch/tile/
 -F:    drivers/char/tile-srom.c
 -F:    drivers/edac/tile_edac.c
 -F:    drivers/net/ethernet/tile/
 -F:    drivers/rtc/rtc-tile.c
 -F:    drivers/tty/hvc/hvc_tile.c
 -F:    drivers/tty/serial/tilegx.c
 -F:    drivers/usb/host/*-tilegx.c
 -F:    include/linux/usb/tilegx.h
 -
  TIMEKEEPING, CLOCKSOURCE CORE, NTP, ALARMTIMER
  M:    John Stultz <john.stultz@linaro.org>
  M:    Thomas Gleixner <tglx@linutronix.de>
 -R:    Stephen Boyd <sboyd@codeaurora.org>
 +R:    Stephen Boyd <sboyd@kernel.org>
  L:    linux-kernel@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
  S:    Supported
@@@ -14119,18 -13764,6 +14118,18 @@@ L: platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/topstar-laptop.c
  
 +TORTURE-TEST MODULES
 +M:    Davidlohr Bueso <dave@stgolabs.net>
 +M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
 +M:    Josh Triplett <josh@joshtriplett.org>
 +L:    linux-kernel@vger.kernel.org
 +S:    Supported
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
 +F:    Documentation/RCU/torture.txt
 +F:    kernel/torture.c
 +F:    kernel/rcu/rcutorture.c
 +F:    kernel/locking/locktorture.c
 +
  TOSHIBA ACPI EXTRAS DRIVER
  M:    Azael Avalos <coproscefalo@gmail.com>
  L:    platform-driver-x86@vger.kernel.org
@@@ -14173,10 -13806,9 +14172,10 @@@ F: drivers/platform/x86/toshiba-wmi.
  TPM DEVICE DRIVER
  M:    Peter Huewe <peterhuewe@gmx.de>
  M:    Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
 -R:    Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
 +R:    Jason Gunthorpe <jgg@ziepe.ca>
  L:    linux-integrity@vger.kernel.org
  Q:    https://patchwork.kernel.org/project/linux-integrity/list/
 +W:    https://kernsec.org/wiki/index.php/Linux_Kernel_Integrity
  T:    git git://git.infradead.org/users/jjs/linux-tpmdd.git
  S:    Maintained
  F:    drivers/char/tpm/
@@@ -14215,13 -13847,6 +14214,13 @@@ T: git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  K:    ^Subject:.*(?i)trivial
  
 +TEMPO SEMICONDUCTOR DRIVERS
 +M:    Steven Eckhoff <steven.eckhoff.opensource@gmail.com>
 +S:    Maintained
 +F:    sound/soc/codecs/tscs*.c
 +F:    sound/soc/codecs/tscs*.h
 +F:    Documentation/devicetree/bindings/sound/tscs*.txt
 +
  TTY LAYER
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  M:    Jiri Slaby <jslaby@suse.com>
@@@ -14358,7 -13983,7 +14357,7 @@@ F:   include/linux/uwb.
  F:    include/linux/uwb/
  
  UNICORE32 ARCHITECTURE:
 -M:    Guan Xuetao <gxt@mprc.pku.edu.cn>
 +M:    Guan Xuetao <gxt@pku.edu.cn>
  W:    http://mprc.pku.edu.cn/~guanxuetao/linux
  S:    Maintained
  T:    git git://github.com/gxt/linux.git
@@@ -14383,8 -14008,6 +14382,8 @@@ UNISYS S-PAR DRIVER
  M:    David Kershner <david.kershner@unisys.com>
  L:    sparmaintainer@unisys.com (Unisys internal)
  S:    Supported
 +F:    include/linux/visorbus.h
 +F:    drivers/visorbus/
  F:    drivers/staging/unisys/
  
  UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER
@@@ -14497,12 -14120,6 +14496,12 @@@ S: Maintaine
  F:    Documentation/hid/hiddev.txt
  F:    drivers/hid/usbhid/
  
 +USB INTEL XHCI ROLE MUX DRIVER
 +M:    Hans de Goede <hdegoede@redhat.com>
 +L:    linux-usb@vger.kernel.org
 +S:    Maintained
 +F:    drivers/usb/roles/intel-xhci-usb-role-switch.c
 +
  USB ISP116X DRIVER
  M:    Olav Kongas <ok@artecdesign.ee>
  L:    linux-usb@vger.kernel.org
@@@ -14633,12 -14250,6 +14632,12 @@@ F: drivers/usb
  F:    include/linux/usb.h
  F:    include/linux/usb/
  
 +USB TYPEC PI3USB30532 MUX DRIVER
 +M:    Hans de Goede <hdegoede@redhat.com>
 +L:    linux-usb@vger.kernel.org
 +S:    Maintained
 +F:    drivers/usb/typec/mux/pi3usb30532.c
 +
  USB TYPEC SUBSYSTEM
  M:    Heikki Krogerus <heikki.krogerus@linux.intel.com>
  L:    linux-usb@vger.kernel.org
@@@ -14760,7 -14371,7 +14759,7 @@@ VF610 NAND DRIVE
  M:    Stefan Agner <stefan@agner.ch>
  L:    linux-mtd@lists.infradead.org
  S:    Supported
 -F:    drivers/mtd/nand/vf610_nfc.c
 +F:    drivers/mtd/nand/raw/vf610_nfc.c
  
  VFAT/FAT/MSDOS FILESYSTEM
  M:    OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
@@@ -14943,15 -14554,6 +14942,15 @@@ S: Maintaine
  F:    drivers/virtio/virtio_input.c
  F:    include/uapi/linux/virtio_input.h
  
 +VIRTUAL BOX GUEST DEVICE DRIVER
 +M:    Hans de Goede <hdegoede@redhat.com>
 +M:    Arnd Bergmann <arnd@arndb.de>
 +M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 +S:    Maintained
 +F:    include/linux/vbox_utils.h
 +F:    include/uapi/linux/vbox*.h
 +F:    drivers/virt/vboxguest/
 +
  VIRTUAL SERIO DEVICE DRIVER
  M:    Stephen Chandler Paul <thatslyude@gmail.com>
  S:    Maintained
@@@ -15023,7 -14625,7 +15022,7 @@@ F:   drivers/input/mouse/vmmouse.
  F:    drivers/input/mouse/vmmouse.h
  
  VMWARE VMXNET3 ETHERNET DRIVER
 -M:    Shrikrishna Khare <skhare@vmware.com>
 +M:    Ronak Doshi <doshir@vmware.com>
  M:    "VMware, Inc." <pv-drivers@vmware.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
@@@ -15043,7 -14645,6 +15042,7 @@@ W:   http://www.slimlogic.co.uk/?p=4
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git
  S:    Supported
  F:    Documentation/devicetree/bindings/regulator/
 +F:    Documentation/power/regulator/
  F:    drivers/regulator/
  F:    include/dt-bindings/regulator/
  F:    include/linux/regulator/
@@@ -15116,8 -14717,8 +15115,8 @@@ S:   Maintaine
  F:    drivers/input/tablet/wacom_serial4.c
  
  WATCHDOG DEVICE DRIVERS
 -M:    Wim Van Sebroeck <wim@iguana.be>
 -R:    Guenter Roeck <linux@roeck-us.net>
 +M:    Wim Van Sebroeck <wim@linux-watchdog.org>
 +M:    Guenter Roeck <linux@roeck-us.net>
  L:    linux-watchdog@vger.kernel.org
  W:    http://www.linux-watchdog.org/
  T:    git git://www.linux-watchdog.org/linux-watchdog.git
@@@ -15141,9 -14742,9 +15140,9 @@@ S:   Maintaine
  F:    drivers/hid/hid-wiimote*
  
  WILOCITY WIL6210 WIRELESS DRIVER
 -M:    Maya Erez <qca_merez@qca.qualcomm.com>
 +M:    Maya Erez <merez@codeaurora.org>
  L:    linux-wireless@vger.kernel.org
 -L:    wil6210@qca.qualcomm.com
 +L:    wil6210@qti.qualcomm.com
  S:    Supported
  W:    http://wireless.kernel.org/en/users/Drivers/wil6210
  F:    drivers/net/wireless/ath/wil6210/
@@@ -15237,12 -14838,6 +15236,12 @@@ F: include/linux/workqueue.
  F:    kernel/workqueue.c
  F:    Documentation/core-api/workqueue.rst
  
 +X-POWERS AXP288 PMIC DRIVERS
 +M:    Hans de Goede <hdegoede@redhat.com>
 +S:    Maintained
 +N:    axp288
 +F:    drivers/acpi/pmic/intel_pmic_xpower.c
 +
  X-POWERS MULTIFUNCTION PMIC DEVICE DRIVERS
  M:    Chen-Yu Tsai <wens@csie.org>
  L:    linux-kernel@vger.kernel.org
@@@ -15284,7 -14879,7 +15283,7 @@@ X86 PLATFORM DRIVER
  M:    Darren Hart <dvhart@infradead.org>
  M:    Andy Shevchenko <andy@infradead.org>
  L:    platform-driver-x86@vger.kernel.org
 -T:    git git://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git
 +T:    git git://git.infradead.org/linux-platform-drivers-x86.git
  S:    Maintained
  F:    drivers/platform/x86/
  F:    drivers/platform/olpc/
@@@ -15370,7 -14965,6 +15369,7 @@@ F:   include/xen/interface/io/vscsiif.
  XEN SWIOTLB SUBSYSTEM
  M:    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  L:    xen-devel@lists.xenproject.org (moderated for non-subscribers)
 +L:    iommu@lists.linux-foundation.org
  S:    Supported
  F:    arch/x86/xen/*swiotlb*
  F:    drivers/xen/*swiotlb*
diff --combined fs/namei.c
@@@ -39,7 -39,6 +39,7 @@@
  #include <linux/bitops.h>
  #include <linux/init_task.h>
  #include <linux/uaccess.h>
 +#include <linux/build_bug.h>
  
  #include "internal.h"
  #include "mount.h"
@@@ -131,7 -130,6 +131,7 @@@ getname_flags(const char __user *filena
        struct filename *result;
        char *kname;
        int len;
 +      BUILD_BUG_ON(offsetof(struct filename, iname) % sizeof(long) != 0);
  
        result = audit_reusename(filename);
        if (result)
@@@ -392,6 -390,50 +392,6 @@@ static inline int do_inode_permission(s
        return generic_permission(inode, mask);
  }
  
 -/**
 - * __inode_permission - Check for access rights to a given inode
 - * @inode: Inode to check permission on
 - * @mask: Right to check for (%MAY_READ, %MAY_WRITE, %MAY_EXEC)
 - *
 - * Check for read/write/execute permissions on an inode.
 - *
 - * When checking for MAY_APPEND, MAY_WRITE must also be set in @mask.
 - *
 - * This does not check for a read-only file system.  You probably want
 - * inode_permission().
 - */
 -int __inode_permission(struct inode *inode, int mask)
 -{
 -      int retval;
 -
 -      if (unlikely(mask & MAY_WRITE)) {
 -              /*
 -               * Nobody gets write access to an immutable file.
 -               */
 -              if (IS_IMMUTABLE(inode))
 -                      return -EPERM;
 -
 -              /*
 -               * Updating mtime will likely cause i_uid and i_gid to be
 -               * written back improperly if their true value is unknown
 -               * to the vfs.
 -               */
 -              if (HAS_UNMAPPED_ID(inode))
 -                      return -EACCES;
 -      }
 -
 -      retval = do_inode_permission(inode, mask);
 -      if (retval)
 -              return retval;
 -
 -      retval = devcgroup_inode_permission(inode, mask);
 -      if (retval)
 -              return retval;
 -
 -      return security_inode_permission(inode, mask);
 -}
 -EXPORT_SYMBOL(__inode_permission);
 -
  /**
   * sb_permission - Check superblock-level permissions
   * @sb: Superblock of inode to check permission on
@@@ -430,32 -472,7 +430,32 @@@ int inode_permission(struct inode *inod
        retval = sb_permission(inode->i_sb, inode, mask);
        if (retval)
                return retval;
 -      return __inode_permission(inode, mask);
 +
 +      if (unlikely(mask & MAY_WRITE)) {
 +              /*
 +               * Nobody gets write access to an immutable file.
 +               */
 +              if (IS_IMMUTABLE(inode))
 +                      return -EPERM;
 +
 +              /*
 +               * Updating mtime will likely cause i_uid and i_gid to be
 +               * written back improperly if their true value is unknown
 +               * to the vfs.
 +               */
 +              if (HAS_UNMAPPED_ID(inode))
 +                      return -EACCES;
 +      }
 +
 +      retval = do_inode_permission(inode, mask);
 +      if (retval)
 +              return retval;
 +
 +      retval = devcgroup_inode_permission(inode, mask);
 +      if (retval)
 +              return retval;
 +
 +      return security_inode_permission(inode, mask);
  }
  EXPORT_SYMBOL(inode_permission);
  
@@@ -561,10 -578,9 +561,10 @@@ static int __nd_alloc_stack(struct name
  static bool path_connected(const struct path *path)
  {
        struct vfsmount *mnt = path->mnt;
 +      struct super_block *sb = mnt->mnt_sb;
  
 -      /* Only bind mounts can have disconnected paths */
 -      if (mnt->mnt_root == mnt->mnt_sb->s_root)
 +      /* Bind mounts and multi-root filesystems can have disconnected paths */
 +      if (!(sb->s_iflags & SB_I_MULTIROOT) && (mnt->mnt_root == sb->s_root))
                return true;
  
        return is_subdir(path->dentry, mnt->mnt_root);
@@@ -929,7 -945,8 +929,8 @@@ static inline int may_follow_link(struc
        if (nd->flags & LOOKUP_RCU)
                return -ECHILD;
  
-       audit_log_link_denied("follow_link", &nd->stack[0].link);
+       audit_inode(nd->name, nd->stack[0].link.dentry, 0);
+       audit_log_link_denied("follow_link");
        return -EACCES;
  }
  
@@@ -995,7 -1012,7 +996,7 @@@ static int may_linkat(struct path *link
        if (safe_hardlink_source(inode) || inode_owner_or_capable(inode))
                return 0;
  
-       audit_log_link_denied("linkat", link);
+       audit_log_link_denied("linkat");
        return -EPERM;
  }
  
@@@ -1117,6 -1134,9 +1118,6 @@@ static int follow_automount(struct pat
            path->dentry->d_inode)
                return -EISDIR;
  
 -      if (path->dentry->d_sb->s_user_ns != &init_user_ns)
 -              return -EACCES;
 -
        nd->total_link_count++;
        if (nd->total_link_count >= 40)
                return -ELOOP;
@@@ -1476,36 -1496,43 +1477,36 @@@ static struct dentry *lookup_dcache(con
  }
  
  /*
 - * Call i_op->lookup on the dentry.  The dentry must be negative and
 - * unhashed.
 - *
 - * dir->d_inode->i_mutex must be held
 + * Parent directory has inode locked exclusive.  This is one
 + * and only case when ->lookup() gets called on non in-lookup
 + * dentries - as the matter of fact, this only gets called
 + * when directory is guaranteed to have no in-lookup children
 + * at all.
   */
 -static struct dentry *lookup_real(struct inode *dir, struct dentry *dentry,
 -                                unsigned int flags)
 -{
 -      struct dentry *old;
 -
 -      /* Don't create child dentry for a dead directory. */
 -      if (unlikely(IS_DEADDIR(dir))) {
 -              dput(dentry);
 -              return ERR_PTR(-ENOENT);
 -      }
 -
 -      old = dir->i_op->lookup(dir, dentry, flags);
 -      if (unlikely(old)) {
 -              dput(dentry);
 -              dentry = old;
 -      }
 -      return dentry;
 -}
 -
  static struct dentry *__lookup_hash(const struct qstr *name,
                struct dentry *base, unsigned int flags)
  {
        struct dentry *dentry = lookup_dcache(name, base, flags);
 +      struct dentry *old;
 +      struct inode *dir = base->d_inode;
  
        if (dentry)
                return dentry;
  
 +      /* Don't create child dentry for a dead directory. */
 +      if (unlikely(IS_DEADDIR(dir)))
 +              return ERR_PTR(-ENOENT);
 +
        dentry = d_alloc(base, name);
        if (unlikely(!dentry))
                return ERR_PTR(-ENOMEM);
  
 -      return lookup_real(base->d_inode, dentry, flags);
 +      old = dir->i_op->lookup(dir, dentry, flags);
 +      if (unlikely(old)) {
 +              dput(dentry);
 +              dentry = old;
 +      }
 +      return dentry;
  }
  
  static int lookup_fast(struct nameidata *nd,
@@@ -2872,27 -2899,6 +2873,27 @@@ int vfs_create(struct inode *dir, struc
  }
  EXPORT_SYMBOL(vfs_create);
  
 +int vfs_mkobj(struct dentry *dentry, umode_t mode,
 +              int (*f)(struct dentry *, umode_t, void *),
 +              void *arg)
 +{
 +      struct inode *dir = dentry->d_parent->d_inode;
 +      int error = may_create(dir, dentry);
 +      if (error)
 +              return error;
 +
 +      mode &= S_IALLUGO;
 +      mode |= S_IFREG;
 +      error = security_inode_create(dir, dentry, mode);
 +      if (error)
 +              return error;
 +      error = f(dentry, mode, arg);
 +      if (!error)
 +              fsnotify_create(dir, dentry);
 +      return error;
 +}
 +EXPORT_SYMBOL(vfs_mkobj);
 +
  bool may_open_dev(const struct path *path)
  {
        return !(path->mnt->mnt_flags & MNT_NODEV) &&
@@@ -3376,7 -3382,9 +3377,7 @@@ finish_open_created
                goto out;
        *opened |= FILE_OPENED;
  opened:
 -      error = open_check_o_direct(file);
 -      if (!error)
 -              error = ima_file_check(file, op->acc_mode, *opened);
 +      error = ima_file_check(file, op->acc_mode, *opened);
        if (!error && will_truncate)
                error = handle_truncate(file);
  out:
@@@ -3456,6 -3464,9 +3457,6 @@@ static int do_tmpfile(struct nameidata 
        error = finish_open(file, child, NULL, opened);
        if (error)
                goto out2;
 -      error = open_check_o_direct(file);
 -      if (error)
 -              fput(file);
  out2:
        mnt_drop_write(path.mnt);
  out:
@@@ -3719,8 -3730,8 +3720,8 @@@ static int may_mknod(umode_t mode
        }
  }
  
 -SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, umode_t, mode,
 -              unsigned, dev)
 +long do_mknodat(int dfd, const char __user *filename, umode_t mode,
 +              unsigned int dev)
  {
        struct dentry *dentry;
        struct path path;
        return error;
  }
  
 +SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, umode_t, mode,
 +              unsigned int, dev)
 +{
 +      return do_mknodat(dfd, filename, mode, dev);
 +}
 +
  SYSCALL_DEFINE3(mknod, const char __user *, filename, umode_t, mode, unsigned, dev)
  {
 -      return sys_mknodat(AT_FDCWD, filename, mode, dev);
 +      return do_mknodat(AT_FDCWD, filename, mode, dev);
  }
  
  int vfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
  }
  EXPORT_SYMBOL(vfs_mkdir);
  
 -SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, umode_t, mode)
 +long do_mkdirat(int dfd, const char __user *pathname, umode_t mode)
  {
        struct dentry *dentry;
        struct path path;
@@@ -3825,14 -3830,9 +3826,14 @@@ retry
        return error;
  }
  
 +SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, umode_t, mode)
 +{
 +      return do_mkdirat(dfd, pathname, mode);
 +}
 +
  SYSCALL_DEFINE2(mkdir, const char __user *, pathname, umode_t, mode)
  {
 -      return sys_mkdirat(AT_FDCWD, pathname, mode);
 +      return do_mkdirat(AT_FDCWD, pathname, mode);
  }
  
  int vfs_rmdir(struct inode *dir, struct dentry *dentry)
@@@ -3874,7 -3874,7 +3875,7 @@@ out
  }
  EXPORT_SYMBOL(vfs_rmdir);
  
 -static long do_rmdir(int dfd, const char __user *pathname)
 +long do_rmdir(int dfd, const char __user *pathname)
  {
        int error = 0;
        struct filename *name;
@@@ -4110,8 -4110,8 +4111,8 @@@ int vfs_symlink(struct inode *dir, stru
  }
  EXPORT_SYMBOL(vfs_symlink);
  
 -SYSCALL_DEFINE3(symlinkat, const char __user *, oldname,
 -              int, newdfd, const char __user *, newname)
 +long do_symlinkat(const char __user *oldname, int newdfd,
 +                const char __user *newname)
  {
        int error;
        struct filename *from;
@@@ -4141,15 -4141,9 +4142,15 @@@ out_putname
        return error;
  }
  
 +SYSCALL_DEFINE3(symlinkat, const char __user *, oldname,
 +              int, newdfd, const char __user *, newname)
 +{
 +      return do_symlinkat(oldname, newdfd, newname);
 +}
 +
  SYSCALL_DEFINE2(symlink, const char __user *, oldname, const char __user *, newname)
  {
 -      return sys_symlinkat(oldname, AT_FDCWD, newname);
 +      return do_symlinkat(oldname, AT_FDCWD, newname);
  }
  
  /**
@@@ -4241,8 -4235,8 +4242,8 @@@ EXPORT_SYMBOL(vfs_link)
   * with linux 2.0, and to avoid hard-linking to directories
   * and other special files.  --ADM
   */
 -SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
 -              int, newdfd, const char __user *, newname, int, flags)
 +int do_linkat(int olddfd, const char __user *oldname, int newdfd,
 +            const char __user *newname, int flags)
  {
        struct dentry *new_dentry;
        struct path old_path, new_path;
        return error;
  }
  
 +SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
 +              int, newdfd, const char __user *, newname, int, flags)
 +{
 +      return do_linkat(olddfd, oldname, newdfd, newname, flags);
 +}
 +
  SYSCALL_DEFINE2(link, const char __user *, oldname, const char __user *, newname)
  {
 -      return sys_linkat(AT_FDCWD, oldname, AT_FDCWD, newname, 0);
 +      return do_linkat(AT_FDCWD, oldname, AT_FDCWD, newname, 0);
  }
  
  /**
@@@ -4492,8 -4480,8 +4493,8 @@@ out
  }
  EXPORT_SYMBOL(vfs_rename);
  
 -SYSCALL_DEFINE5(renameat2, int, olddfd, const char __user *, oldname,
 -              int, newdfd, const char __user *, newname, unsigned int, flags)
 +static int do_renameat2(int olddfd, const char __user *oldname, int newdfd,
 +                      const char __user *newname, unsigned int flags)
  {
        struct dentry *old_dentry, *new_dentry;
        struct dentry *trap;
@@@ -4635,21 -4623,15 +4636,21 @@@ exit
        return error;
  }
  
 +SYSCALL_DEFINE5(renameat2, int, olddfd, const char __user *, oldname,
 +              int, newdfd, const char __user *, newname, unsigned int, flags)
 +{
 +      return do_renameat2(olddfd, oldname, newdfd, newname, flags);
 +}
 +
  SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
                int, newdfd, const char __user *, newname)
  {
 -      return sys_renameat2(olddfd, oldname, newdfd, newname, 0);
 +      return do_renameat2(olddfd, oldname, newdfd, newname, 0);
  }
  
  SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newname)
  {
 -      return sys_renameat2(AT_FDCWD, oldname, AT_FDCWD, newname, 0);
 +      return do_renameat2(AT_FDCWD, oldname, AT_FDCWD, newname, 0);
  }
  
  int vfs_whiteout(struct inode *dir, struct dentry *dentry)
diff --combined kernel/audit.c
@@@ -38,7 -38,8 +38,8 @@@
   *      6) Support low-overhead kernel-based filtering to minimize the
   *         information that must be passed to user-space.
   *
-  * Example user-space utilities: http://people.redhat.com/sgrubb/audit/
+  * Audit userspace, documentation, tests, and bug/issue trackers:
+  *    https://github.com/linux-audit
   */
  
  #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
@@@ -180,9 -181,21 +181,21 @@@ static char *audit_feature_names[2] = 
        "loginuid_immutable",
  };
  
- /* Serialize requests from userspace. */
- DEFINE_MUTEX(audit_cmd_mutex);
+ /**
+  * struct audit_ctl_mutex - serialize requests from userspace
+  * @lock: the mutex used for locking
+  * @owner: the task which owns the lock
+  *
+  * Description:
+  * This is the lock struct used to ensure we only process userspace requests
+  * in an orderly fashion.  We can't simply use a mutex/lock here because we
+  * need to track lock ownership so we don't end up blocking the lock owner in
+  * audit_log_start() or similar.
+  */
+ static struct audit_ctl_mutex {
+       struct mutex lock;
+       void *owner;
+ } audit_cmd_mutex;
  
  /* AUDIT_BUFSIZ is the size of the temporary buffer used for formatting
   * audit records.  Since printk uses a 1024 byte buffer, this buffer
@@@ -226,6 -239,36 +239,36 @@@ int auditd_test_task(struct task_struc
        return rc;
  }
  
+ /**
+  * audit_ctl_lock - Take the audit control lock
+  */
+ void audit_ctl_lock(void)
+ {
+       mutex_lock(&audit_cmd_mutex.lock);
+       audit_cmd_mutex.owner = current;
+ }
+ /**
+  * audit_ctl_unlock - Drop the audit control lock
+  */
+ void audit_ctl_unlock(void)
+ {
+       audit_cmd_mutex.owner = NULL;
+       mutex_unlock(&audit_cmd_mutex.lock);
+ }
+ /**
+  * audit_ctl_owner_current - Test to see if the current task owns the lock
+  *
+  * Description:
+  * Return true if the current task owns the audit control lock, false if it
+  * doesn't own the lock.
+  */
+ static bool audit_ctl_owner_current(void)
+ {
+       return (current == audit_cmd_mutex.owner);
+ }
  /**
   * auditd_pid_vnr - Return the auditd PID relative to the namespace
   *
@@@ -443,15 -486,15 +486,15 @@@ static int audit_set_failure(u32 state
   * Drop any references inside the auditd connection tracking struct and free
   * the memory.
   */
 - static void auditd_conn_free(struct rcu_head *rcu)
 - {
 +static void auditd_conn_free(struct rcu_head *rcu)
 +{
        struct auditd_connection *ac;
  
        ac = container_of(rcu, struct auditd_connection, rcu);
        put_pid(ac->pid);
        put_net(ac->net);
        kfree(ac);
 - }
 +}
  
  /**
   * auditd_set - Set/Reset the auditd connection state
@@@ -860,8 -903,8 +903,8 @@@ int audit_send_list(void *_dest
        struct sock *sk = audit_get_sk(dest->net);
  
        /* wait for parent to finish and send an ACK */
-       mutex_lock(&audit_cmd_mutex);
-       mutex_unlock(&audit_cmd_mutex);
+       audit_ctl_lock();
+       audit_ctl_unlock();
  
        while ((skb = __skb_dequeue(&dest->q)) != NULL)
                netlink_unicast(sk, skb, dest->portid, 0);
@@@ -902,8 -945,8 +945,8 @@@ static int audit_send_reply_thread(voi
        struct audit_reply *reply = (struct audit_reply *)arg;
        struct sock *sk = audit_get_sk(reply->net);
  
-       mutex_lock(&audit_cmd_mutex);
-       mutex_unlock(&audit_cmd_mutex);
+       audit_ctl_lock();
+       audit_ctl_unlock();
  
        /* Ignore failure. It'll only happen if the sender goes away,
           because our timeout is set to infinite. */
@@@ -1058,6 -1101,8 +1101,8 @@@ static void audit_log_feature_change(in
                return;
  
        ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_FEATURE_CHANGE);
+       if (!ab)
+               return;
        audit_log_task_info(ab, current);
        audit_log_format(ab, " feature=%s old=%u new=%u old_lock=%u new_lock=%u res=%d",
                         audit_feature_names[which], !!old_feature, !!new_feature,
@@@ -1466,7 -1511,7 +1511,7 @@@ static void audit_receive(struct sk_buf
        nlh = nlmsg_hdr(skb);
        len = skb->len;
  
-       mutex_lock(&audit_cmd_mutex);
+       audit_ctl_lock();
        while (nlmsg_ok(nlh, len)) {
                err = audit_receive_msg(skb, nlh);
                /* if err or if this message says it wants a response */
  
                nlh = nlmsg_next(nlh, &len);
        }
-       mutex_unlock(&audit_cmd_mutex);
+       audit_ctl_unlock();
  }
  
  /* Run custom bind function on netlink socket group connect or bind requests. */
@@@ -1547,6 -1592,9 +1592,9 @@@ static int __init audit_init(void
        for (i = 0; i < AUDIT_INODE_BUCKETS; i++)
                INIT_LIST_HEAD(&audit_inode_hash[i]);
  
+       mutex_init(&audit_cmd_mutex.lock);
+       audit_cmd_mutex.owner = NULL;
        pr_info("initializing netlink subsys (%s)\n",
                audit_default ? "enabled" : "disabled");
        register_pernet_subsys(&audit_net_ops);
  }
  postcore_initcall(audit_init);
  
- /* Process kernel command-line parameter at boot time.  audit=0 or audit=1. */
+ /*
+  * Process kernel command-line parameter at boot time.
+  * audit={0|off} or audit={1|on}.
+  */
  static int __init audit_enable(char *str)
  {
-       long val;
-       if (kstrtol(str, 0, &val))
-               panic("audit: invalid 'audit' parameter value (%s)\n", str);
-       audit_default = (val ? AUDIT_ON : AUDIT_OFF);
+       if (!strcasecmp(str, "off") || !strcmp(str, "0"))
+               audit_default = AUDIT_OFF;
+       else if (!strcasecmp(str, "on") || !strcmp(str, "1"))
+               audit_default = AUDIT_ON;
+       else {
+               pr_err("audit: invalid 'audit' parameter value (%s)\n", str);
+               audit_default = AUDIT_ON;
+       }
  
        if (audit_default == AUDIT_OFF)
                audit_initialized = AUDIT_DISABLED;
        if (audit_set_enabled(audit_default))
-               panic("audit: error setting audit state (%d)\n", audit_default);
+               pr_err("audit: error setting audit state (%d)\n",
+                      audit_default);
  
        pr_info("%s\n", audit_default ?
                "enabled (after initialization)" : "disabled (until reboot)");
@@@ -1710,8 -1765,7 +1765,7 @@@ struct audit_buffer *audit_log_start(st
         *    using a PID anchored in the caller's namespace
         * 2. generator holding the audit_cmd_mutex - we don't want to block
         *    while holding the mutex */
-       if (!(auditd_test_task(current) ||
-             (current == __mutex_owner(&audit_cmd_mutex)))) {
+       if (!(auditd_test_task(current) || audit_ctl_owner_current())) {
                long stime = audit_backlog_wait_time;
  
                while (audit_backlog_limit &&
@@@ -2254,33 -2308,23 +2308,23 @@@ EXPORT_SYMBOL(audit_log_task_info)
  /**
   * audit_log_link_denied - report a link restriction denial
   * @operation: specific link operation
-  * @link: the path that triggered the restriction
   */
- void audit_log_link_denied(const char *operation, const struct path *link)
+ void audit_log_link_denied(const char *operation)
  {
        struct audit_buffer *ab;
-       struct audit_names *name;
  
-       name = kzalloc(sizeof(*name), GFP_NOFS);
-       if (!name)
+       if (!audit_enabled || audit_dummy_context())
                return;
  
        /* Generate AUDIT_ANOM_LINK with subject, operation, outcome. */
        ab = audit_log_start(current->audit_context, GFP_KERNEL,
                             AUDIT_ANOM_LINK);
        if (!ab)
-               goto out;
+               return;
        audit_log_format(ab, "op=%s", operation);
        audit_log_task_info(ab, current);
        audit_log_format(ab, " res=0");
        audit_log_end(ab);
-       /* Generate AUDIT_PATH record with object. */
-       name->type = AUDIT_TYPE_NORMAL;
-       audit_copy_inode(name, link->dentry, d_backing_inode(link->dentry));
-       audit_log_name(current->audit_context, name, link, 0, NULL);
- out:
-       kfree(name);
  }
  
  /**