]> Git Repo - J-linux.git/commitdiff
Merge tag 'tty-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
authorLinus Torvalds <[email protected]>
Mon, 5 Jul 2021 21:08:24 +0000 (14:08 -0700)
committerLinus Torvalds <[email protected]>
Mon, 5 Jul 2021 21:08:24 +0000 (14:08 -0700)
Pull tty / serial updates from Greg KH:
 "Here is the big set of tty and serial driver patches for 5.14-rc1.

  A bit more than normal, but nothing major, lots of cleanups.
  Highlights are:

   - lots of tty api cleanups and mxser driver cleanups from Jiri

   - build warning fixes

   - various serial driver updates

   - coding style cleanups

   - various tty driver minor fixes and updates

   - removal of broken and disable r3964 line discipline (finally!)

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

* tag 'tty-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (227 commits)
  serial: mvebu-uart: remove unused member nb from struct mvebu_uart
  arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART
  dt-bindings: mvebu-uart: fix documentation
  serial: mvebu-uart: correctly calculate minimal possible baudrate
  serial: mvebu-uart: do not allow changing baudrate when uartclk is not available
  serial: mvebu-uart: fix calculation of clock divisor
  tty: make linux/tty_flip.h self-contained
  serial: Prefer unsigned int to bare use of unsigned
  serial: 8250: 8250_omap: Fix possible interrupt storm on K3 SoCs
  serial: qcom_geni_serial: use DT aliases according to DT bindings
  Revert "tty: serial: Add UART driver for Cortina-Access platform"
  tty: serial: Add UART driver for Cortina-Access platform
  MAINTAINERS: add me back as mxser maintainer
  mxser: Documentation, fix typos
  mxser: Documentation, make the docs up-to-date
  mxser: Documentation, remove traces of callout device
  mxser: introduce mxser_16550A_or_MUST helper
  mxser: rename flags to old_speed in mxser_set_serial_info
  mxser: use port variable in mxser_set_serial_info
  mxser: access info->MCR under info->slock
  ...

18 files changed:
1  2 
Documentation/admin-guide/kernel-parameters.txt
Documentation/devicetree/bindings/serial/samsung_uart.yaml
MAINTAINERS
drivers/char/Kconfig
drivers/ipack/devices/ipoctal.c
drivers/net/caif/caif_serial.c
drivers/net/hamradio/6pack.c
drivers/net/hamradio/mkiss.c
drivers/net/usb/hso.c
drivers/s390/char/con3215.c
drivers/s390/char/sclp_rw.c
drivers/s390/char/sclp_rw.h
drivers/s390/char/sclp_tty.c
drivers/s390/char/sclp_vt220.c
drivers/staging/fwserial/fwserial.c
drivers/tty/hvc/hvc_iucv.c
drivers/tty/vcc.c
net/bluetooth/rfcomm/tty.c

index b4ee111987620c73c2fbd769a81dd6039168d7b4,17bdf5df404c033c8679096ea87eec95c16897cb..bdb22006f713fd3ca8f3566376191f3ae200713f
                        the GPE dispatcher.
                        This facility can be used to prevent such uncontrolled
                        GPE floodings.
 -                      Format: <byte>
 +                      Format: <byte> or <bitmap-list>
  
        acpi_no_auto_serialize  [HW,ACPI]
                        Disable auto-serialization of AML methods
                                          allowed anymore to lift isolation
                                          requirements as needed. This option
                                          does not override iommu=pt
 +                      force_enable - Force enable the IOMMU on platforms known
 +                                     to be buggy with IOMMU enabled. Use this
 +                                     option with care.
  
        amd_iommu_dump= [HW,X86-64]
                        Enable AMD IOMMU driver option to dump the ACPI table
        ccw_timeout_log [S390]
                        See Documentation/s390/common_io.rst for details.
  
 -      cgroup_disable= [KNL] Disable a particular controller
 -                      Format: {name of the controller(s) to disable}
 +      cgroup_disable= [KNL] Disable a particular controller or optional feature
 +                      Format: {name of the controller(s) or feature(s) to disable}
                        The effects of cgroup_disable=foo are:
                        - foo isn't auto-mounted if you mount all cgroups in
                          a single hierarchy
                        - foo isn't visible as an individually mountable
                          subsystem
 +                      - if foo is an optional feature then the feature is
 +                        disabled and corresponding cgroup files are not
 +                        created
                        {Currently only "memory" controller deal with this and
                        cut the overhead, others just disable the usage. So
                        only cgroup_disable=memory is actually worthy}
 +                      Specifying "pressure" disables per-cgroup pressure
 +                      stall information accounting feature
  
        cgroup_no_v1=   [KNL] Disable cgroup controllers and named hierarchies in v1
                        Format: { { controller | "all" | "named" }
                        loops can be debugged more effectively on production
                        systems.
  
 +      clocksource.max_cswd_read_retries= [KNL]
 +                      Number of clocksource_watchdog() retries due to
 +                      external delays before the clock will be marked
 +                      unstable.  Defaults to three retries, that is,
 +                      four attempts to read the clock under test.
 +
 +      clocksource.verify_n_cpus= [KNL]
 +                      Limit the number of CPUs checked for clocksources
 +                      marked with CLOCK_SOURCE_VERIFY_PERCPU that
 +                      are marked unstable due to excessive skew.
 +                      A negative value says to check all CPUs, while
 +                      zero says not to check any.  Values larger than
 +                      nr_cpu_ids are silently truncated to nr_cpu_ids.
 +                      The actual CPUs are chosen randomly, with
 +                      no replacement if the same CPU is chosen twice.
 +
 +      clocksource-wdtest.holdoff= [KNL]
 +                      Set the time in seconds that the clocksource
 +                      watchdog test waits before commencing its tests.
 +                      Defaults to zero when built as a module and to
 +                      10 seconds when built into the kernel.
 +
        clearcpuid=BITNUM[,BITNUM...] [X86]
                        Disable CPUID feature X for the kernel. See
                        arch/x86/include/asm/cpufeatures.h for the valid bit
                        the driver will use only 32-bit accessors to read/write
                        the device registers.
  
+               liteuart,<addr>
+                       Start an early console on a litex serial port at the
+                       specified address. The serial port must already be
+                       setup and configured. Options are not yet supported.
                meson,<addr>
                        Start an early, polled-mode console on a meson serial
                        port at the specified address. The serial port must
                        Documentation/admin-guide/mm/hugetlbpage.rst.
                        Format: size[KMG]
  
 +      hugetlb_free_vmemmap=
 +                      [KNL] Reguires CONFIG_HUGETLB_PAGE_FREE_VMEMMAP
 +                      enabled.
 +                      Allows heavy hugetlb users to free up some more
 +                      memory (6 * PAGE_SIZE for each 2MB hugetlb page).
 +                      Format: { on | off (default) }
 +
 +                      on:  enable the feature
 +                      off: disable the feature
 +
 +                      Built with CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON=y,
 +                      the default is on.
 +
 +                      This is not compatible with memory_hotplug.memmap_on_memory.
 +                      If both parameters are enabled, hugetlb_free_vmemmap takes
 +                      precedence over memory_hotplug.memmap_on_memory.
 +
        hung_task_panic=
                        [KNL] Should the hung task detector generate panics.
                        Format: 0 | 1
                          forcing Dual Address Cycle for PCI cards supporting
                          greater than 32-bit addressing.
  
 -      iommu.strict=   [ARM64] Configure TLB invalidation behaviour
 +      iommu.strict=   [ARM64, X86] Configure TLB invalidation behaviour
                        Format: { "0" | "1" }
                        0 - Lazy mode.
                          Request that DMA unmap operations use deferred
                        1 - Strict mode (default).
                          DMA unmap operations invalidate IOMMU hardware TLBs
                          synchronously.
 +                      Note: on x86, the default behaviour depends on the
 +                      equivalent driver-specific parameters, but a strict
 +                      mode explicitly specified by either method takes
 +                      precedence.
  
        iommu.passthrough=
                        [ARM64, X86] Configure DMA to bypass the IOMMU by default.
                        Note that even when enabled, there are a few cases where
                        the feature is not effective.
  
 +                      This is not compatible with hugetlb_free_vmemmap. If
 +                      both parameters are enabled, hugetlb_free_vmemmap takes
 +                      precedence over memory_hotplug.memmap_on_memory.
 +
        memtest=        [KNL,X86,ARM,PPC,RISCV] Enable memtest
                        Format: <integer>
                        default : 0 <disable>
  
        noclflush       [BUGS=X86] Don't use the CLFLUSH instruction
  
 -      nodelayacct     [KNL] Disable per-task delay accounting
 +      delayacct       [KNL] Enable per-task delay accounting
  
        nodsp           [SH] Disable hardware DSP at boot time.
  
  
        nr_uarts=       [SERIAL] maximum number of UARTs to be registered.
  
 +      numa=off        [KNL, ARM64, PPC, RISCV, SPARC, X86] Disable NUMA, Only
 +                      set up a single NUMA node spanning all memory.
 +
        numa_balancing= [KNL,ARM64,PPC,RISCV,S390,X86] Enable or disable automatic
                        NUMA balancing.
                        Allowed values are enable and disable
                        off: turn off poisoning (default)
                        on: turn on poisoning
  
 +      page_reporting.page_reporting_order=
 +                      [KNL] Minimal page reporting order
 +                      Format: <integer>
 +                      Adjust the minimal page reporting order. The page
 +                      reporting is disabled when it exceeds (MAX_ORDER-1).
 +
        panic=          [KNL] Kernel behaviour on panic: delay <timeout>
                        timeout > 0: seconds before rebooting
                        timeout = 0: wait forever
                        whole algorithm to behave better in low memory
                        condition.
  
 +      rcutree.rcu_delay_page_cache_fill_msec= [KNL]
 +                      Set the page-cache refill delay (in milliseconds)
 +                      in response to low-memory conditions.  The range
 +                      of permitted values is in the range 0:100000.
 +
        rcutree.jiffies_till_first_fqs= [KNL]
                        Set delay from grace-period initialization to
                        first attempt to force quiescent states.
                        Reserves a hole at the top of the kernel virtual
                        address space.
  
 -      reservelow=     [X86]
 -                      Format: nn[K]
 -                      Set the amount of memory to reserve for BIOS at
 -                      the bottom of the address space.
 -
        reset_devices   [KNL] Force drivers to reset the underlying device
                        during initialization.
  
                                  exception. Default behavior is by #AC if
                                  both features are enabled in hardware.
  
 +                      ratelimit:N -
 +                                Set system wide rate limit to N bus locks
 +                                per second for bus lock detection.
 +                                0 < N <= 1000.
 +
 +                                N/A for split lock detection.
 +
 +
                        If an #AC exception is hit in the kernel or in
                        firmware (i.e. not while executing in user mode)
                        the kernel will oops in either "warn" or "fatal"
                        Note, echoing 1 into this file without the
                        tracepoint_printk kernel cmdline option has no effect.
  
 +                      The tp_printk_stop_on_boot (see below) can also be used
 +                      to stop the printing of events to console at
 +                      late_initcall_sync.
 +
                        ** CAUTION **
  
                        Having tracepoints sent to printk() and activating high
                        frequency tracepoints such as irq or sched, can cause
                        the system to live lock.
  
 +      tp_printk_stop_on_boot[FTRACE]
 +                      When tp_printk (above) is set, it can cause a lot of noise
 +                      on the console. It may be useful to only include the
 +                      printing of events during boot up, as user space may
 +                      make the system inoperable.
 +
 +                      This command line option will stop the printing of events
 +                      to console at the late_initcall_sync() time frame.
 +
        traceoff_on_warning
                        [FTRACE] enable this option to disable tracing when a
                        warning is hit. This turns off "tracing_on". Tracing can
index 3ec3822bd1145793d25e840747c967a650c748dc,0c24e7b1f15ec3264891fef5bec4e275d20ca33c..f064e5b76cf1cf6fe5dcc44b24e27cbccfdefdeb
@@@ -44,6 -44,7 +44,6 @@@ properties
    clock-names:
      description: N = 0 is allowed for SoCs without internal baud clock mux.
      minItems: 2
 -    maxItems: 5
      items:
        - const: uart
        - pattern: '^clk_uart_baud[0-3]$'
@@@ -81,7 -82,7 +81,7 @@@ required
  unevaluatedProperties: false
  
  allOf:
-   - $ref: /schemas/serial.yaml#
+   - $ref: serial.yaml#
  
    - if:
        properties:
diff --combined MAINTAINERS
index f2bfabc9bc64dda07173075f49b0d0b492d146ac,25d7d864cfbd1cbfec7989ae9eaaa76226ee6325..3298f4592ce79d92ef8d078d8a828e64e254a305
@@@ -299,6 -299,7 +299,6 @@@ M: William Breathitt Gray <vilhelm.gray
  M:    Syed Nayyar Waris <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/ABI/testing/sysfs-bus-counter-104-quad-8
  F:    drivers/counter/104-quad-8.c
  
  ACCES PCI-IDIO-16 GPIO DRIVER
@@@ -430,14 -431,6 +430,14 @@@ W:       https://01.org/linux-acp
  B:    https://bugzilla.kernel.org
  F:    drivers/acpi/acpi_video.c
  
 +ACPI VIOT DRIVER
 +M:    Jean-Philippe Brucker <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/acpi/viot.c
 +F:    include/linux/acpi_viot.h
 +
  ACPI WMI DRIVER
  L:    [email protected]
  S:    Orphan
@@@ -790,14 -783,6 +790,14 @@@ M:       Ley Foon Tan <[email protected]
  S:    Maintained
  F:    drivers/mailbox/mailbox-altera.c
  
 +ALTERA MSGDMA IP CORE DRIVER
 +M:    Olivier Dautricourt <[email protected]>
 +R:    Stefan Roese <[email protected]>
 +L:    [email protected]
 +S:    Odd Fixes
 +F:    Documentation/devicetree/bindings/dma/altr,msgdma.yaml
 +F:    drivers/dma/altera-msgdma.c
 +
  ALTERA PIO DRIVER
  M:    Joyce Ooi <[email protected]>
  L:    [email protected]
@@@ -893,7 -878,7 +893,7 @@@ M: Harry Wentland <[email protected]
  M:    Leo Li <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://people.freedesktop.org/~agd5f/linux
 +T:    git https://gitlab.freedesktop.org/agd5f/linux.git
  F:    drivers/gpu/drm/amd/display/
  
  AMD FAM15H PROCESSOR POWER MONITORING DRIVER
@@@ -969,7 -954,7 +969,7 @@@ AMD POWERPLA
  M:    Evan Quan <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://people.freedesktop.org/~agd5f/linux
 +T:    git https://gitlab.freedesktop.org/agd5f/linux.git
  F:    drivers/gpu/drm/amd/pm/powerplay/
  
  AMD SEATTLE DEVICE TREE SUPPORT
@@@ -988,7 -973,7 +988,7 @@@ F: drivers/net/ethernet/amd/xgbe
  
  AMD SENSOR FUSION HUB DRIVER
  M:    Nehal Shah <[email protected]>
 -M:    Sandeep Singh <sandeep.singh@amd.com>
 +M:    Basavaraj Natikar <basavaraj.natikar@amd.com>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/hid/amd-sfh*
@@@ -1326,7 -1311,6 +1326,7 @@@ W:      http://www.aquantia.co
  F:    drivers/net/ethernet/aquantia/atlantic/aq_ptp*
  
  ARASAN NAND CONTROLLER DRIVER
 +M:    Miquel Raynal <[email protected]>
  M:    Naga Sureshkumar Relli <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -1468,22 -1452,6 +1468,22 @@@ S:    Odd Fixe
  F:    drivers/amba/
  F:    include/linux/amba/bus.h
  
 +ARM PRIMECELL PL35X NAND CONTROLLER DRIVER
 +M:    Miquel Raynal <[email protected]@bootlin.com>
 +M:    Naga Sureshkumar Relli <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/mtd/arm,pl353-nand-r2p1.yaml
 +F:    drivers/mtd/nand/raw/pl35x-nand-controller.c
 +
 +ARM PRIMECELL PL35X SMC DRIVER
 +M:    Miquel Raynal <[email protected]@bootlin.com>
 +M:    Naga Sureshkumar Relli <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/mtd/arm,pl353-smc.yaml
 +F:    drivers/memory/pl353-smc.c
 +
  ARM PRIMECELL CLCD PL110 DRIVER
  M:    Russell King <[email protected]>
  S:    Odd Fixes
@@@ -1687,11 -1655,9 +1687,11 @@@ C:    irc://chat.freenode.net/asahi-de
  T:    git https://github.com/AsahiLinux/linux.git
  F:    Documentation/devicetree/bindings/arm/apple.yaml
  F:    Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
 +F:    Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
  F:    arch/arm64/boot/dts/apple/
  F:    drivers/irqchip/irq-apple-aic.c
  F:    include/dt-bindings/interrupt-controller/apple-aic.h
 +F:    include/dt-bindings/pinctrl/apple.h
  
  ARM/ARTPEC MACHINE SUPPORT
  M:    Jesper Nilsson <[email protected]>
@@@ -1845,13 -1811,12 +1845,13 @@@ F:   Documentation/devicetree/bindings/ne
  F:    Documentation/devicetree/bindings/pinctrl/cortina,gemini-pinctrl.txt
  F:    Documentation/devicetree/bindings/rtc/faraday,ftrtc010.txt
  F:    arch/arm/mach-gemini/
 +F:    drivers/crypto/gemini/
  F:    drivers/net/ethernet/cortina/
  F:    drivers/pinctrl/pinctrl-gemini.c
  F:    drivers/rtc/rtc-ftrtc010.c
  
  ARM/CZ.NIC TURRIS SUPPORT
 -M:    Marek Behun <[email protected]>
 +M:    Marek Behún <[email protected]>
  S:    Maintained
  W:    https://www.turris.cz/
  F:    Documentation/ABI/testing/debugfs-moxtet
@@@ -2007,7 -1972,6 +2007,7 @@@ F:      Documentation/devicetree/bindings/in
  F:    Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml
  F:    arch/arm/mach-ixp4xx/
  F:    drivers/clocksource/timer-ixp4xx.c
 +F:    drivers/crypto/ixp4xx_crypto.c
  F:    drivers/gpio/gpio-ixp4xx.c
  F:    drivers/irqchip/irq-ixp4xx.c
  F:    include/linux/irqchip/irq-ixp4xx.h
@@@ -3771,6 -3735,9 +3771,6 @@@ F:      drivers/gpio/gpio-bcm-kona.
  
  BROADCOM NETXTREME-E ROCE DRIVER
  M:    Selvin Xavier <[email protected]>
 -M:    Devesh Sharma <[email protected]>
 -M:    Somnath Kotur <[email protected]>
 -M:    Sriharsha Basavapatna <[email protected]>
  M:    Naresh Kumar PBS <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -4074,9 -4041,7 +4074,9 @@@ 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
  F:    Documentation/devicetree/bindings/net/can/
 +F:    Documentation/devicetree/bindings/phy/ti,tcan104x-can.yaml
  F:    drivers/net/can/
 +F:    drivers/phy/phy-can-transceiver.c
  F:    include/linux/can/bittiming.h
  F:    include/linux/can/dev.h
  F:    include/linux/can/led.h
@@@ -4480,18 -4445,6 +4480,18 @@@ F:    include/linux/compiler-clang.
  F:    scripts/clang-tools/
  K:    \b(?i:clang|llvm)\b
  
 +CLANG CONTROL FLOW INTEGRITY SUPPORT
 +M:    Sami Tolvanen <[email protected]>
 +M:    Kees Cook <[email protected]>
 +R:    Nathan Chancellor <[email protected]>
 +R:    Nick Desaulniers <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +B:    https://github.com/ClangBuiltLinux/linux/issues
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/clang/features
 +F:    include/linux/cfi.h
 +F:    kernel/cfi.c
 +
  CLEANCACHE API
  M:    Konrad Rzeszutek Wilk <[email protected]>
  L:    [email protected]
@@@ -4657,12 -4610,6 +4657,12 @@@ S:    Supporte
  F:    drivers/video/console/
  F:    include/linux/console*
  
 +CONTEXT TRACKING
 +M:    Frederic Weisbecker <[email protected]>
 +S:    Maintained
 +F:    kernel/context_tracking.c
 +F:    include/linux/context_tracking*
 +
  CONTROL GROUP (CGROUP)
  M:    Tejun Heo <[email protected]>
  M:    Zefan Li <[email protected]>
@@@ -4737,7 -4684,7 +4737,7 @@@ COUNTER SUBSYSTE
  M:    William Breathitt Gray <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/ABI/testing/sysfs-bus-counter*
 +F:    Documentation/ABI/testing/sysfs-bus-counter
  F:    Documentation/driver-api/generic-counter.rst
  F:    drivers/counter/
  F:    include/linux/counter.h
@@@ -5060,10 -5007,11 +5060,10 @@@ S:   Maintaine
  F:    drivers/input/touchscreen/cy8ctma140.c
  
  CYTTSP TOUCHSCREEN DRIVER
 -M:    Ferruh Yigit <[email protected]>
 +M:    Linus Walleij <[email protected]>
  L:    [email protected]
 -S:    Supported
 +S:    Maintained
  F:    drivers/input/touchscreen/cyttsp*
 -F:    include/linux/input/cyttsp.h
  
  D-LINK DIR-685 TOUCHKEYS DRIVER
  M:    Linus Walleij <[email protected]>
@@@ -5231,14 -5179,7 +5231,14 @@@ DELL WMI NOTIFICATIONS DRIVE
  M:    Matthew Garrett <[email protected]>
  M:    Pali Rohár <[email protected]>
  S:    Maintained
 -F:    drivers/platform/x86/dell/dell-wmi.c
 +F:    drivers/platform/x86/dell/dell-wmi-base.c
 +
 +DELL WMI HARDWARE PRIVACY SUPPORT
 +M:    Perry Yuan <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/platform/x86/dell/dell-wmi-privacy.c
  
  DELTA ST MEDIA DRIVER
  M:    Hugues Fruchet <[email protected]>
@@@ -5248,13 -5189,6 +5248,13 @@@ W:    https://linuxtv.or
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/platform/sti/delta
  
 +DELTA DPS920AB PSU DRIVER
 +M:    Robert Marko <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/hwmon/dps920ab.rst
 +F:    drivers/hwmon/pmbus/dps920ab.c
 +
  DENALI NAND DRIVER
  L:    [email protected]
  S:    Orphan
@@@ -5944,13 -5878,6 +5944,13 @@@ S:    Orphan / Obsolet
  F:    drivers/gpu/drm/savage/
  F:    include/uapi/drm/savage_drm.h
  
 +DRM DRIVER FOR SIMPLE FRAMEBUFFERS
 +M:    Thomas Zimmermann <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    drivers/gpu/drm/tiny/simpledrm.c
 +
  DRM DRIVER FOR SIS VIDEO CARDS
  S:    Orphan / Obsolete
  F:    drivers/gpu/drm/sis/
@@@ -6158,14 -6085,6 +6158,14 @@@ T:    git git://anongit.freedesktop.org/dr
  F:    Documentation/devicetree/bindings/display/hisilicon/
  F:    drivers/gpu/drm/hisilicon/
  
 +DRM DRIVER FOR HYPERV SYNTHETIC VIDEO DEVICE
 +M:    Deepak Rawat <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    drivers/gpu/drm/hyperv
 +
  DRM DRIVERS FOR LIMA
  M:    Qiang Yu <[email protected]>
  L:    [email protected]
@@@ -6328,7 -6247,7 +6328,7 @@@ M:      Christian Koenig <christian.koenig@a
  M:    Huang Rui <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://people.freedesktop.org/~agd5f/linux
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    drivers/gpu/drm/ttm/
  F:    include/drm/ttm/
  
@@@ -6526,11 -6445,10 +6526,11 @@@ F:   Documentation/filesystems/ecryptfs.r
  F:    fs/ecryptfs/
  
  EDAC-AMD64
 -M:    Borislav Petkov <[email protected]>
 +M:    Yazen Ghannam <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Supported
  F:    drivers/edac/amd64_edac*
 +F:    drivers/edac/mce_amd*
  
  EDAC-ARMADA
  M:    Jan Luebbe <[email protected]>
@@@ -6811,6 -6729,7 +6811,6 @@@ F:      drivers/net/ethernet/emulex/benet
  
  EMULEX ONECONNECT ROCE DRIVER
  M:    Selvin Xavier <[email protected]>
 -M:    Devesh Sharma <[email protected]>
  L:    [email protected]
  S:    Odd Fixes
  W:    http://www.broadcom.com
@@@ -6825,15 -6744,6 +6825,15 @@@ S:    Supporte
  W:    http://www.broadcom.com
  F:    drivers/scsi/lpfc/
  
 +EMULEX/BROADCOM EFCT FC/FCOE SCSI TARGET DRIVER
 +M:    James Smart <[email protected]>
 +M:    Ram Vegesna <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Supported
 +W:    http://www.broadcom.com
 +F:    drivers/scsi/elx/
 +
  ENE CB710 FLASH CARD READER DRIVER
  M:    MichaÅ‚ MirosÅ‚aw <[email protected]>
  S:    Maintained
@@@ -6861,7 -6771,7 +6861,7 @@@ F:      include/video/s1d13xxxfb.
  
  EROFS FILE SYSTEM
  M:    Gao Xiang <[email protected]>
 -M:    Chao Yu <[email protected]>
 +M:    Chao Yu <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
@@@ -6902,8 -6812,6 +6902,8 @@@ F:      Documentation/devicetree/bindings/ne
  F:    Documentation/devicetree/bindings/net/qca,ar803x.yaml
  F:    Documentation/networking/phy.rst
  F:    drivers/net/mdio/
 +F:    drivers/net/mdio/acpi_mdio.c
 +F:    drivers/net/mdio/fwnode_mdio.c
  F:    drivers/net/mdio/of_mdio.c
  F:    drivers/net/pcs/
  F:    drivers/net/phy/
@@@ -7188,6 -7096,7 +7188,6 @@@ FLEXTIMER FTM-QUADDEC DRIVE
  M:    Patrick Havelange <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/ABI/testing/sysfs-bus-counter-ftm-quaddec
  F:    Documentation/devicetree/bindings/counter/ftm-quaddec.txt
  F:    drivers/counter/ftm-quaddec.c
  
  S:    Maintained
  F:    drivers/input/joystick/fsia6b.c
  
 +FOCUSRITE SCARLETT GEN 2/3 MIXER DRIVER
 +M:    Geoffrey D. Bennett <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
 +F:    sound/usb/mixer_scarlett_gen2.c
 +
  FORCEDETH GIGABIT ETHERNET DRIVER
  M:    Rain River <[email protected]>
  M:    Zhu Yanjun <[email protected]>
@@@ -7264,7 -7166,7 +7264,7 @@@ F:      include/video
  
  FREESCALE CAAM (Cryptographic Acceleration and Assurance Module) DRIVER
  M:    Horia Geantă <[email protected]>
 -M:    Aymen Sghaier <aymen.sghaier@nxp.com>
 +M:    Pankaj Gupta <pankaj.gupta@nxp.com>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/crypto/fsl-sec4.txt
@@@ -7452,6 -7354,7 +7452,6 @@@ F:      drivers/net/ethernet/freescale/fs_en
  F:    include/linux/fs_enet_pd.h
  
  FREESCALE SOC SOUND DRIVERS
 -M:    Timur Tabi <[email protected]>
  M:    Nicolin Chen <[email protected]>
  M:    Xiubo Li <[email protected]>
  R:    Fabio Estevam <[email protected]>
@@@ -7654,12 -7557,6 +7654,12 @@@ M:    Kieran Bingham <[email protected]
  S:    Supported
  F:    scripts/gdb/
  
 +GEMINI CRYPTO DRIVER
 +M:    Corentin Labbe <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/crypto/gemini/
 +
  GEMTEK FM RADIO RECEIVER DRIVER
  M:    Hans Verkuil <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/input/touchscreen/resistive-adc-touch.c
  
 +GENERIC STRING LIBRARY
 +R:    Andy Shevchenko <[email protected]>
 +S:    Maintained
 +F:    lib/string.c
 +F:    lib/string_helpers.c
 +F:    lib/test_string.c
 +F:    lib/test-string_helpers.c
 +
  GENERIC UIO DRIVER FOR PCI DEVICES
  M:    "Michael S. Tsirkin" <[email protected]>
  L:    [email protected]
@@@ -8395,13 -8284,6 +8395,13 @@@ S:    Maintaine
  W:    http://www.hisilicon.com
  F:    drivers/spi/spi-hisi-kunpeng.c
  
 +HISILICON SPMI CONTROLLER DRIVER FOR HIKEY 970
 +M:    Mauro Carvalho Chehab <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/spmi/hisilicon,hisi-spmi-controller.yaml
 +F:    drivers/spmi/hisi-spmi-controller.c
 +
  HISILICON STAGING DRIVERS FOR HIKEY 960/970
  M:    Mauro Carvalho Chehab <[email protected]>
  S:    Maintained
  S:    Maintained
  F:    drivers/i2c/busses/i2c-icy.c
  
 -IDE SUBSYSTEM
 -M:    "David S. Miller" <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -Q:    http://patchwork.ozlabs.org/project/linux-ide/list/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide.git
 -F:    Documentation/ide/
 -F:    drivers/ide/
 -F:    include/linux/ide.h
 -
 -IDE/ATAPI DRIVERS
 -L:    [email protected]
 -S:    Orphan
 -F:    Documentation/cdrom/ide-cd.rst
 -F:    drivers/ide/ide-cd*
 -
  IDEAPAD LAPTOP EXTRAS DRIVER
  M:    Ike Panhc <[email protected]>
  L:    [email protected]
@@@ -8969,7 -8867,7 +8969,7 @@@ IIO MULTIPLEXE
  M:    Peter Rosin <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt
 +F:    Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml
  F:    drivers/iio/multiplexer/iio-mux.c
  
  IIO SCMI BASED DRIVER
@@@ -9241,15 -9139,6 +9241,15 @@@ F:    Documentation/networking/device_driv
  F:    drivers/net/ethernet/intel/
  F:    drivers/net/ethernet/intel/*/
  F:    include/linux/avf/virtchnl.h
 +F:    include/linux/net/intel/iidc.h
 +
 +INTEL ETHERNET PROTOCOL DRIVER FOR RDMA
 +M:    Mustafa Ismail <[email protected]>
 +M:    Shiraz Saleem <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/infiniband/hw/irdma/
 +F:    include/uapi/rdma/irdma-abi.h
  
  INTEL FRAMEBUFFER DRIVER (excluding 810 and 815)
  M:    Maik Broemme <[email protected]>
@@@ -9355,12 -9244,6 +9355,12 @@@ F:    Documentation/admin-guide/media/ipu3
  F:    Documentation/userspace-api/media/v4l/pixfmt-meta-intel-ipu3.rst
  F:    drivers/staging/media/ipu3/
  
 +INTEL IXP4XX CRYPTO SUPPORT
 +M:    Corentin Labbe <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/crypto/ixp4xx_crypto.c
 +
  INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
  M:    Krzysztof Halasa <[email protected]>
  S:    Maintained
@@@ -9425,6 -9308,16 +9425,6 @@@ F:     drivers/hwmon/intel-m10-bmc-hwmon.
  F:    drivers/mfd/intel-m10-bmc.c
  F:    include/linux/mfd/intel-m10-bmc.h
  
 -INTEL MAX 10 BMC MFD DRIVER
 -M:    Xu Yilun <[email protected]>
 -R:    Tom Rix <[email protected]>
 -S:    Maintained
 -F:    Documentation/ABI/testing/sysfs-driver-intel-m10-bmc
 -F:    Documentation/hwmon/intel-m10-bmc-hwmon.rst
 -F:    drivers/hwmon/intel-m10-bmc-hwmon.c
 -F:    drivers/mfd/intel-m10-bmc.c
 -F:    include/linux/mfd/intel-m10-bmc.h
 -
  INTEL MENLOW THERMAL DRIVER
  M:    Sujith Thomas <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/cpufreq/intel_pstate.c
  
 -INTEL RDMA RNIC DRIVER
 -M:    Faisal Latif <[email protected]>
 -M:    Shiraz Saleem <[email protected]>
 -L:    [email protected]
 -S:    Supported
 -F:    drivers/infiniband/hw/i40iw/
 -F:    include/uapi/rdma/i40iw-abi.h
 +INTEL QUADRATURE ENCODER PERIPHERAL DRIVER
 +M:    Jarkko Nikula <[email protected]>
 +L:    [email protected]
 +F:    drivers/counter/intel-qep.c
  
  INTEL SCU DRIVERS
  M:    Mika Westerberg <[email protected]>
@@@ -9491,11 -9387,6 +9491,11 @@@ S:    Maintaine
  F:    arch/x86/include/asm/intel_scu_ipc.h
  F:    drivers/platform/x86/intel_scu_*
  
 +INTEL SKYLAKE INT3472 ACPI DEVICE DRIVER
 +M:    Daniel Scally <[email protected]>
 +S:    Maintained
 +F:    drivers/platform/x86/intel/int3472/
 +
  INTEL SPEED SELECT TECHNOLOGY
  M:    Srinivas Pandruvada <[email protected]>
  L:    [email protected]
@@@ -9516,7 -9407,7 +9516,7 @@@ F:      include/linux/firmware/intel/stratix
  F:    include/linux/firmware/intel/stratix10-svc-client.h
  
  INTEL TELEMETRY DRIVER
 -M:    Rajneesh Bhardwaj <[email protected]l.com>
 +M:    Rajneesh Bhardwaj <irenic.rajneesh@gmail.com>
  M:    "David E. Box" <[email protected]>
  L:    [email protected]
  S:    Maintained
  S:    Maintained
  F:    drivers/platform/x86/intel-wmi-thunderbolt.c
  
 +INTEL WWAN IOSM DRIVER
 +M:    M Chetan Kumar <[email protected]>
 +M:    Intel Corporation <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/wwan/iosm/
 +
  INTEL(R) TRACE HUB
  M:    Alexander Shishkin <[email protected]>
  S:    Supported
@@@ -9844,14 -9728,6 +9844,14 @@@ Q:    http://patchwork.linuxtv.org/project
  T:    git git://linuxtv.org/anttip/media_tree.git
  F:    drivers/media/tuners/it913x*
  
 +ITE IT66121 HDMI BRIDGE DRIVER
 +M:    Phong LE <[email protected]>
 +M:    Neil Armstrong <[email protected]>
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    Documentation/devicetree/bindings/display/bridge/ite,it66121.yaml
 +F:    drivers/gpu/drm/bridge/ite-it66121.c
 +
  IVTV VIDEO4LINUX DRIVER
  M:    Andy Walls <[email protected]>
  L:    [email protected]
@@@ -10119,8 -9995,6 +10119,8 @@@ F:    arch/arm64/include/asm/kvm
  F:    arch/arm64/include/uapi/asm/kvm*
  F:    arch/arm64/kvm/
  F:    include/kvm/arm_*
 +F:    tools/testing/selftests/kvm/*/aarch64/
 +F:    tools/testing/selftests/kvm/aarch64/
  
  KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips)
  M:    Huacai Chen <[email protected]>
@@@ -10986,7 -10860,6 +10986,7 @@@ S:   Maintaine
  F:    drivers/mailbox/
  F:    include/linux/mailbox_client.h
  F:    include/linux/mailbox_controller.h
 +F:    include/dt-bindings/mailbox/
  F:    Documentation/devicetree/bindings/mailbox/
  
  MAILBOX ARM MHUv2
@@@ -11024,7 -10897,7 +11024,7 @@@ MARVELL ARMADA 3700 PHY DRIVER
  M:    Miquel Raynal <[email protected]>
  S:    Maintained
  F:    Documentation/devicetree/bindings/phy/phy-mvebu-comphy.txt
 -F:    Documentation/devicetree/bindings/phy/phy-mvebu-utmi.txt
 +F:    Documentation/devicetree/bindings/phy/marvell,armada-3700-utmi-phy.yaml
  F:    drivers/phy/marvell/phy-mvebu-a3700-comphy.c
  F:    drivers/phy/marvell/phy-mvebu-a3700-utmi.c
  
@@@ -11073,7 -10946,7 +11073,7 @@@ F:   include/linux/mv643xx.
  
  MARVELL MV88X3310 PHY DRIVER
  M:    Russell King <[email protected]>
 -M:    Marek Behun <[email protected]>
 +M:    Marek Behún <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/net/phy/marvell10g.c
@@@ -11419,7 -11292,6 +11419,7 @@@ F:   include/media/imx.
  
  MEDIA DRIVERS FOR FREESCALE IMX7
  M:    Rui Miguel Silva <[email protected]>
 +M:    Laurent Pinchart <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
  S:    Supported
  T:    git git://linuxtv.org/media_tree.git
  F:    Documentation/devicetree/bindings/media/renesas,csi2.yaml
 +F:    Documentation/devicetree/bindings/media/renesas,isp.yaml
  F:    Documentation/devicetree/bindings/media/renesas,vin.yaml
  F:    drivers/media/platform/rcar-vin/
  
@@@ -11958,7 -11829,6 +11958,7 @@@ F:   include/linux/mmzone.
  F:    include/linux/pagewalk.h
  F:    include/linux/vmalloc.h
  F:    mm/
 +F:    tools/testing/selftests/vm/
  
  MEMORY TECHNOLOGY DEVICES (MTD)
  M:    Miquel Raynal <[email protected]>
@@@ -12120,13 -11990,11 +12120,13 @@@ MICROCHIP ISC DRIVE
  M:    Eugen Hristev <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/devicetree/bindings/media/atmel-isc.txt
 +F:    Documentation/devicetree/bindings/media/atmel,isc.yaml
 +F:    Documentation/devicetree/bindings/media/microchip,xisc.yaml
  F:    drivers/media/platform/atmel/atmel-isc-base.c
  F:    drivers/media/platform/atmel/atmel-isc-regs.h
  F:    drivers/media/platform/atmel/atmel-isc.h
  F:    drivers/media/platform/atmel/atmel-sama5d2-isc.c
 +F:    drivers/media/platform/atmel/atmel-sama7g5-isc.c
  F:    include/linux/atmel-isc-media.h
  
  MICROCHIP ISI DRIVER
@@@ -12324,7 -12192,7 +12324,7 @@@ M:   Maximilian Luz <luzmaximilian@gmail.
  L:    [email protected]
  S:    Maintained
  W:    https://github.com/linux-surface/surface-aggregator-module
 -C:    irc://chat.freenode.net/##linux-surface
 +C:    irc://irc.libera.chat/linux-surface
  F:    Documentation/driver-api/surface_aggregator/
  F:    drivers/platform/surface/aggregator/
  F:    drivers/platform/surface/surface_acpi_notify.c
@@@ -12520,14 -12388,9 +12520,15 @@@ F: Documentation/userspace-api/media/dr
  F:    drivers/media/pci/meye/
  F:    include/uapi/linux/meye.h
  
 +MOTORCOMM PHY DRIVER
 +M:    Peter Geis <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/phy/motorcomm.c
 +
  MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
- S:    Orphan
+ M:    Jiri Slaby <[email protected]>
+ S:    Maintained
  F:    Documentation/driver-api/serial/moxa-smartio.rst
  F:    drivers/tty/mxser.*
  
@@@ -12740,7 -12603,7 +12741,7 @@@ S:   Orpha
  F:    drivers/net/ethernet/natsemi/natsemi.c
  
  NCR 5380 SCSI DRIVERS
 -M:    Finn Thain <fthain@telegraphics.com.au>
 +M:    Finn Thain <fthain@linux-m68k.org>
  M:    Michael Schmitz <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -12797,7 -12660,6 +12798,7 @@@ W:   http://www.netfilter.org
  W:    http://www.iptables.org/
  W:    http://www.nftables.org/
  Q:    http://patchwork.ozlabs.org/project/netfilter-devel/list/
 +C:    irc://irc.libera.chat/netfilter
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git
  F:    include/linux/netfilter*
@@@ -13213,7 -13075,7 +13214,7 @@@ F:   Documentation/filesystems/ntfs.rs
  F:    fs/ntfs/
  
  NUBUS SUBSYSTEM
 -M:    Finn Thain <fthain@telegraphics.com.au>
 +M:    Finn Thain <fthain@linux-m68k.org>
  L:    [email protected]
  S:    Maintained
  F:    arch/*/include/asm/nubus.h
@@@ -13335,7 -13197,6 +13336,7 @@@ M:   Vladimir Oltean <[email protected]
  L:    [email protected]
  S:    Maintained
  F:    drivers/net/dsa/sja1105
 +F:    drivers/net/pcs/pcs-xpcs-nxp.c
  
  NXP TDA998X DRM DRIVER
  M:    Russell King <[email protected]>
@@@ -13354,13 -13215,6 +13355,13 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/sound/tfa9879.txt
  F:    sound/soc/codecs/tfa9879*
  
 +NXP/Goodix TFA989X (TFA1) DRIVER
 +M:    Stephan Gerhold <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/sound/nxp,tfa989x.yaml
 +F:    sound/soc/codecs/tfa989x.c
 +
  NXP-NCI NFC DRIVER
  R:    Charles Gorand <[email protected]>
  L:    [email protected] (subscribers-only)
@@@ -13481,7 -13335,7 +13482,7 @@@ M:   Santosh Shilimkar <[email protected]
  M:    Kevin Hilman <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/gpio/gpio-omap.txt
 +F:    Documentation/devicetree/bindings/gpio/ti,omap-gpio.yaml
  F:    drivers/gpio/gpio-omap.c
  
  OMAP HARDWARE SPINLOCK SUPPORT
@@@ -13520,7 -13374,7 +13521,7 @@@ M:   Vignesh R <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/i2c/i2c-omap.txt
 +F:    Documentation/devicetree/bindings/i2c/ti,omap4-i2c.yaml
  F:    drivers/i2c/busses/i2c-omap.c
  
  OMAP IMAGING SUBSYSTEM (OMAP3 ISP and OMAP4 ISS)
@@@ -15288,13 -15142,6 +15289,13 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/opp/qcom-nvmem-cpufreq.txt
  F:    drivers/cpufreq/qcom-cpufreq-nvmem.c
  
 +QUALCOMM CRYPTO DRIVERS
 +M:    Thara Gopinath <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/crypto/qce/
 +
  QUALCOMM EMAC GIGABIT ETHERNET DRIVER
  M:    Timur Tabi <[email protected]>
  L:    [email protected]
@@@ -15423,7 -15270,6 +15424,7 @@@ F:   drivers/net/wireless/quantenn
  RADEON and AMDGPU DRM DRIVERS
  M:    Alex Deucher <[email protected]>
  M:    Christian König <[email protected]>
 +M:    Pan, Xinhui <[email protected]>
  L:    [email protected]
  S:    Supported
  T:    git https://gitlab.freedesktop.org/agd5f/linux.git
@@@ -15731,13 -15577,6 +15732,13 @@@ F: include/linux/rpmsg
  F:    include/uapi/linux/rpmsg.h
  F:    samples/rpmsg/
  
 +REMOTE PROCESSOR MESSAGING (RPMSG) WWAN CONTROL DRIVER
 +M:    Stephan Gerhold <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/wwan/rpmsg_wwan_ctrl.c
 +
  RENESAS CLOCK DRIVERS
  M:    Geert Uytterhoeven <[email protected]>
  L:    [email protected]
@@@ -15748,9 -15587,8 +15749,9 @@@ F:   drivers/clk/renesas
  
  RENESAS EMEV2 I2C DRIVER
  M:    Wolfram Sang <[email protected]>
 +L:    [email protected]
  S:    Supported
 -F:    Documentation/devicetree/bindings/i2c/renesas,iic-emev2.txt
 +F:    Documentation/devicetree/bindings/i2c/renesas,iic-emev2.yaml
  F:    drivers/i2c/busses/i2c-emev2.c
  
  RENESAS ETHERNET DRIVERS
@@@ -15770,10 -15608,9 +15771,10 @@@ F: drivers/iio/adc/rcar-gyroadc.
  
  RENESAS R-CAR I2C DRIVERS
  M:    Wolfram Sang <[email protected]>
 +L:    [email protected]
  S:    Supported
 -F:    Documentation/devicetree/bindings/i2c/renesas,i2c.txt
 -F:    Documentation/devicetree/bindings/i2c/renesas,iic.txt
 +F:    Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml
 +F:    Documentation/devicetree/bindings/i2c/renesas,rmobile-iic.yaml
  F:    drivers/i2c/busses/i2c-rcar.c
  F:    drivers/i2c/busses/i2c-sh_mobile.c
  
@@@ -15788,9 -15625,8 +15789,9 @@@ F:   drivers/thermal/rcar_thermal.
  
  RENESAS RIIC DRIVER
  M:    Chris Brandt <[email protected]>
 +L:    [email protected]
  S:    Supported
 -F:    Documentation/devicetree/bindings/i2c/renesas,riic.txt
 +F:    Documentation/devicetree/bindings/i2c/renesas,riic.yaml
  F:    drivers/i2c/busses/i2c-riic.c
  
  RENESAS USB PHY DRIVER
@@@ -15870,14 -15706,6 +15871,14 @@@ F: arch/riscv
  N:    riscv
  K:    riscv
  
 +RISC-V/MICROCHIP POLARFIRE SOC SUPPORT
 +M:    Lewis Hanly <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/mailbox/mailbox-mpfs.c
 +F:    drivers/soc/microchip/
 +F:    include/soc/microchip/mpfs.h
 +
  RNBD BLOCK DRIVERS
  M:    Md. Haris Iqbal <[email protected]>
  M:    Jack Wang <[email protected]>
@@@ -16671,8 -16499,6 +16672,8 @@@ M:   Tomasz Duszynski <[email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/iio/chemical/sensirion,sps30.yaml
  F:    drivers/iio/chemical/sps30.c
 +F:    drivers/iio/chemical/sps30_i2c.c
 +F:    drivers/iio/chemical/sps30_serial.c
  
  SERIAL DEVICE BUS
  M:    Rob Herring <[email protected]>
@@@ -16735,7 -16561,6 +16736,7 @@@ F:   drivers/misc/sgi-xp
  
  SHARED MEMORY COMMUNICATIONS (SMC) SOCKETS
  M:    Karsten Graul <[email protected]>
 +M:    Guvenc Gulce <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    http://www.ibm.com/developerworks/linux/linux390/
@@@ -17181,13 -17006,6 +17182,13 @@@ S: Maintaine
  F:    drivers/ssb/
  F:    include/linux/ssb/
  
 +SONY IMX208 SENSOR DRIVER
 +M:    Sakari Ailus <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    drivers/media/i2c/imx208.c
 +
  SONY IMX214 SENSOR DRIVER
  M:    Ricardo Ribalda <[email protected]>
  L:    [email protected]
@@@ -17856,7 -17674,6 +17857,7 @@@ M:   Jose Abreu <[email protected]
  L:    [email protected]
  S:    Supported
  F:    drivers/net/pcs/pcs-xpcs.c
 +F:    drivers/net/pcs/pcs-xpcs.h
  F:    include/linux/pcs/pcs-xpcs.h
  
  SYNOPSYS DESIGNWARE I2C DRIVER
@@@ -17899,7 -17716,7 +17900,7 @@@ M:   Sudeep Holla <[email protected]
  R:    Cristian Marussi <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/arm/arm,sc[mp]i.txt
 +F:    Documentation/devicetree/bindings/firmware/arm,sc[mp]i.yaml
  F:    drivers/clk/clk-sc[mp]i.c
  F:    drivers/cpufreq/sc[mp]i-cpufreq.c
  F:    drivers/firmware/arm_scmi/
@@@ -18272,11 -18089,11 +18273,11 @@@ L:        [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/arm/keystone/ti,k3-sci-common.yaml
  F:    Documentation/devicetree/bindings/arm/keystone/ti,sci.txt
 -F:    Documentation/devicetree/bindings/clock/ti,sci-clk.txt
 +F:    Documentation/devicetree/bindings/clock/ti,sci-clk.yaml
  F:    Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.yaml
  F:    Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.yaml
 -F:    Documentation/devicetree/bindings/reset/ti,sci-reset.txt
 -F:    Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
 +F:    Documentation/devicetree/bindings/reset/ti,sci-reset.yaml
 +F:    Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
  F:    drivers/clk/keystone/sci-clk.c
  F:    drivers/firmware/ti_sci*
  F:    drivers/irqchip/irq-ti-sci-inta.c
@@@ -18297,13 -18114,6 +18298,13 @@@ F: Documentation/devicetree/bindings/hw
  F:    Documentation/hwmon/tps23861.rst
  F:    drivers/hwmon/tps23861.c
  
 +TEXAS INSTRUMENTS' TMP117 TEMPERATURE SENSOR DRIVER
 +M:    Puranjay Mohan <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
 +F:    drivers/iio/temperature/tmp117.c
 +
  THANKO'S RAREMONO AM/FM/SW RADIO RECEIVER USB DRIVER
  M:    Hans Verkuil <[email protected]>
  L:    [email protected]
@@@ -18366,13 -18176,6 +18367,13 @@@ W: http://thinkwiki.org/wiki/Ibm-acp
  T:    git git://repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git
  F:    drivers/platform/x86/thinkpad_acpi.c
  
 +THINKPAD LMI DRIVER
 +M:    Mark Pearson <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-class-firmware-attributes
 +F:    drivers/platform/x86/think-lmi.?
 +
  THUNDERBOLT DMA TRAFFIC TEST DRIVER
  M:    Isaac Hazan <[email protected]>
  L:    [email protected]
@@@ -18467,7 -18270,7 +18468,7 @@@ TI DAVINCI SERIES GPIO DRIVE
  M:    Keerthy <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/gpio/gpio-davinci.txt
 +F:    Documentation/devicetree/bindings/gpio/gpio-davinci.yaml
  F:    drivers/gpio/gpio-davinci.c
  
  TI DAVINCI SERIES MEDIA DRIVER
@@@ -18540,14 -18343,6 +18541,14 @@@ S: Supporte
  F:    Documentation/devicetree/bindings/net/nfc/trf7970a.txt
  F:    drivers/nfc/trf7970a.c
  
 +TI TSC2046 ADC DRIVER
 +M:    Oleksij Rempel <[email protected]>
 +R:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/iio/adc/ti,tsc2046.yaml
 +F:    drivers/iio/adc/ti-tsc2046.c
 +
  TI TWL4030 SERIES SOC CODEC DRIVER
  M:    Peter Ujfalusi <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -18771,9 -18566,13 +18772,13 @@@ T: git git://git.kernel.org/pub/scm/lin
  F:    Documentation/driver-api/serial/
  F:    drivers/tty/
  F:    drivers/tty/serial/serial_core.c
+ F:    include/linux/selection.h
  F:    include/linux/serial.h
  F:    include/linux/serial_core.h
- F:    include/linux/tty.h
+ F:    include/linux/sysrq.h
+ F:    include/linux/tty*.h
+ F:    include/linux/vt.h
+ F:    include/linux/vt_*.h
  F:    include/uapi/linux/serial.h
  F:    include/uapi/linux/serial_core.h
  F:    include/uapi/linux/tty.h
  S:    Maintained
  F:    drivers/usb/roles/intel-xhci-usb-role-switch.c
  
 -USB IP DRIVER FOR HISILICON KIRIN
 +USB IP DRIVER FOR HISILICON KIRIN 960
  M:    Yu Chen <[email protected]>
  M:    Binghui Wang <[email protected]>
  L:    [email protected]
@@@ -19072,13 -18871,6 +19077,13 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/phy/hisilicon,hi3660-usb3.yaml
  F:    drivers/phy/hisilicon/phy-hi3660-usb3.c
  
 +USB IP DRIVER FOR HISILICON KIRIN 970
 +M:    Mauro Carvalho Chehab <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/phy/hisilicon,hi3670-usb3.yaml
 +F:    drivers/phy/hisilicon/phy-kirin970-usb3.c
 +
  USB ISP116X DRIVER
  M:    Olav Kongas <[email protected]>
  L:    [email protected]
@@@ -19790,10 -19582,6 +19795,10 @@@ F: include/dt-bindings/regulator
  F:    include/linux/regulator/
  K:    regulator_get_optional
  
 +VOLTAGE AND CURRENT REGULATOR IRQ HELPERS
 +R:    Matti Vaittinen <[email protected]>
 +F:    drivers/regulator/irq_helpers.c
 +
  VRF
  M:    David Ahern <[email protected]>
  L:    [email protected]
@@@ -19811,7 -19599,6 +19816,7 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk.git
  F:    Documentation/core-api/printk-formats.rst
  F:    lib/test_printf.c
 +F:    lib/test_scanf.c
  F:    lib/vsprintf.c
  
  VT1211 HARDWARE MONITOR DRIVER
@@@ -19995,16 -19782,6 +20000,16 @@@ F: Documentation/core-api/workqueue.rs
  F:    include/linux/workqueue.h
  F:    kernel/workqueue.c
  
 +WWAN DRIVERS
 +M:    Loic Poulain <[email protected]>
 +M:    Sergey Ryazanov <[email protected]>
 +R:    Johannes Berg <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/wwan/
 +F:    include/linux/wwan.h
 +F:    include/uapi/linux/wwan.h
 +
  X-POWERS AXP288 PMIC DRIVERS
  M:    Hans de Goede <[email protected]>
  S:    Maintained
@@@ -20400,6 -20177,7 +20405,6 @@@ M:   Seth Jennings <[email protected]
  M:    Dan Streetman <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    include/linux/zbud.h
  F:    mm/zbud.c
  
  ZD1211RW WIRELESS DRIVER
diff --combined drivers/char/Kconfig
index 8e516aad632bd8a8a67a8abe4809bff8491d44ce,52d0dd49a6839f144565c2eb9786adbd4f35f328..ea3ead00f30f25b2d00629b6f5b35c2c3519c862
@@@ -218,19 -218,6 +218,6 @@@ config XILINX_HWICA
  
          If unsure, say N.
  
- config R3964
-       tristate "Siemens R3964 line discipline"
-       depends on TTY && BROKEN
-       help
-         This driver allows synchronous communication with devices using the
-         Siemens R3964 packet protocol. Unless you are dealing with special
-         hardware like PLCs, you are unlikely to need this.
-         To compile this driver as a module, choose M here: the
-         module will be called n_r3964.
-         If unsure, say N.
  config APPLICOM
        tristate "Applicom intelligent fieldbus card support"
        depends on PCI
@@@ -357,6 -344,27 +344,6 @@@ config NVRA
          To compile this driver as a module, choose M here: the
          module will be called nvram.
  
 -config RAW_DRIVER
 -      tristate "RAW driver (/dev/raw/rawN)"
 -      depends on BLOCK
 -      help
 -        The raw driver permits block devices to be bound to /dev/raw/rawN.
 -        Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O.
 -        See the raw(8) manpage for more details.
 -
 -        Applications should preferably open the device (eg /dev/hda1)
 -        with the O_DIRECT flag.
 -
 -config MAX_RAW_DEVS
 -      int "Maximum number of RAW devices to support (1-65536)"
 -      depends on RAW_DRIVER
 -      range 1 65536
 -      default "256"
 -      help
 -        The maximum number of RAW devices that are supported.
 -        Default is 256. Increase this number in case you need lots of
 -        raw devices.
 -
  config DEVPORT
        bool "/dev/port character device"
        depends on ISA || PCI
index 2a3a94f72dfb1f99b92a2057911152f3484de9df,0a3b89c17d08ed298ebac38082d96baffa1acf91..20fa02c81070f8a1d3a853a6011fe117bf320350
@@@ -1,5 -1,7 +1,5 @@@
  // SPDX-License-Identifier: GPL-2.0-only
 -/**
 - * ipoctal.c
 - *
 +/*
   * driver for the GE IP-OCTAL boards
   *
   * Copyright (C) 2009-2012 CERN (www.cern.ch)
@@@ -458,14 -460,14 +458,14 @@@ static int ipoctal_write_tty(struct tty
        return char_copied;
  }
  
- static int ipoctal_write_room(struct tty_struct *tty)
+ static unsigned int ipoctal_write_room(struct tty_struct *tty)
  {
        struct ipoctal_channel *channel = tty->driver_data;
  
        return PAGE_SIZE - channel->nb_bytes;
  }
  
- static int ipoctal_chars_in_buffer(struct tty_struct *tty)
+ static unsigned int ipoctal_chars_in_buffer(struct tty_struct *tty)
  {
        struct ipoctal_channel *channel = tty->driver_data;
  
index 4ffbfd534f1820f9ce60b95ef58c287d318a859c,205219d28afff00f893c6e9dce59d67efe2d4c93..2a7af611d43a55cce61f6a313c17ea93491e40e5
@@@ -87,9 -87,9 +87,9 @@@ static void ldisc_tx_wakeup(struct tty_
  static inline void update_tty_status(struct ser_device *ser)
  {
        ser->tty_status =
-               ser->tty->stopped << 5 |
-               ser->tty->flow_stopped << 3 |
-               ser->tty->packet << 2;
+               ser->tty->flow.stopped << 5 |
+               ser->tty->flow.tco_stopped << 3 |
+               ser->tty->ctrl.packet << 2;
  }
  static inline void debugfs_init(struct ser_device *ser, struct tty_struct *tty)
  {
@@@ -159,7 -159,7 +159,7 @@@ static inline void debugfs_tx(struct se
  #endif
  
  static void ldisc_receive(struct tty_struct *tty, const u8 *data,
-                       char *flags, int count)
+                       const char *flags, int count)
  {
        struct sk_buff *skb = NULL;
        struct ser_device *ser;
@@@ -350,7 -350,6 +350,7 @@@ static int ldisc_open(struct tty_struc
        rtnl_lock();
        result = register_netdevice(dev);
        if (result) {
 +              tty_kref_put(tty);
                rtnl_unlock();
                free_netdev(dev);
                return -ENODEV;
@@@ -380,6 -379,7 +380,7 @@@ static void ldisc_close(struct tty_stru
  /* The line discipline structure. */
  static struct tty_ldisc_ops caif_ldisc = {
        .owner =        THIS_MODULE,
+       .num =          N_CAIF,
        .name =         "n_caif",
        .open =         ldisc_open,
        .close =        ldisc_close,
@@@ -429,7 -429,7 +430,7 @@@ static int __init caif_ser_init(void
  {
        int ret;
  
-       ret = tty_register_ldisc(N_CAIF, &caif_ldisc);
+       ret = tty_register_ldisc(&caif_ldisc);
        if (ret < 0)
                pr_err("cannot register CAIF ldisc=%d err=%d\n", N_CAIF, ret);
  
@@@ -444,7 -444,7 +445,7 @@@ static void __exit caif_ser_exit(void
        spin_unlock(&ser_lock);
        ser_release(NULL);
        cancel_work_sync(&ser_release_work);
-       tty_unregister_ldisc(N_CAIF);
+       tty_unregister_ldisc(&caif_ldisc);
        debugfs_remove_recursive(debugfsdir);
  }
  
index a15cc5e502902c0f6ca32cd491dc175a73d765e6,686c38c46113bd17eae180f8437b8fb57017ec2d..fcf3af76b6d7b757ee3293df2fd7e87f2fe83cbe
@@@ -428,7 -428,7 +428,7 @@@ out
   * and sent on to some IP layer for further processing.
   */
  static void sixpack_receive_buf(struct tty_struct *tty,
-       const unsigned char *cp, char *fp, int count)
+       const unsigned char *cp, const char *fp, int count)
  {
        struct sixpack *sp;
        int count1;
@@@ -716,11 -716,11 +716,11 @@@ static int sixpack_ioctl(struct tty_str
                err = 0;
                break;
  
 -       case SIOCSIFHWADDR: {
 -              char addr[AX25_ADDR_LEN];
 +      case SIOCSIFHWADDR: {
 +                      char addr[AX25_ADDR_LEN];
  
 -              if (copy_from_user(&addr,
 -                                 (void __user *) arg, AX25_ADDR_LEN)) {
 +                      if (copy_from_user(&addr,
 +                                         (void __user *)arg, AX25_ADDR_LEN)) {
                                err = -EFAULT;
                                break;
                        }
                        netif_tx_lock_bh(dev);
                        memcpy(dev->dev_addr, &addr, AX25_ADDR_LEN);
                        netif_tx_unlock_bh(dev);
 -
                        err = 0;
                        break;
                }
 -
        default:
                err = tty_mode_ioctl(tty, file, cmd, arg);
        }
  
  static struct tty_ldisc_ops sp_ldisc = {
        .owner          = THIS_MODULE,
+       .num            = N_6PACK,
        .name           = "6pack",
        .open           = sixpack_open,
        .close          = sixpack_close,
@@@ -764,21 -767,16 +765,16 @@@ static int __init sixpack_init_driver(v
        printk(msg_banner);
  
        /* Register the provided line protocol discipline */
-       if ((status = tty_register_ldisc(N_6PACK, &sp_ldisc)) != 0)
+       status = tty_register_ldisc(&sp_ldisc);
+       if (status)
                printk(msg_regfail, status);
  
        return status;
  }
  
- static const char msg_unregfail[] = KERN_ERR \
-       "6pack: can't unregister line discipline (err = %d)\n";
  static void __exit sixpack_exit_driver(void)
  {
-       int ret;
-       if ((ret = tty_unregister_ldisc(N_6PACK)))
-               printk(msg_unregfail, ret);
+       tty_unregister_ldisc(&sp_ldisc);
  }
  
  /* encode an AX.25 packet into 6pack */
index b99128669bc8cf367a52a0346cfe286fdea4191b,e3294a0a9800542f64acf47d11dc0dd0aa1d31e9..8666110bec555c4eff5d37b0589c3d7e172cb035
@@@ -276,7 -276,7 +276,7 @@@ static void ax_bump(struct mkiss *ax
                         */
                        *ax->rbuff &= ~0x20;
                }
 -      }
 +      }
  
        count = ax->rcount;
  
@@@ -501,7 -501,7 +501,7 @@@ static void ax_encaps(struct net_devic
                default:
                        count = kiss_esc(p, ax->xbuff, len);
                }
 -      }
 +      }
        spin_unlock_bh(&ax->buflock);
  
        set_bit(TTY_DO_WRITE_WAKEUP, &ax->tty->flags);
@@@ -799,7 -799,6 +799,7 @@@ static void mkiss_close(struct tty_stru
        ax->tty = NULL;
  
        unregister_netdev(ax->dev);
 +      free_netdev(ax->dev);
  }
  
  /* Perform I/O control on an active ax25 channel. */
@@@ -816,7 -815,7 +816,7 @@@ static int mkiss_ioctl(struct tty_struc
        dev = ax->dev;
  
        switch (cmd) {
 -      case SIOCGIFNAME:
 +      case SIOCGIFNAME:
                err = copy_to_user((void __user *) arg, ax->dev->name,
                                   strlen(ax->dev->name) + 1) ? -EFAULT : 0;
                break;
   * and sent on to the AX.25 layer for further processing.
   */
  static void mkiss_receive_buf(struct tty_struct *tty, const unsigned char *cp,
-       char *fp, int count)
+       const char *fp, int count)
  {
        struct mkiss *ax = mkiss_get(tty);
  
@@@ -934,6 -933,7 +934,7 @@@ out
  
  static struct tty_ldisc_ops ax_ldisc = {
        .owner          = THIS_MODULE,
+       .num            = N_AX25,
        .name           = "mkiss",
        .open           = mkiss_open,
        .close          = mkiss_close,
@@@ -953,22 -953,16 +954,16 @@@ static int __init mkiss_init_driver(voi
  
        printk(banner);
  
-       status = tty_register_ldisc(N_AX25, &ax_ldisc);
+       status = tty_register_ldisc(&ax_ldisc);
        if (status != 0)
                printk(msg_regfail, status);
  
        return status;
  }
  
- static const char msg_unregfail[] = KERN_ERR \
-       "mkiss: can't unregister line discipline (err = %d)\n";
  static void __exit mkiss_exit_driver(void)
  {
-       int ret;
-       if ((ret = tty_unregister_ldisc(N_AX25)))
-               printk(msg_unregfail, ret);
+       tty_unregister_ldisc(&ax_ldisc);
  }
  
  MODULE_AUTHOR("Ralf Baechle DL5RB <[email protected]>");
diff --combined drivers/net/usb/hso.c
index 54ef8492ca01d63cb793b7da23de48f814a7bc02,f59e4973b0bdf56fc36745df15e671d00b3337d2..63006838bdccd5b9b7d9029032051058be3d4519
@@@ -457,8 -457,9 +457,8 @@@ static const struct usb_device_id hso_i
  MODULE_DEVICE_TABLE(usb, hso_ids);
  
  /* Sysfs attribute */
 -static ssize_t hso_sysfs_show_porttype(struct device *dev,
 -                                     struct device_attribute *attr,
 -                                     char *buf)
 +static ssize_t hsotype_show(struct device *dev,
 +                          struct device_attribute *attr, char *buf)
  {
        struct hso_device *hso_dev = dev_get_drvdata(dev);
        char *port_name;
  
        return sprintf(buf, "%s\n", port_name);
  }
 -static DEVICE_ATTR(hsotype, 0444, hso_sysfs_show_porttype, NULL);
 +static DEVICE_ATTR_RO(hsotype);
  
  static struct attribute *hso_serial_dev_attrs[] = {
        &dev_attr_hsotype.attr,
  }
  
  /* how much room is there for writing */
- static int hso_serial_write_room(struct tty_struct *tty)
+ static unsigned int hso_serial_write_room(struct tty_struct *tty)
  {
        struct hso_serial *serial = tty->driver_data;
-       int room;
+       unsigned int room;
        unsigned long flags;
  
        spin_lock_irqsave(&serial->serial_lock, flags);
@@@ -1403,11 -1404,11 +1403,11 @@@ static void hso_serial_set_termios(stru
  }
  
  /* how many characters in the buffer */
- static int hso_serial_chars_in_buffer(struct tty_struct *tty)
+ static unsigned int hso_serial_chars_in_buffer(struct tty_struct *tty)
  {
        struct hso_serial *serial = tty->driver_data;
-       int chars;
        unsigned long flags;
+       unsigned int chars;
  
        /* sanity check */
        if (serial == NULL)
index 02523f4e29f487c42434e0fcf8564250e876d58f,8821927ef875863447a9b53c7022b761572023aa..67c0009ca5457012d97d48bc142297d1848d8560
@@@ -19,7 -19,6 +19,7 @@@
  #include <linux/console.h>
  #include <linux/interrupt.h>
  #include <linux/err.h>
 +#include <linux/panic_notifier.h>
  #include <linux/reboot.h>
  #include <linux/serial.h> /* ASYNC_* flags */
  #include <linux/slab.h>
@@@ -925,7 -924,7 +925,7 @@@ static void tty3215_close(struct tty_st
  /*
   * Returns the amount of free space in the output buffer.
   */
- static int tty3215_write_room(struct tty_struct *tty)
+ static unsigned int tty3215_write_room(struct tty_struct *tty)
  {
        struct raw3215_info *raw = tty->driver_data;
  
@@@ -981,7 -980,7 +981,7 @@@ static void tty3215_flush_chars(struct 
  /*
   * Returns the number of characters in the output buffer
   */
- static int tty3215_chars_in_buffer(struct tty_struct *tty)
+ static unsigned int tty3215_chars_in_buffer(struct tty_struct *tty)
  {
        struct raw3215_info *raw = tty->driver_data;
  
index de44c15fe03a754a3bb2e10546e3728efd43d4fc,5a1bf6eaa9d925b0c237aefb6176ffa6d10d2e17..1690326553b1b8b1061819fc538cb8d29764ea4d
   */
  #define MAX_SCCB_ROOM (PAGE_SIZE - sizeof(struct sclp_buffer))
  
 -static void sclp_rw_pm_event(struct sclp_register *reg,
 -                           enum sclp_pm_event sclp_pm_event)
 -{
 -      sclp_console_pm_event(sclp_pm_event);
 -}
 -
  /* Event type structure for write message and write priority message */
  static struct sclp_register sclp_rw_event = {
        .send_mask = EVTYP_MSG_MASK,
 -      .pm_event_fn = sclp_rw_pm_event,
  };
  
  /*
@@@ -318,10 -325,10 +318,10 @@@ sclp_buffer_space(struct sclp_buffer *b
  /*
   * Return number of characters in buffer
   */
- int
unsigned int
  sclp_chars_in_buffer(struct sclp_buffer *buffer)
  {
-       int count;
+       unsigned int count;
  
        count = buffer->char_sum;
        if (buffer->current_line != NULL)
index a9127489f224039d653d728c31e87f5696146e1c,b4506be79246bd671fb3ba2873c1c989b8c13af7..9b779ee4f97942315c0f4fc5fdf89010dec0e4cc
@@@ -86,6 -86,12 +86,6 @@@ void *sclp_unmake_buffer(struct sclp_bu
  int sclp_buffer_space(struct sclp_buffer *);
  int sclp_write(struct sclp_buffer *buffer, const unsigned char *, int);
  int sclp_emit_buffer(struct sclp_buffer *,void (*)(struct sclp_buffer *,int));
- int sclp_chars_in_buffer(struct sclp_buffer *);
unsigned int sclp_chars_in_buffer(struct sclp_buffer *);
  
 -#ifdef CONFIG_SCLP_CONSOLE
 -void sclp_console_pm_event(enum sclp_pm_event sclp_pm_event);
 -#else
 -static inline void sclp_console_pm_event(enum sclp_pm_event sclp_pm_event) { }
 -#endif
 -
  #endif        /* __SCLP_RW_H__ */
index f5591bf82a8ff927cf8063c17ec342b59f3971bf,162127ff784583df769bdf9f4e5e2f1a2ecb831d..6be9de8ed37d38a6c2a059e311f2254433b9c237
@@@ -86,12 -86,12 +86,12 @@@ sclp_tty_close(struct tty_struct *tty, 
   * a string of newlines. Every newline creates a new message which
   * needs 82 bytes.
   */
- static int
+ static unsigned int
  sclp_tty_write_room (struct tty_struct *tty)
  {
        unsigned long flags;
        struct list_head *l;
-       int count;
+       unsigned int count;
  
        spin_lock_irqsave(&sclp_tty_lock, flags);
        count = 0;
@@@ -280,18 -280,19 +280,17 @@@ sclp_tty_flush_chars(struct tty_struct 
   * characters in the write buffer (will not be written as long as there is a
   * final line feed missing).
   */
- static int
+ static unsigned int
  sclp_tty_chars_in_buffer(struct tty_struct *tty)
  {
        unsigned long flags;
 -      struct list_head *l;
        struct sclp_buffer *t;
-       int count;
+       unsigned int count = 0;
  
        spin_lock_irqsave(&sclp_tty_lock, flags);
-       count = 0;
        if (sclp_ttybuf != NULL)
                count = sclp_chars_in_buffer(sclp_ttybuf);
 -      list_for_each(l, &sclp_tty_outqueue) {
 -              t = list_entry(l, struct sclp_buffer, list);
 +      list_for_each_entry(t, &sclp_tty_outqueue, list) {
                count += sclp_chars_in_buffer(t);
        }
        spin_unlock_irqrestore(&sclp_tty_lock, flags);
index fa40057fd18d0771391995dac72d1d0fc8823066,24eb3a0b0a9aff159b9a1febfdcc383e39920f50..da2496306c041b432f5b15e679387569bade4db2
@@@ -9,7 -9,6 +9,7 @@@
  
  #include <linux/module.h>
  #include <linux/spinlock.h>
 +#include <linux/panic_notifier.h>
  #include <linux/list.h>
  #include <linux/wait.h>
  #include <linux/timer.h>
@@@ -36,8 -35,8 +36,8 @@@
  #define SCLP_VT220_MINOR              65
  #define SCLP_VT220_DRIVER_NAME                "sclp_vt220"
  #define SCLP_VT220_DEVICE_NAME                "ttysclp"
 -#define SCLP_VT220_CONSOLE_NAME               "ttyS"
 -#define SCLP_VT220_CONSOLE_INDEX      1       /* console=ttyS1 */
 +#define SCLP_VT220_CONSOLE_NAME               "ttysclp"
 +#define SCLP_VT220_CONSOLE_INDEX      0       /* console=ttysclp0 */
  
  /* Representation of a single write request */
  struct sclp_vt220_request {
@@@ -70,6 -69,9 +70,6 @@@ static LIST_HEAD(sclp_vt220_empty)
  /* List of pending requests */
  static LIST_HEAD(sclp_vt220_outqueue);
  
 -/* Suspend mode flag */
 -static int sclp_vt220_suspended;
 -
  /* Flag that output queue is currently running */
  static int sclp_vt220_queue_running;
  
@@@ -93,12 -95,15 +93,12 @@@ static int __initdata sclp_vt220_init_c
  static int sclp_vt220_flush_later;
  
  static void sclp_vt220_receiver_fn(struct evbuf_header *evbuf);
 -static void sclp_vt220_pm_event_fn(struct sclp_register *reg,
 -                                 enum sclp_pm_event sclp_pm_event);
  static int __sclp_vt220_emit(struct sclp_vt220_request *request);
  static void sclp_vt220_emit_current(void);
  
  /* Registration structure for SCLP output event buffers */
  static struct sclp_register sclp_vt220_register = {
        .send_mask              = EVTYP_VT220MSG_MASK,
 -      .pm_event_fn            = sclp_vt220_pm_event_fn,
  };
  
  /* Registration structure for SCLP input event buffers */
@@@ -130,7 -135,7 +130,7 @@@ sclp_vt220_process_queue(struct sclp_vt
                if (!list_empty(&sclp_vt220_outqueue))
                        request = list_entry(sclp_vt220_outqueue.next,
                                             struct sclp_vt220_request, list);
 -              if (!request || sclp_vt220_suspended) {
 +              if (!request) {
                        sclp_vt220_queue_running = 0;
                        spin_unlock_irqrestore(&sclp_vt220_lock, flags);
                        break;
@@@ -236,7 -241,7 +236,7 @@@ sclp_vt220_emit_current(void
                }
                sclp_vt220_flush_later = 0;
        }
 -      if (sclp_vt220_queue_running || sclp_vt220_suspended)
 +      if (sclp_vt220_queue_running)
                goto out_unlock;
        if (list_empty(&sclp_vt220_outqueue))
                goto out_unlock;
@@@ -415,7 -420,7 +415,7 @@@ __sclp_vt220_write(const unsigned char 
                        if (list_empty(&sclp_vt220_empty))
                                sclp_console_full++;
                        while (list_empty(&sclp_vt220_empty)) {
 -                              if (may_fail || sclp_vt220_suspended)
 +                              if (may_fail)
                                        goto out;
                                if (sclp_vt220_drop_buffer())
                                        break;
@@@ -604,12 -609,12 +604,12 @@@ sclp_vt220_flush_chars(struct tty_struc
   * to change as output buffers get emptied, or if the output flow
   * control is acted.
   */
- static int
+ static unsigned int
  sclp_vt220_write_room(struct tty_struct *tty)
  {
        unsigned long flags;
        struct list_head *l;
-       int count;
+       unsigned int count;
  
        spin_lock_irqsave(&sclp_vt220_lock, flags);
        count = 0;
  /*
   * Return number of buffered chars.
   */
- static int
+ static unsigned int
  sclp_vt220_chars_in_buffer(struct tty_struct *tty)
  {
        unsigned long flags;
        struct list_head *l;
        struct sclp_vt220_request *r;
-       int count;
+       unsigned int count = 0;
  
        spin_lock_irqsave(&sclp_vt220_lock, flags);
-       count = 0;
        if (sclp_vt220_current_request != NULL)
                count = sclp_vt220_chars_stored(sclp_vt220_current_request);
        list_for_each(l, &sclp_vt220_outqueue) {
@@@ -786,6 -790,46 +785,6 @@@ static void __sclp_vt220_flush_buffer(v
        spin_unlock_irqrestore(&sclp_vt220_lock, flags);
  }
  
 -/*
 - * Resume console: If there are cached messages, emit them.
 - */
 -static void sclp_vt220_resume(void)
 -{
 -      unsigned long flags;
 -
 -      spin_lock_irqsave(&sclp_vt220_lock, flags);
 -      sclp_vt220_suspended = 0;
 -      spin_unlock_irqrestore(&sclp_vt220_lock, flags);
 -      sclp_vt220_emit_current();
 -}
 -
 -/*
 - * Suspend console: Set suspend flag and flush console
 - */
 -static void sclp_vt220_suspend(void)
 -{
 -      unsigned long flags;
 -
 -      spin_lock_irqsave(&sclp_vt220_lock, flags);
 -      sclp_vt220_suspended = 1;
 -      spin_unlock_irqrestore(&sclp_vt220_lock, flags);
 -      __sclp_vt220_flush_buffer();
 -}
 -
 -static void sclp_vt220_pm_event_fn(struct sclp_register *reg,
 -                                 enum sclp_pm_event sclp_pm_event)
 -{
 -      switch (sclp_pm_event) {
 -      case SCLP_PM_EVENT_FREEZE:
 -              sclp_vt220_suspend();
 -              break;
 -      case SCLP_PM_EVENT_RESTORE:
 -      case SCLP_PM_EVENT_THAW:
 -              sclp_vt220_resume();
 -              break;
 -      }
 -}
 -
  #ifdef CONFIG_SCLP_VT220_CONSOLE
  
  static void
index 9ade8e7a68bae76b6d1bb84a0e2295d87a6ca4f0,d2b286ea27c5c738c64d213dc1d8b8b47cb026f3..38a280e876c2c1003cf9b1f1e9d6ef3511172ecb
@@@ -45,14 -45,14 +45,14 @@@ module_param_named(loop, create_loop_de
   */
  #define WAKEUP_CHARS             256
  
 -/**
 +/*
   * fwserial_list: list of every fw_serial created for each fw_card
   * See discussion in fwserial_probe.
   */
  static LIST_HEAD(fwserial_list);
  static DEFINE_MUTEX(fwserial_list_mutex);
  
 -/**
 +/*
   * port_table: array of tty ports allocated to each fw_card
   *
   * tty ports are allocated during probe when an fw_serial is first
@@@ -284,7 -284,7 +284,7 @@@ static void fwtty_restart_tx(struct fwt
        spin_unlock_bh(&port->lock);
  }
  
 -/**
 +/*
   * fwtty_update_port_status - decodes & dispatches line status changes
   *
   * Note: in loopback, the port->lock is being held. Only use functions that
@@@ -375,7 -375,7 +375,7 @@@ static void fwtty_update_port_status(st
                wake_up_interruptible(&port->port.delta_msr_wait);
  }
  
 -/**
 +/*
   * __fwtty_port_line_status - generate 'line status' for indicated port
   *
   * This function returns a remote 'MSR' state based on the local 'MCR' state,
@@@ -403,7 -403,7 +403,7 @@@ static unsigned int __fwtty_port_line_s
        return status;
  }
  
 -/**
 +/*
   * __fwtty_write_port_status - send the port line status to peer
   *
   * Note: caller must be holding the port lock.
@@@ -426,7 -426,7 +426,7 @@@ static int __fwtty_write_port_status(st
        return err;
  }
  
 -/**
 +/*
   * fwtty_write_port_status - same as above but locked by port lock
   */
  static int fwtty_write_port_status(struct fwtty_port *port)
@@@ -462,7 -462,7 +462,7 @@@ static void fwtty_throttle_port(struct 
        tty_kref_put(tty);
  }
  
 -/**
 +/*
   * fwtty_do_hangup - wait for ldisc to deliver all pending rx; only then hangup
   *
   * When the remote has finished tx, and all in-flight rx has been received and
@@@ -589,8 -589,9 +589,8 @@@ out
        return err;
  }
  
 -/**
 +/*
   * fwtty_port_handler - bus address handler for port reads/writes
 - * @parameters: fw_address_callback_t as specified by firewire core interface
   *
   * This handler is responsible for handling inbound read/write dma from remotes.
   */
@@@ -655,7 -656,7 +655,7 @@@ respond
        fw_send_response(card, request, rcode);
  }
  
 -/**
 +/*
   * fwtty_tx_complete - callback for tx dma
   * @data: ignored, has no meaning for write txns
   * @length: ignored, has no meaning for write txns
@@@ -721,7 -722,7 +721,7 @@@ static int fwtty_tx(struct fwtty_port *
  
        /* try to write as many dma transactions out as possible */
        n = -EAGAIN;
-       while (!tty->stopped && !tty->hw_stopped &&
+       while (!tty->flow.stopped && !tty->hw_stopped &&
               !test_bit(STOP_TX, &port->flags)) {
                txn = kmem_cache_alloc(fwtty_txn_cache, GFP_ATOMIC);
                if (!txn) {
@@@ -903,7 -904,7 +903,7 @@@ static void fwtty_port_dtr_rts(struct t
        spin_unlock_bh(&port->lock);
  }
  
 -/**
 +/*
   * fwtty_port_carrier_raised: required tty_port operation
   *
   * This port operation is polled after a tty has been opened and is waiting for
@@@ -1010,7 -1011,7 +1010,7 @@@ static int fwtty_port_activate(struct t
        return 0;
  }
  
 -/**
 +/*
   * fwtty_port_shutdown
   *
   * Note: the tty port core ensures this is not the console and
@@@ -1112,30 -1113,30 +1112,30 @@@ static int fwtty_write(struct tty_struc
        return (n < 0) ? 0 : n;
  }
  
- static int fwtty_write_room(struct tty_struct *tty)
+ static unsigned int fwtty_write_room(struct tty_struct *tty)
  {
        struct fwtty_port *port = tty->driver_data;
-       int n;
+       unsigned int n;
  
        spin_lock_bh(&port->lock);
        n = dma_fifo_avail(&port->tx_fifo);
        spin_unlock_bh(&port->lock);
  
-       fwtty_dbg(port, "%d\n", n);
+       fwtty_dbg(port, "%u\n", n);
  
        return n;
  }
  
- static int fwtty_chars_in_buffer(struct tty_struct *tty)
+ static unsigned int fwtty_chars_in_buffer(struct tty_struct *tty)
  {
        struct fwtty_port *port = tty->driver_data;
-       int n;
+       unsigned int n;
  
        spin_lock_bh(&port->lock);
        n = dma_fifo_level(&port->tx_fifo);
        spin_unlock_bh(&port->lock);
  
-       fwtty_dbg(port, "%d\n", n);
+       fwtty_dbg(port, "%u\n", n);
  
        return n;
  }
@@@ -1296,7 -1297,7 +1296,7 @@@ static void fwtty_set_termios(struct tt
        }
  }
  
 -/**
 +/*
   * fwtty_break_ctl - start/stop sending breaks
   *
   * Signals the remote to start or stop generating simulated breaks.
@@@ -1668,7 -1669,7 +1668,7 @@@ static inline int fwserial_send_mgmt_sy
        return rcode;
  }
  
 -/**
 +/*
   * fwserial_claim_port - attempt to claim port @ index for peer
   *
   * Returns ptr to claimed port or error code (as ERR_PTR())
@@@ -1696,7 -1697,7 +1696,7 @@@ static struct fwtty_port *fwserial_clai
        return port;
  }
  
 -/**
 +/*
   * fwserial_find_port - find avail port and claim for peer
   *
   * Returns ptr to claimed port or NULL if none avail
@@@ -1763,7 -1764,7 +1763,7 @@@ static void fwserial_plug_timeout(struc
                fwserial_release_port(port, false);
  }
  
 -/**
 +/*
   * fwserial_connect_peer - initiate virtual cable with peer
   *
   * Returns 0 if VIRT_CABLE_PLUG request was successfully sent,
@@@ -1828,7 -1829,7 +1828,7 @@@ free_pkt
        return err;
  }
  
 -/**
 +/*
   * fwserial_close_port -
   * HUP the tty (if the tty exists) and unregister the tty device.
   * Only used by the unit driver upon unit removal to disconnect and
@@@ -1892,7 -1893,7 +1892,7 @@@ static struct fw_serial *__fwserial_loo
        return NULL;
  }
  
 -/**
 +/*
   * __fwserial_peer_by_node_id - finds a peer matching the given generation + id
   *
   * If a matching peer could not be found for the specified generation/node id,
@@@ -2075,7 -2076,7 +2075,7 @@@ static int fwserial_add_peer(struct fw_
        return 0;
  }
  
 -/**
 +/*
   * fwserial_remove_peer - remove a 'serial' unit device as a 'peer'
   *
   * Remove a 'peer' from its list of peers. This function is only
@@@ -2278,7 -2279,7 +2278,7 @@@ free_ports
        return err;
  }
  
 -/**
 +/*
   * fwserial_probe: bus probe function for firewire 'serial' unit devices
   *
   * A 'serial' unit device is created and probed as a result of:
@@@ -2330,7 -2331,7 +2330,7 @@@ static int fwserial_probe(struct fw_uni
        return err;
  }
  
 -/**
 +/*
   * fwserial_remove: bus removal function for firewire 'serial' unit devices
   *
   * The corresponding 'peer' for this unit device is removed from the list of
@@@ -2362,7 -2363,7 +2362,7 @@@ static void fwserial_remove(struct fw_u
        mutex_unlock(&fwserial_list_mutex);
  }
  
 -/**
 +/*
   * fwserial_update: bus update function for 'firewire' serial unit devices
   *
   * Updates the new node_id and bus generation for this peer. Note that locking
@@@ -2698,8 -2699,9 +2698,8 @@@ static int fwserial_parse_mgmt_write(st
        return rcode;
  }
  
 -/**
 +/*
   * fwserial_mgmt_handler: bus address handler for mgmt requests
 - * @parameters: fw_address_callback_t as specified by firewire core interface
   *
   * This handler is responsible for handling virtual cable requests from remotes
   * for all cards.
index 297fa7b38b65648001fb360fab39e3f3c0777752,3bd03ae01bf5ebf75b788073fc1297e75f68f8a7..82a76cac94debc05a1d444f5e6ba2968348244f6
@@@ -438,8 -438,6 +438,6 @@@ static void hvc_iucv_sndbuf_work(struc
        struct hvc_iucv_private *priv;
  
        priv = container_of(work, struct hvc_iucv_private, sndbuf_work.work);
-       if (!priv)
-               return;
  
        spin_lock_bh(&priv->lock);
        hvc_iucv_send(priv);
@@@ -966,6 -964,37 +964,6 @@@ static void hvc_iucv_msg_complete(struc
        destroy_tty_buffer_list(&list_remove);
  }
  
 -/**
 - * hvc_iucv_pm_freeze() - Freeze PM callback
 - * @dev:      IUVC HVC terminal device
 - *
 - * Sever an established IUCV communication path and
 - * trigger a hang-up of the underlying HVC terminal.
 - */
 -static int hvc_iucv_pm_freeze(struct device *dev)
 -{
 -      struct hvc_iucv_private *priv = dev_get_drvdata(dev);
 -
 -      local_bh_disable();
 -      hvc_iucv_hangup(priv);
 -      local_bh_enable();
 -
 -      return 0;
 -}
 -
 -/**
 - * hvc_iucv_pm_restore_thaw() - Thaw and restore PM callback
 - * @dev:      IUVC HVC terminal device
 - *
 - * Wake up the HVC thread to trigger hang-up and respective
 - * HVC back-end notifier invocations.
 - */
 -static int hvc_iucv_pm_restore_thaw(struct device *dev)
 -{
 -      hvc_kick();
 -      return 0;
 -}
 -
  static ssize_t hvc_iucv_dev_termid_show(struct device *dev,
                                        struct device_attribute *attr,
                                        char *buf)
@@@ -1020,6 -1049,20 +1018,6 @@@ static const struct hv_ops hvc_iucv_op
        .dtr_rts = hvc_iucv_dtr_rts,
  };
  
 -/* Suspend / resume device operations */
 -static const struct dev_pm_ops hvc_iucv_pm_ops = {
 -      .freeze   = hvc_iucv_pm_freeze,
 -      .thaw     = hvc_iucv_pm_restore_thaw,
 -      .restore  = hvc_iucv_pm_restore_thaw,
 -};
 -
 -/* IUCV HVC device driver */
 -static struct device_driver hvc_iucv_driver = {
 -      .name = KMSG_COMPONENT,
 -      .bus  = &iucv_bus,
 -      .pm   = &hvc_iucv_pm_ops,
 -};
 -
  /* IUCV HVC device attributes */
  static DEVICE_ATTR(termid, 0640, hvc_iucv_dev_termid_show, NULL);
  static DEVICE_ATTR(state, 0640, hvc_iucv_dev_state_show, NULL);
@@@ -1099,6 -1142,7 +1097,6 @@@ static int __init hvc_iucv_alloc(int id
        dev_set_drvdata(priv->dev, priv);
        priv->dev->bus = &iucv_bus;
        priv->dev->parent = iucv_root;
 -      priv->dev->driver = &hvc_iucv_driver;
        priv->dev->groups = hvc_iucv_dev_attr_groups;
        priv->dev->release = (void (*)(struct device *)) kfree;
        rc = device_register(priv->dev);
@@@ -1330,6 -1374,11 +1328,6 @@@ static int __init hvc_iucv_init(void
                goto out_error;
        }
  
 -      /* register IUCV HVC device driver */
 -      rc = driver_register(&hvc_iucv_driver);
 -      if (rc)
 -              goto out_error;
 -
        /* parse hvc_iucv_allow string and create z/VM user ID filter list */
        if (hvc_iucv_filter_string) {
                rc = hvc_iucv_setup_filter(hvc_iucv_filter_string);
diff --combined drivers/tty/vcc.c
index 0c9b291ef307f890d7b65cef7aaeb6d62f0cad82,ba79da20bf73b5344d4f761b52c48c52e3ab4d67..d06bcc3b4c077621b4e02e9a1e06232132d07866
@@@ -473,9 -473,9 +473,9 @@@ static struct vio_version vcc_versions[
  
  static struct tty_port_operations vcc_port_ops = { 0 };
  
- static ssize_t vcc_sysfs_domain_show(struct device *dev,
-                                    struct device_attribute *attr,
-                                    char *buf)
+ static ssize_t domain_show(struct device *dev,
+                          struct device_attribute *attr,
+                          char *buf)
  {
        struct vcc_port *port;
        int rv;
@@@ -505,9 -505,9 +505,9 @@@ static int vcc_send_ctl(struct vcc_por
        return rv;
  }
  
- static ssize_t vcc_sysfs_break_store(struct device *dev,
-                                    struct device_attribute *attr,
-                                    const char *buf, size_t count)
+ static ssize_t break_store(struct device *dev,
+                          struct device_attribute *attr,
+                          const char *buf, size_t count)
  {
        struct vcc_port *port;
        unsigned long flags;
        return rv;
  }
  
- static DEVICE_ATTR(domain, 0400, vcc_sysfs_domain_show, NULL);
- static DEVICE_ATTR(break, 0200, NULL, vcc_sysfs_break_store);
+ static DEVICE_ATTR_ADMIN_RO(domain);
+ static DEVICE_ATTR_WO(break);
  
  static struct attribute *vcc_sysfs_entries[] = {
        &dev_attr_domain.attr,
@@@ -668,7 -668,7 +668,7 @@@ free_port
   *
   * Return: status of removal
   */
 -static int vcc_remove(struct vio_dev *vdev)
 +static void vcc_remove(struct vio_dev *vdev)
  {
        struct vcc_port *port = dev_get_drvdata(&vdev->dev);
  
                kfree(port->domain);
                kfree(port);
        }
 -
 -      return 0;
  }
  
  static const struct vio_device_id vcc_match[] = {
@@@ -868,10 -870,10 +868,10 @@@ static int vcc_write(struct tty_struct 
        return total_sent ? total_sent : rv;
  }
  
- static int vcc_write_room(struct tty_struct *tty)
+ static unsigned int vcc_write_room(struct tty_struct *tty)
  {
        struct vcc_port *port;
-       u64 num;
+       unsigned int num;
  
        port = vcc_get_ne(tty->index);
        if (unlikely(!port)) {
        return num;
  }
  
- static int vcc_chars_in_buffer(struct tty_struct *tty)
+ static unsigned int vcc_chars_in_buffer(struct tty_struct *tty)
  {
        struct vcc_port *port;
-       u64 num;
+       unsigned int num;
  
        port = vcc_get_ne(tty->index);
        if (unlikely(!port)) {
index 8cb53e10a985428296bd8bd6bc8f2aff1f8c012c,c76dcc0f679b08ee6302b0a91f323be1f738aec7..4e095746e00223550d757edc34a8ecb132f01de6
@@@ -198,22 -198,20 +198,22 @@@ static void rfcomm_reparent_device(stru
        hci_dev_put(hdev);
  }
  
 -static ssize_t show_address(struct device *tty_dev, struct device_attribute *attr, char *buf)
 +static ssize_t address_show(struct device *tty_dev,
 +                          struct device_attribute *attr, char *buf)
  {
        struct rfcomm_dev *dev = dev_get_drvdata(tty_dev);
        return sprintf(buf, "%pMR\n", &dev->dst);
  }
  
 -static ssize_t show_channel(struct device *tty_dev, struct device_attribute *attr, char *buf)
 +static ssize_t channel_show(struct device *tty_dev,
 +                          struct device_attribute *attr, char *buf)
  {
        struct rfcomm_dev *dev = dev_get_drvdata(tty_dev);
        return sprintf(buf, "%d\n", dev->channel);
  }
  
 -static DEVICE_ATTR(address, 0444, show_address, NULL);
 -static DEVICE_ATTR(channel, 0444, show_channel, NULL);
 +static DEVICE_ATTR_RO(address);
 +static DEVICE_ATTR_RO(channel);
  
  static struct rfcomm_dev *__rfcomm_dev_add(struct rfcomm_dev_req *req,
                                           struct rfcomm_dlc *dlc)
@@@ -809,7 -807,7 +809,7 @@@ static int rfcomm_tty_write(struct tty_
        return sent;
  }
  
- static int rfcomm_tty_write_room(struct tty_struct *tty)
+ static unsigned int rfcomm_tty_write_room(struct tty_struct *tty)
  {
        struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
        int room = 0;
@@@ -1012,7 -1010,7 +1012,7 @@@ static void rfcomm_tty_unthrottle(struc
        rfcomm_dlc_unthrottle(dev->dlc);
  }
  
- static int rfcomm_tty_chars_in_buffer(struct tty_struct *tty)
+ static unsigned int rfcomm_tty_chars_in_buffer(struct tty_struct *tty)
  {
        struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
  
This page took 0.265052 seconds and 4 git commands to generate.