Merge tag 'staging-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 4 Aug 2022 19:01:42 +0000 (12:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 4 Aug 2022 19:01:42 +0000 (12:01 -0700)
Pull staging driver updates from Greg KH:
 "Here is the big set of staging driver patches for 6.0-rc1.

  Another round where we removed more lines of code than added, always a
  nice progression. Some of that came from the movement of the vme code
  back into staging, and removal of some other of the vme driver code as
  there are no known users and it is very obsolete and unmaintained. It
  can be added back easily if someone offers to maintain it.

  Other than that this merge has lots of little things:

   - huge cleanups for r8188eu driver

   - minor cleanups for other wifi drivers

   - tiny loop fixes for greybus code

   - other small coding style fixes

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

* tag 'staging-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (191 commits)
  staging: r8188eu: fix potential uninitialised variable use in rtw_pwrctrl.c
  staging: r8188eu: remove initializer from ret in rtw_pwr_wakeup
  staging: vt6655: Convert macro vt6655_mac_clear_stck_ds to function
  staging: vt6655: Rename MACvClearStckDS
  staging: fbtft: core: set smem_len before fb_deferred_io_init call
  staging: r8188eu: convert rtw_pwr_wakeup to correct error code semantics
  staging: r8188eu: make dump_chip_info() static
  staging: r8188eu: remove DoReserved prototype
  staging: r8188eu: remove OnAtim prototype
  staging: r8188eu: remove SetHwReg8188EU()
  staging: r8188eu: make update_TSF() and correct_TSF() static
  staging: r8188eu: remove unused parameter from update_TSF()
  staging: r8188eu: remove unused parameter from correct_TSF()
  staging: r8188eu: remove HW_VAR_SET_OPMODE from SetHwReg8188EU()
  staging: pi433: remove duplicated comments
  staging: qlge: refine variable name
  staging: vt6655: Convert macro vt6655_mac_word_reg_bits_off to function
  staging: vt6655: Convert macro vt6655_mac_reg_bits_off to function
  staging: vt6655: Convert macro vt6655_mac_word_reg_bits_on to function
  staging: vt6655: Convert macro vt6655_mac_reg_bits_on to function
  ...

1  2 
MAINTAINERS
drivers/Makefile
drivers/staging/qlge/qlge_main.c
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
drivers/staging/vt6655/device_main.c
drivers/staging/vt6655/rxtx.c

diff --combined MAINTAINERS
@@@ -171,6 -171,7 +171,6 @@@ F: drivers/scsi/53c700
  
  6LOWPAN GENERIC (BTLE/IEEE 802.15.4)
  M:    Alexander Aring <alex.aring@gmail.com>
 -M:    Jukka Rissanen <jukka.rissanen@linux.intel.com>
  L:    linux-bluetooth@vger.kernel.org
  L:    linux-wpan@vger.kernel.org
  S:    Maintained
@@@ -241,11 -242,6 +241,11 @@@ F:       include/trace/events/9p.
  F:    include/uapi/linux/virtio_9p.h
  F:    net/9p/
  
 +A64FX DIAG DRIVER
 +M:    Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
 +S:    Supported
 +F:    drivers/soc/fujitsu/a64fx-diag.c
 +
  A8293 MEDIA DRIVER
  M:    Antti Palosaari <crope@iki.fi>
  L:    linux-media@vger.kernel.org
@@@ -284,37 -280,38 +284,37 @@@ S:      Maintaine
  F:    drivers/hwmon/abituguru3.c
  
  ACCES 104-DIO-48E GPIO DRIVER
 -M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
  F:    drivers/gpio/gpio-104-dio-48e.c
  
  ACCES 104-IDI-48 GPIO DRIVER
 -M:    "William Breathitt Gray" <vilhelm.gray@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
  F:    drivers/gpio/gpio-104-idi-48.c
  
  ACCES 104-IDIO-16 GPIO DRIVER
 -M:    "William Breathitt Gray" <vilhelm.gray@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
  F:    drivers/gpio/gpio-104-idio-16.c
  
  ACCES 104-QUAD-8 DRIVER
 -M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 -M:    Syed Nayyar Waris <syednwaris@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  F:    drivers/counter/104-quad-8.c
  
  ACCES PCI-IDIO-16 GPIO DRIVER
 -M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
  F:    drivers/gpio/gpio-pci-idio-16.c
  
  ACCES PCIe-IDIO-24 GPIO DRIVER
 -M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
  F:    drivers/gpio/gpio-pcie-idio-24.c
@@@ -765,14 -762,6 +765,14 @@@ T:       git git://linuxtv.org/media_tree.gi
  F:    Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
  F:    drivers/media/platform/sunxi/sun4i-csi/
  
 +ALLWINNER A31 MIPI CSI-2 BRIDGE DRIVER
 +M:    Paul Kocialkowski <paul.kocialkowski@bootlin.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/allwinner,sun6i-a31-mipi-csi2.yaml
 +F:    drivers/media/platform/sunxi/sun6i-mipi-csi2/
 +
  ALLWINNER CPUFREQ DRIVER
  M:    Yangtao Li <tiny.windzz@gmail.com>
  L:    linux-pm@vger.kernel.org
@@@ -1049,7 -1038,6 +1049,7 @@@ F:      arch/arm64/boot/dts/amd
  
  AMD XGBE DRIVER
  M:    Tom Lendacky <thomas.lendacky@amd.com>
 +M:    "Shyam Sundar S K" <Shyam-sundar.S-k@amd.com>
  L:    netdev@vger.kernel.org
  S:    Supported
  F:    arch/arm64/boot/dts/amd/amd-seattle-xgbe*.dtsi
@@@ -1339,7 -1327,7 +1339,7 @@@ M:      Todd Kjos <tkjos@android.com
  M:    Martijn Coenen <maco@android.com>
  M:    Joel Fernandes <joel@joelfernandes.org>
  M:    Christian Brauner <christian@brauner.io>
 -M:    Hridya Valsaraju <hridya@google.com>
 +M:    Carlos Llamas <cmllamas@google.com>
  M:    Suren Baghdasaryan <surenb@google.com>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
@@@ -1366,7 -1354,7 +1366,7 @@@ S:      Maintaine
  F:    sound/aoa/
  
  APEX EMBEDDED SYSTEMS STX104 IIO DRIVER
 -M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  F:    drivers/iio/adc/stx104.c
@@@ -1480,13 -1468,6 +1480,13 @@@ S:    Supporte
  W:    http://www.aquantia.com
  F:    drivers/net/ethernet/aquantia/atlantic/aq_ptp*
  
 +AR0521 ON SEMICONDUCTOR CAMERA SENSOR DRIVER
 +M:    Krzysztof Hałasa <khalasa@piap.pl>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/media/i2c/onnn,ar0521.yaml
 +F:    drivers/media/i2c/ar0521.c
 +
  ARASAN NAND CONTROLLER DRIVER
  M:    Miquel Raynal <miquel.raynal@bootlin.com>
  M:    Naga Sureshkumar Relli <nagasure@xilinx.com>
@@@ -1539,7 -1520,7 +1539,7 @@@ F:      Documentation/devicetree/bindings/ar
  F:    Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml
  F:    Documentation/devicetree/bindings/auxdisplay/arm,versatile-lcd.yaml
  F:    Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml
 -F:    Documentation/devicetree/bindings/i2c/i2c-versatile.txt
 +F:    Documentation/devicetree/bindings/i2c/arm,i2c-versatile.yaml
  F:    Documentation/devicetree/bindings/interrupt-controller/arm,versatile-fpga-irq.txt
  F:    Documentation/devicetree/bindings/mtd/mtd-physmap.yaml
  F:    arch/arm/boot/dts/arm-realview-*
@@@ -1912,7 -1893,6 +1912,7 @@@ L:      linux-aspeed@lists.ozlabs.org (moder
  S:    Supported
  Q:    https://patchwork.ozlabs.org/project/linux-aspeed/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed.git
 +F:    Documentation/devicetree/bindings/arm/aspeed/
  F:    arch/arm/boot/dts/aspeed-*
  F:    arch/arm/mach-aspeed/
  N:    aspeed
@@@ -2001,9 -1981,11 +2001,9 @@@ L:     linux-arm-kernel@lists.infradead.or
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/coresight/linux.git
  F:    Documentation/ABI/testing/sysfs-bus-coresight-devices-*
 -F:    Documentation/devicetree/bindings/arm/coresight-cpu-debug.txt
 -F:    Documentation/devicetree/bindings/arm/coresight-cti.yaml
 -F:    Documentation/devicetree/bindings/arm/coresight.txt
 -F:    Documentation/devicetree/bindings/arm/ete.yaml
 -F:    Documentation/devicetree/bindings/arm/trbe.yaml
 +F:    Documentation/devicetree/bindings/arm/arm,coresight-*.yaml
 +F:    Documentation/devicetree/bindings/arm/arm,embedded-trace-extension.yaml
 +F:    Documentation/devicetree/bindings/arm/arm,trace-buffer-extension.yaml
  F:    Documentation/trace/coresight/*
  F:    drivers/hwtracing/coresight/*
  F:    include/dt-bindings/arm/coresight-cti-dt.h
@@@ -2158,13 -2140,11 +2158,13 @@@ M:   Jean-Marie Verdun <verdun@hpe.com
  M:    Nick Hawkins <nick.hawkins@hpe.com>
  S:    Maintained
  F:    Documentation/devicetree/bindings/arm/hpe,gxp.yaml
 +F:    Documentation/devicetree/bindings/spi/hpe,gxp-spi.yaml
  F:    Documentation/devicetree/bindings/timer/hpe,gxp-timer.yaml
  F:    arch/arm/boot/dts/hpe-bmc*
  F:    arch/arm/boot/dts/hpe-gxp*
  F:    arch/arm/mach-hpe/
  F:    drivers/clocksource/timer-gxp.c
 +F:    drivers/spi/spi-gxp.c
  F:    drivers/watchdog/gxp-wdt.c
  
  ARM/IGEP MACHINE SUPPORT
@@@ -2436,7 -2416,7 +2436,7 @@@ T:      git git://git.kernel.org/pub/scm/lin
  F:    Documentation/devicetree/bindings/arm/ste-*
  F:    Documentation/devicetree/bindings/arm/ux500.yaml
  F:    Documentation/devicetree/bindings/arm/ux500/
 -F:    Documentation/devicetree/bindings/i2c/i2c-nomadik.txt
 +F:    Documentation/devicetree/bindings/i2c/st,nomadik-i2c.yaml
  F:    arch/arm/boot/dts/ste-*
  F:    arch/arm/mach-nomadik/
  F:    arch/arm/mach-ux500/
@@@ -2468,11 -2448,9 +2468,11 @@@ F:    Documentation/devicetree/bindings/*/
  F:    Documentation/devicetree/bindings/arm/npcm/*
  F:    arch/arm/boot/dts/nuvoton-npcm*
  F:    arch/arm/mach-npcm/
 +F:    arch/arm64/boot/dts/nuvoton/
  F:    drivers/*/*npcm*
  F:    drivers/*/*/*npcm*
  F:    include/dt-bindings/clock/nuvoton,npcm7xx-clock.h
 +F:    include/dt-bindings/clock/nuvoton,npcm845-clk.h
  
  ARM/NUVOTON WPCM450 ARCHITECTURE
  M:    Jonathan Neuschäfer <j.neuschaefer@gmx.net>
@@@ -2519,8 -2497,10 +2519,8 @@@ F:     drivers/power/reset/oxnas-restart.
  N:    oxnas
  
  ARM/PALM TREO SUPPORT
 -M:    Tomas Cech <sleep_walker@suse.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Maintained
 -W:    http://hackndev.com
 +S:    Orphan
  F:    arch/arm/mach-pxa/palmtreo.*
  
  ARM/PALMTX,PALMT5,PALMLD,PALMTE2,PALMTC SUPPORT
@@@ -2637,8 -2617,6 +2637,8 @@@ Q:      http://patchwork.kernel.org/project/
  C:    irc://irc.libera.chat/renesas-soc
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel.git next
  F:    Documentation/devicetree/bindings/arm/renesas.yaml
 +F:    Documentation/devicetree/bindings/hwinfo/renesas,prr.yaml
 +F:    Documentation/devicetree/bindings/soc/renesas/
  F:    arch/arm64/boot/dts/renesas/
  F:    drivers/soc/renesas/
  F:    include/linux/soc/renesas/
@@@ -2738,7 -2716,6 +2738,7 @@@ M:      Sylwester Nawrocki <s.nawrocki@samsu
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  L:    linux-media@vger.kernel.org
  S:    Maintained
 +F:    Documentation/devicetree/bindings/media/samsung,s5pv210-jpeg.yaml
  F:    drivers/media/platform/samsung/s5p-jpeg/
  
  ARM/SAMSUNG S5P SERIES Multi Format Codec (MFC) SUPPORT
@@@ -2758,7 -2735,6 +2758,7 @@@ Q:      http://patchwork.kernel.org/project/
  C:    irc://irc.libera.chat/renesas-soc
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel.git next
  F:    Documentation/devicetree/bindings/arm/renesas.yaml
 +F:    Documentation/devicetree/bindings/soc/renesas/
  F:    arch/arm/boot/dts/emev2*
  F:    arch/arm/boot/dts/gr-peach*
  F:    arch/arm/boot/dts/iwg20d-q7*
@@@ -2848,23 -2824,6 +2848,23 @@@ F:    drivers/clocksource/armv7m_systick.
  N:    stm32
  N:    stm
  
 +ARM/SUNPLUS SP7021 SOC SUPPORT
 +M:    Qin Jian <qinjian@cqplus1.com>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for mon-subscribers)
 +S:    Maintained
 +W:    https://sunplus-tibbo.atlassian.net/wiki/spaces/doc/overview
 +F:    Documentation/devicetree/bindings/arm/sunplus,sp7021.yaml
 +F:    Documentation/devicetree/bindings/clock/sunplus,sp7021-clkc.yaml
 +F:    Documentation/devicetree/bindings/interrupt-controller/sunplus,sp7021-intc.yaml
 +F:    Documentation/devicetree/bindings/reset/sunplus,reset.yaml
 +F:    arch/arm/boot/dts/sunplus-sp7021*.dts*
 +F:    arch/arm/configs/sp7021_*defconfig
 +F:    arch/arm/mach-sunplus/
 +F:    drivers/irqchip/irq-sp7021-intc.c
 +F:    drivers/reset/reset-sunplus.c
 +F:    include/dt-bindings/clock/sunplus,sp7021-clkc.h
 +F:    include/dt-bindings/reset/sunplus,sp7021-reset.h
 +
  ARM/Synaptics SoC support
  M:    Jisheng Zhang <jszhang@kernel.org>
  M:    Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
@@@ -3179,13 -3138,6 +3179,13 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/media/aspeed-video.txt
  F:    drivers/media/platform/aspeed/
  
 +ASPEED USB UDC DRIVER
 +M:    Neal Liu <neal_liu@aspeedtech.com>
 +L:    linux-aspeed@lists.ozlabs.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/usb/aspeed,ast2600-udc.yaml
 +F:    drivers/usb/gadget/udc/aspeed_udc.c
 +
  ASUS NOTEBOOKS AND EEEPC ACPI/WMI EXTRAS DRIVERS
  M:    Corentin Chary <corentin.chary@gmail.com>
  L:    acpi4asus-user@lists.sourceforge.net
@@@ -3924,28 -3876,15 +3924,28 @@@ BROADCOM BCMBCA ARM ARCHITECTUR
  M:    William Zhang <william.zhang@broadcom.com>
  M:    Anand Gore <anand.gore@broadcom.com>
  M:    Kursad Oney <kursad.oney@broadcom.com>
 +M:    Florian Fainelli <f.fainelli@gmail.com>
  R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  T:    git git://github.com/broadcom/stblinux.git
  F:    Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml
 -F:    arch/arm/boot/dts/bcm47622.dtsi
 -F:    arch/arm/boot/dts/bcm947622.dts
 +F:    arch/arm64/boot/dts/broadcom/bcmbca/*
  N:    bcmbca
  N:    bcm[9]?47622
 +N:    bcm[9]?4912
 +N:    bcm[9]?63138
 +N:    bcm[9]?63146
 +N:    bcm[9]?63148
 +N:    bcm[9]?63158
 +N:    bcm[9]?63178
 +N:    bcm[9]?6756
 +N:    bcm[9]?6813
 +N:    bcm[9]?6846
 +N:    bcm[9]?6855
 +N:    bcm[9]?6856
 +N:    bcm[9]?6858
 +N:    bcm[9]?6878
  
  BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE
  M:    Florian Fainelli <f.fainelli@gmail.com>
@@@ -4021,6 -3960,14 +4021,6 @@@ S:     Maintaine
  F:    arch/arm/boot/dts/bcm47189*
  F:    arch/arm/boot/dts/bcm53573*
  
 -BROADCOM BCM63XX ARM ARCHITECTURE
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 -R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Maintained
 -T:    git git://github.com/broadcom/stblinux.git
 -N:    bcm63xx
 -
  BROADCOM BCM63XX/BCM33XX UDC DRIVER
  M:    Kevin Cernekee <cernekee@gmail.com>
  L:    linux-usb@vger.kernel.org
@@@ -4427,7 -4374,7 +4427,7 @@@ L:      linux-pm@vger.kernel.or
  L:    linux-samsung-soc@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
 -F:    Documentation/devicetree/bindings/devfreq/exynos-bus.txt
 +F:    Documentation/devicetree/bindings/interconnect/samsung,exynos-bus.yaml
  F:    drivers/devfreq/exynos-bus.c
  
  BUSLOGIC SCSI DRIVER
@@@ -5017,7 -4964,7 +5017,7 @@@ R:      Nick Desaulniers <ndesaulniers@googl
  L:    llvm@lists.linux.dev
  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
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/hardening
  F:    include/linux/cfi.h
  F:    kernel/cfi.c
  
@@@ -5184,7 -5131,6 +5184,7 @@@ F:      include/linux/console
  
  CONTEXT TRACKING
  M:    Frederic Weisbecker <frederic@kernel.org>
 +M:    "Paul E. McKenney" <paulmck@kernel.org>
  S:    Maintained
  F:    kernel/context_tracking.c
  F:    include/linux/context_tracking*
@@@ -5260,10 -5206,10 +5260,10 @@@ F:   Documentation/hwmon/corsair-psu.rs
  F:    drivers/hwmon/corsair-psu.c
  
  COUNTER SUBSYSTEM
 -M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
 -T:    git git@gitlab.com:vilhelmgray/counter.git
 +T:    git https://git.linaro.org/people/william.gray/counter.git
  F:    Documentation/ABI/testing/sysfs-bus-counter
  F:    Documentation/driver-api/generic-counter.rst
  F:    drivers/counter/
@@@ -5910,7 -5856,6 +5910,7 @@@ L:      linux-pm@vger.kernel.or
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
  F:    Documentation/devicetree/bindings/devfreq/
 +F:    Documentation/devicetree/bindings/interconnect/mediatek,cci.yaml
  F:    drivers/devfreq/
  F:    include/linux/devfreq.h
  F:    include/trace/events/devfreq.h
@@@ -6023,7 -5968,7 +6023,7 @@@ F:      include/sound/da[79]*.
  F:    sound/soc/codecs/da[79]*.[ch]
  
  DIAMOND SYSTEMS GPIO-MM GPIO DRIVER
 -M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
  F:    drivers/gpio/gpio-gpio-mm.c
@@@ -6373,13 -6318,6 +6373,13 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/display/bridge/chipone,icn6211.yaml
  F:    drivers/gpu/drm/bridge/chipone-icn6211.c
  
 +DRM DRIVER FOR EBBG FT8719 PANEL
 +M:    Joel Selvaraj <jo@jsfamily.in>
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    Documentation/devicetree/bindings/display/panel/ebbg,ft8719.yaml
 +F:    drivers/gpu/drm/panel/panel-ebbg-ft8719.c
 +
  DRM DRIVER FOR FARADAY TVE200 TV ENCODER
  M:    Linus Walleij <linus.walleij@linaro.org>
  S:    Maintained
@@@ -6438,12 -6376,6 +6438,12 @@@ S:    Orphan / Obsolet
  F:    drivers/gpu/drm/i810/
  F:    include/uapi/drm/i810_drm.h
  
 +DRM DRIVER FOR LOGICVC DISPLAY CONTROLLER
 +M:    Paul Kocialkowski <paul.kocialkowski@bootlin.com>
 +S:    Supported
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    drivers/gpu/drm/logicvc/
 +
  DRM DRIVER FOR LVDS PANELS
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  L:    dri-devel@lists.freedesktop.org
@@@ -6620,17 -6552,12 +6620,17 @@@ S:   Orphan / Obsolet
  F:    drivers/gpu/drm/savage/
  F:    include/uapi/drm/savage_drm.h
  
 -DRM DRIVER FOR SIMPLE FRAMEBUFFERS
 +DRM DRIVER FOR FIRMWARE FRAMEBUFFERS
  M:    Thomas Zimmermann <tzimmermann@suse.de>
 +M:    Javier Martinez Canillas <javierm@redhat.com>
  L:    dri-devel@lists.freedesktop.org
  S:    Maintained
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    drivers/gpu/drm/drm_aperture.c
  F:    drivers/gpu/drm/tiny/simpledrm.c
 +F:    drivers/video/aperture.c
 +F:    include/drm/drm_aperture.h
 +F:    include/linux/aperture.h
  
  DRM DRIVER FOR SIS VIDEO CARDS
  S:    Orphan / Obsolete
@@@ -6668,12 -6595,6 +6668,12 @@@ DRM DRIVER FOR TDFX VIDEO CARD
  S:    Orphan / Obsolete
  F:    drivers/gpu/drm/tdfx/
  
 +DRM DRIVER FOR TI DLPC3433 MIPI DSI TO DMD BRIDGE
 +M:    Jagan Teki <jagan@amarulasolutions.com>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml
 +F:    drivers/gpu/drm/bridge/ti-dlpc3433.c
 +
  DRM DRIVER FOR TI SN65DSI86 BRIDGE CHIP
  R:    Douglas Anderson <dianders@chromium.org>
  F:    Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml
@@@ -6803,6 -6724,7 +6803,6 @@@ F:      drivers/gpu/drm/bridge
  
  DRM DRIVERS FOR EXYNOS
  M:    Inki Dae <inki.dae@samsung.com>
 -M:    Joonyoung Shim <jy0922.shim@samsung.com>
  M:    Seung-Woo Kim <sw0312.kim@samsung.com>
  M:    Kyungmin Park <kyungmin.park@samsung.com>
  L:    dri-devel@lists.freedesktop.org
@@@ -6831,16 -6753,6 +6831,16 @@@ F:    Documentation/devicetree/bindings/di
  F:    drivers/gpu/drm/imx/
  F:    drivers/gpu/ipu-v3/
  
 +DRM DRIVERS FOR FREESCALE IMX BRIDGE
 +M:    Liu Ying <victor.liu@nxp.com>
 +L:    dri-devel@lists.freedesktop.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/display/bridge/fsl,imx8qxp-ldb.yaml
 +F:    Documentation/devicetree/bindings/display/bridge/fsl,imx8qxp-pixel-combiner.yaml
 +F:    Documentation/devicetree/bindings/display/bridge/fsl,imx8qxp-pixel-link.yaml
 +F:    Documentation/devicetree/bindings/display/bridge/fsl,imx8qxp-pxl2dpi.yaml
 +F:    drivers/gpu/drm/bridge/imx/
 +
  DRM DRIVERS FOR GMA500 (Poulsbo, Moorestown and derivative chipsets)
  M:    Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
  L:    dri-devel@lists.freedesktop.org
@@@ -6885,7 -6797,6 +6885,7 @@@ L:      linux-mediatek@lists.infradead.org (
  S:    Supported
  F:    Documentation/devicetree/bindings/display/mediatek/
  F:    drivers/gpu/drm/mediatek/
 +F:    drivers/phy/mediatek/phy-mtk-dp.c
  F:    drivers/phy/mediatek/phy-mtk-hdmi*
  F:    drivers/phy/mediatek/phy-mtk-mipi*
  
@@@ -6895,7 -6806,7 +6895,7 @@@ L:      dri-devel@lists.freedesktop.or
  L:    linux-tegra@vger.kernel.org
  S:    Supported
  T:    git git://anongit.freedesktop.org/tegra/linux.git
 -F:    Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
 +F:    Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml
  F:    Documentation/devicetree/bindings/gpu/host1x/
  F:    drivers/gpu/drm/tegra/
  F:    drivers/gpu/host1x/
@@@ -6972,7 -6883,6 +6972,7 @@@ F:      drivers/gpu/drm/omapdrm
  
  DRM DRIVERS FOR V3D
  M:    Emma Anholt <emma@anholt.net>
 +M:    Melissa Wen <mwen@igalia.com>
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
@@@ -7484,13 -7394,6 +7484,13 @@@ L:    netdev@vger.kernel.or
  S:    Maintained
  F:    drivers/net/ethernet/ibm/ehea/
  
 +ELM327 CAN NETWORK DRIVER
 +M:    Max Staudt <max@enpas.org>
 +L:    linux-can@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/networking/device_drivers/can/can327.rst
 +F:    drivers/net/can/can327.c
 +
  EM28XX VIDEO4LINUX DRIVER
  M:    Mauro Carvalho Chehab <mchehab@kernel.org>
  L:    linux-media@vger.kernel.org
@@@ -7501,7 -7404,7 +7501,7 @@@ F:      Documentation/admin-guide/media/em28
  F:    drivers/media/usb/em28xx/
  
  EMBEDDED LINUX
 -M:    Matt Mackall <mpm@selenic.com>
 +M:    Olivia Mackall <olivia@selenic.com>
  M:    David Woodhouse <dwmw2@infradead.org>
  L:    linux-embedded@vger.kernel.org
  S:    Maintained
@@@ -7583,8 -7486,6 +7583,8 @@@ F:      include/video/s1d13xxxfb.
  EROFS FILE SYSTEM
  M:    Gao Xiang <xiang@kernel.org>
  M:    Chao Yu <chao@kernel.org>
 +R:    Yue Hu <huyue2@coolpad.com>
 +R:    Jeffle Xu <jefflexu@linux.alibaba.com>
  L:    linux-erofs@lists.ozlabs.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
@@@ -7598,13 -7499,6 +7598,13 @@@ S:    Maintaine
  F:    include/linux/errseq.h
  F:    lib/errseq.c
  
 +ESD CAN/USB DRIVERS
 +M:    Frank Jungclaus <frank.jungclaus@esd.eu>
 +R:    socketcan@esd.eu
 +L:    linux-can@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/can/usb/esd_usb.c
 +
  ET131X NETWORK DRIVER
  M:    Mark Einon <mark.einon@gmail.com>
  S:    Odd Fixes
@@@ -7880,6 -7774,9 +7880,6 @@@ F:      include/linux/fs.
  F:    include/linux/fs_types.h
  F:    include/uapi/linux/fs.h
  F:    include/uapi/linux/openat2.h
 -X:    fs/io-wq.c
 -X:    fs/io-wq.h
 -X:    fs/io_uring.c
  
  FINTEK F75375S HARDWARE MONITOR AND FAN CONTROLLER DRIVER
  M:    Riku Voipio <riku.voipio@iki.fi>
@@@ -7978,7 -7875,6 +7978,7 @@@ FORTIFY_SOURC
  M:    Kees Cook <keescook@chromium.org>
  L:    linux-hardening@vger.kernel.org
  S:    Supported
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/hardening
  F:    include/linux/fortify-string.h
  F:    lib/test_fortify/*
  F:    scripts/test_fortify.sh
@@@ -8011,21 -7907,6 +8011,21 @@@ F:    Documentation/fpga
  F:    drivers/fpga/
  F:    include/linux/fpga/
  
 +INTEL MAX10 BMC SECURE UPDATES
 +M:    Russ Weight <russell.h.weight@intel.com>
 +L:    linux-fpga@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-driver-intel-m10-bmc-sec-update
 +F:    drivers/fpga/intel-m10-bmc-sec-update.c
 +
 +MICROCHIP POLARFIRE FPGA DRIVERS
 +M:    Conor Dooley <conor.dooley@microchip.com>
 +R:    Ivan Bornyakov <i.bornyakov@metrotek.ru>
 +L:    linux-fpga@vger.kernel.org
 +S:    Supported
 +F:    Documentation/devicetree/bindings/fpga/microchip,mpf-spi-fpga-mgr.yaml
 +F:    drivers/fpga/microchip-spi.c
 +
  FPU EMULATOR
  M:    Bill Metzenthen <billm@melbpc.org.au>
  S:    Maintained
@@@ -8436,7 -8317,6 +8436,7 @@@ GCC PLUGIN
  M:    Kees Cook <keescook@chromium.org>
  L:    linux-hardening@vger.kernel.org
  S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/hardening
  F:    Documentation/kbuild/gcc-plugins.rst
  F:    scripts/Makefile.gcc-plugins
  F:    scripts/gcc-plugins/
@@@ -8528,7 -8408,6 +8528,7 @@@ Q:      https://patchwork.kernel.org/project
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git
  F:    Documentation/devicetree/bindings/phy/
  F:    drivers/phy/
 +F:    include/dt-bindings/phy/
  F:    include/linux/phy/
  
  GENERIC PINCTRL I2C DEMULTIPLEXER DRIVER
@@@ -8882,7 -8761,6 +8882,7 @@@ L:      linux-media@vger.kernel.or
  L:    linux-rockchip@lists.infradead.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml
 +F:    Documentation/devicetree/bindings/media/rockchip,rk3568-vepu.yaml
  F:    Documentation/devicetree/bindings/media/rockchip-vpu.yaml
  F:    drivers/staging/media/hantro/
  
@@@ -8909,7 -8787,7 +8909,7 @@@ F:      include/trace/events/hwmon*.
  K:    (devm_)?hwmon_device_(un)?register(|_with_groups|_with_info)
  
  HARDWARE RANDOM NUMBER GENERATOR CORE
 -M:    Matt Mackall <mpm@selenic.com>
 +M:    Olivia Mackall <olivia@selenic.com>
  M:    Herbert Xu <herbert@gondor.apana.org.au>
  L:    linux-crypto@vger.kernel.org
  S:    Odd fixes
@@@ -9159,31 -9037,16 +9159,31 @@@ F:   Documentation/admin-guide/perf/hisi-
  F:    Documentation/admin-guide/perf/hisi-pmu.rst
  F:    drivers/perf/hisilicon
  
 -HISILICON QM AND ZIP Controller DRIVER
 +HISILICON HNS3 PMU DRIVER
 +M:    Guangbin Huang <huangguangbin2@huawei.com>
 +S:    Supported
 +F:    Documentation/admin-guide/perf/hns3-pmu.rst
 +F:    drivers/perf/hisilicon/hns3_pmu.c
 +
 +HISILICON QM DRIVER
 +M:    Weili Qian <qianweili@huawei.com>
  M:    Zhou Wang <wangzhou1@hisilicon.com>
  L:    linux-crypto@vger.kernel.org
  S:    Maintained
 -F:    Documentation/ABI/testing/debugfs-hisi-zip
 +F:    drivers/crypto/hisilicon/Kconfig
 +F:    drivers/crypto/hisilicon/Makefile
  F:    drivers/crypto/hisilicon/qm.c
  F:    drivers/crypto/hisilicon/sgl.c
 -F:    drivers/crypto/hisilicon/zip/
  F:    include/linux/hisi_acc_qm.h
  
 +HISILICON ZIP Controller DRIVER
 +M:    Yang Shen <shenyang39@huawei.com>
 +M:    Zhou Wang <wangzhou1@hisilicon.com>
 +L:    linux-crypto@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/ABI/testing/debugfs-hisi-zip
 +F:    drivers/crypto/hisilicon/zip/
 +
  HISILICON ROCE DRIVER
  M:    Wenpeng Liang <liangwenpeng@huawei.com>
  M:    Weihang Li <liweihang@huawei.com>
@@@ -9411,7 -9274,6 +9411,7 @@@ S:      Supporte
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git
  F:    Documentation/ABI/stable/sysfs-bus-vmbus
  F:    Documentation/ABI/testing/debugfs-hyperv
 +F:    Documentation/virt/hyperv
  F:    Documentation/networking/device_drivers/ethernet/microsoft/netvsc.rst
  F:    arch/arm64/hyperv
  F:    arch/arm64/include/asm/hyperv-tlfs.h
@@@ -9757,7 -9619,6 +9757,7 @@@ F:      drivers/input/misc/ideapad_slidebar.
  
  IDMAPPED MOUNTS
  M:    Christian Brauner <brauner@kernel.org>
 +M:    Seth Forshee <sforshee@kernel.org>
  L:    linux-fsdevel@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git
@@@ -9850,7 -9711,6 +9850,7 @@@ F:      Documentation/ABI/testing/sysfs-bus-
  F:    Documentation/devicetree/bindings/iio/
  F:    drivers/iio/
  F:    drivers/staging/iio/
 +F:    include/dt-bindings/iio/
  F:    include/linux/iio/
  F:    tools/iio/
  
@@@ -10617,7 -10477,9 +10617,7 @@@ L:   io-uring@vger.kernel.or
  S:    Maintained
  T:    git git://git.kernel.dk/linux-block
  T:    git git://git.kernel.dk/liburing
 -F:    fs/io-wq.c
 -F:    fs/io-wq.h
 -F:    fs/io_uring.c
 +F:    io_uring/
  F:    include/linux/io_uring.h
  F:    include/uapi/linux/io_uring.h
  F:    tools/io_uring/
@@@ -10686,7 -10548,7 +10686,7 @@@ F:   Documentation/devicetree/bindings/in
  F:    drivers/irqchip/
  
  ISA
 -M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  S:    Maintained
  F:    Documentation/driver-api/isa.rst
  F:    drivers/base/isa.c
@@@ -10977,17 -10839,6 +10977,17 @@@ F: scripts/mk
  F:    scripts/mod/
  F:    scripts/package/
  
 +KERNEL HARDENING (not covered by other areas)
 +M:    Kees Cook <keescook@chromium.org>
 +L:    linux-hardening@vger.kernel.org
 +S:    Supported
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/hardening
 +F:    include/linux/overflow.h
 +F:    include/linux/randomize_kstack.h
 +F:    mm/usercopy.c
 +K:    \b(add|choose)_random_kstack_offset\b
 +K:    \b__check_(object_size|heap_object)\b
 +
  KERNEL JANITORS
  L:    kernel-janitors@vger.kernel.org
  S:    Odd Fixes
@@@ -11798,7 -11649,7 +11798,7 @@@ F:   drivers/media/usb/dvb-usb-v2/lmedm04
  LOADPIN SECURITY MODULE
  M:    Kees Cook <keescook@chromium.org>
  S:    Supported
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git lsm/loadpin
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/hardening
  F:    Documentation/admin-guide/LSM/LoadPin.rst
  F:    security/loadpin/
  
@@@ -12462,7 -12313,7 +12462,7 @@@ F:   drivers/net/ieee802154/mcr20a.
  F:    drivers/net/ieee802154/mcr20a.h
  
  MEASUREMENT COMPUTING CIO-DAC IIO DRIVER
 -M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  F:    drivers/iio/dac/cio-dac.c
@@@ -12703,7 -12554,6 +12703,7 @@@ F:   Documentation/driver-api/media
  F:    Documentation/userspace-api/media/
  F:    drivers/media/
  F:    drivers/staging/media/
 +F:    include/dt-bindings/media/
  F:    include/linux/platform_data/media/
  F:    include/media/
  F:    include/uapi/linux/dvb/
@@@ -12786,7 -12636,6 +12786,7 @@@ F:   drivers/media/platform/mediatek/vpu
  MEDIATEK MEDIA DRIVER
  M:    Tiffany Lin <tiffany.lin@mediatek.com>
  M:    Andrew-CT Chen <andrew-ct.chen@mediatek.com>
 +M:    Yunfei Dong <yunfei.dong@mediatek.com>
  S:    Supported
  F:    Documentation/devicetree/bindings/media/mediatek,vcodec*.yaml
  F:    Documentation/devicetree/bindings/media/mediatek-vpu.txt
@@@ -13321,7 -13170,6 +13321,7 @@@ M:   UNGLinuxDriver@microchip.co
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
 +F:    Documentation/devicetree/bindings/net/dsa/microchip,lan937x.yaml
  F:    drivers/net/dsa/microchip/*
  F:    include/linux/platform_data/microchip-ksz.h
  F:    net/dsa/tag_ksz.c
@@@ -13381,14 -13229,6 +13381,14 @@@ S: Supporte
  F:    Documentation/devicetree/bindings/mtd/atmel-nand.txt
  F:    drivers/mtd/nand/raw/atmel/*
  
 +MICROCHIP OTPC DRIVER
 +M:    Claudiu Beznea <claudiu.beznea@microchip.com>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Supported
 +F:    Documentation/devicetree/bindings/nvmem/microchip,sama7g5-otpc.yaml
 +F:    drivers/nvmem/microchip-otpc.c
 +F:    include/dt-bindings/nvmem/microchip,sama7g5-otpc.h
 +
  MICROCHIP PWM DRIVER
  M:    Claudiu Beznea <claudiu.beznea@microchip.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -13993,11 -13833,12 +13993,11 @@@ L:        netdev@vger.kernel.or
  S:    Maintained
  F:    net/sched/sch_netem.c
  
 -NETERION 10GbE DRIVERS (s2io/vxge)
 +NETERION 10GbE DRIVERS (s2io)
  M:    Jon Mason <jdmason@kudzu.us>
  L:    netdev@vger.kernel.org
  S:    Supported
  F:    Documentation/networking/device_drivers/ethernet/neterion/s2io.rst
 -F:    Documentation/networking/device_drivers/ethernet/neterion/vxge.rst
  F:    drivers/net/ethernet/neterion/
  
  NETFILTER
@@@ -14522,8 -14363,7 +14522,8 @@@ S:   Maintaine
  F:    drivers/net/phy/nxp-c45-tja11xx.c
  
  NXP FSPI DRIVER
 -M:    Ashish Kumar <ashish.kumar@nxp.com>
 +M:    Han Xu <han.xu@nxp.com>
 +M:    Haibo Chen <haibo.chen@nxp.com>
  R:    Yogesh Gaur <yogeshgaur.83@gmail.com>
  L:    linux-spi@vger.kernel.org
  S:    Maintained
@@@ -14998,7 -14838,6 +14998,7 @@@ M:   Daniel Scally <djrscally@gmail.com
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/i2c/ovti,ov5693.yaml
  F:    drivers/media/i2c/ov5693.c
  
  OMNIVISION OV5695 SENSOR DRIVER
@@@ -15073,13 -14912,6 +15073,13 @@@ S: Maintaine
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/i2c/ov9734.c
  
 +ONBOARD USB HUB DRIVER
 +M:    Matthias Kaehlcke <mka@chromium.org>
 +L:    linux-usb@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-bus-platform-onboard-usb-hub
 +F:    drivers/usb/misc/onboard_usb_hub.c
 +
  ONENAND FLASH DRIVER
  M:    Kyungmin Park <kyungmin.park@samsung.com>
  L:    linux-mtd@lists.infradead.org
@@@ -15166,7 -14998,7 +15166,7 @@@ M:   Peter Korsgaard <peter@korsgaard.com
  M:    Andrew Lunn <andrew@lunn.ch>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/i2c/i2c-ocores.txt
 +F:    Documentation/devicetree/bindings/i2c/opencores,i2c-ocores.yaml
  F:    Documentation/i2c/busses/i2c-ocores.rst
  F:    drivers/i2c/busses/i2c-ocores.c
  F:    include/linux/platform_data/i2c-ocores.h
@@@ -16017,7 -15849,7 +16017,7 @@@ PIN CONTROLLER - FREESCAL
  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>
 +M:    Jacky Bai <ping.bai@nxp.com>
  R:    Pengutronix Kernel Team <kernel@pengutronix.de>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
@@@ -16493,6 -16325,7 +16493,6 @@@ F:   drivers/media/rc/pwm-ir-tx.
  PWM SUBSYSTEM
  M:    Thierry Reding <thierry.reding@gmail.com>
  R:    Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
 -M:    Lee Jones <lee.jones@linaro.org>
  L:    linux-pwm@vger.kernel.org
  S:    Maintained
  Q:    https://patchwork.ozlabs.org/project/linux-pwm/list/
@@@ -16503,7 -16336,6 +16503,7 @@@ F:   Documentation/driver-api/pwm.rs
  F:    drivers/gpio/gpio-mvebu.c
  F:    drivers/pwm/
  F:    drivers/video/backlight/pwm_bl.c
 +F:    include/dt-bindings/pwm/
  F:    include/linux/pwm.h
  F:    include/linux/pwm_backlight.h
  K:    pwm_(config|apply_state|ops)
@@@ -16828,13 -16660,6 +16828,13 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/i2c/i2c-qcom-cci.txt
  F:    drivers/i2c/busses/i2c-qcom-cci.c
  
 +QUALCOMM INTERCONNECT BWMON DRIVER
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +L:    linux-arm-msm@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/interconnect/qcom,msm8998-bwmon.yaml
 +F:    drivers/soc/qcom/icc-bwmon.c
 +
  QUALCOMM IOMMU
  M:    Rob Clark <robdclark@gmail.com>
  L:    iommu@lists.linux.dev
@@@ -17350,19 -17175,6 +17350,19 @@@ S: Supporte
  F:    Documentation/devicetree/bindings/iio/adc/renesas,rzg2l-adc.yaml
  F:    drivers/iio/adc/rzg2l_adc.c
  
 +RENESAS RZ/N1 A5PSW SWITCH DRIVER
 +M:    Clément Léger <clement.leger@bootlin.com>
 +L:    linux-renesas-soc@vger.kernel.org
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/net/dsa/renesas,rzn1-a5psw.yaml
 +F:    Documentation/devicetree/bindings/net/pcs/renesas,rzn1-miic.yaml
 +F:    drivers/net/dsa/rzn1_a5psw*
 +F:    drivers/net/pcs/pcs-rzn1-miic.c
 +F:    include/dt-bindings/net/pcs-rzn1-miic.h
 +F:    include/linux/pcs-rzn1-miic.h
 +F:    net/dsa/tag_rzn1_a5psw.c
 +
  RENESAS RZ/N1 RTC CONTROLLER DRIVER
  M:    Miquel Raynal <miquel.raynal@bootlin.com>
  L:    linux-rtc@vger.kernel.org
@@@ -17461,18 -17273,13 +17461,18 @@@ N:        risc
  K:    riscv
  
  RISC-V/MICROCHIP POLARFIRE SOC SUPPORT
 -M:    Lewis Hanly <lewis.hanly@microchip.com>
  M:    Conor Dooley <conor.dooley@microchip.com>
 +M:    Daire McNamara <daire.mcnamara@microchip.com>
  L:    linux-riscv@lists.infradead.org
  S:    Supported
  F:    arch/riscv/boot/dts/microchip/
 +F:    drivers/char/hw_random/mpfs-rng.c
 +F:    drivers/clk/microchip/clk-mpfs.c
  F:    drivers/mailbox/mailbox-mpfs.c
 +F:    drivers/pci/controller/pcie-microchip-host.c
  F:    drivers/soc/microchip/
 +F:    drivers/spi/spi-microchip-core.c
 +F:    drivers/usb/musb/mpfs.c
  F:    include/soc/microchip/mpfs.h
  
  RNBD BLOCK DRIVERS
@@@ -18168,7 -17975,7 +18168,7 @@@ M:   Kees Cook <keescook@chromium.org
  R:    Andy Lutomirski <luto@amacapital.net>
  R:    Will Drewry <wad@chromium.org>
  S:    Supported
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git seccomp
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/seccomp
  F:    Documentation/userspace-api/seccomp_filter.rst
  F:    include/linux/seccomp.h
  F:    include/uapi/linux/seccomp.h
@@@ -18239,13 -18046,12 +18239,13 @@@ S:        Supporte
  F:    Documentation/admin-guide/security-bugs.rst
  
  SECURITY SUBSYSTEM
 +M:    Paul Moore <paul@paul-moore.com>
  M:    James Morris <jmorris@namei.org>
  M:    "Serge E. Hallyn" <serge@hallyn.com>
  L:    linux-security-module@vger.kernel.org (suggested Cc:)
  S:    Supported
  W:    http://kernsec.org/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm.git
  F:    security/
  X:    security/selinux/
  
@@@ -18348,7 -18154,6 +18348,7 @@@ SFF/SFP/SFP+ MODULE SUPPOR
  M:    Russell King <linux@armlinux.org.uk>
  L:    netdev@vger.kernel.org
  S:    Maintained
 +F:    Documentation/devicetree/bindings/net/sff,sfp.yaml
  F:    drivers/net/phy/phylink.c
  F:    drivers/net/phy/sfp*
  F:    include/linux/mdio/mdio-i2c.h
@@@ -18635,12 -18440,6 +18635,12 @@@ T: git git://git.kernel.org/pub/scm/lin
  F:    include/linux/sl?b*.h
  F:    mm/sl?b*
  
 +SLCAN CAN NETWORK DRIVER
 +M:    Dario Binacchi <dario.binacchi@amarulasolutions.com>
 +L:    linux-can@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/can/slcan/
 +
  SLEEPABLE READ-COPY UPDATE (SRCU)
  M:    Lai Jiangshan <jiangshanlai@gmail.com>
  M:    "Paul E. McKenney" <paulmck@kernel.org>
@@@ -19261,6 -19060,7 +19261,7 @@@ F:   drivers/staging/olpc_dcon
  STAGING - REALTEK RTL8188EU DRIVERS
  M:    Larry Finger <Larry.Finger@lwfinger.net>
  M:    Phillip Potter <phil@philpotter.co.uk>
+ R:    Pavel Skripkin <paskripkin@gmail.com>
  S:    Supported
  F:    drivers/staging/r8188eu/
  
@@@ -19971,7 -19771,7 +19972,7 @@@ M:   Sowjanya Komatineni <skomatineni@nvi
  L:    linux-media@vger.kernel.org
  L:    linux-tegra@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
 +F:    Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml
  F:    drivers/staging/media/tegra-video/
  
  TEGRA XUSB PADCTL DRIVER
@@@ -20094,7 -19894,6 +20095,7 @@@ F:   Documentation/ABI/testing/sysfs-clas
  F:    Documentation/devicetree/bindings/thermal/
  F:    Documentation/driver-api/thermal/
  F:    drivers/thermal/
 +F:    include/dt-bindings/thermal/
  F:    include/linux/cpu_cooling.h
  F:    include/linux/thermal.h
  F:    include/uapi/linux/thermal.h
@@@ -20569,7 -20368,7 +20570,7 @@@ F:   tools/tracing/rtla
  
  TRADITIONAL CHINESE DOCUMENTATION
  M:    Hu Haowen <src.res@email.cn>
 -L:    linux-doc-tw-discuss@lists.sourceforge.net
 +L:    linux-doc-tw-discuss@lists.sourceforge.net (moderated for non-subscribers)
  S:    Maintained
  W:    https://github.com/srcres258/linux-doc
  T:    git git://github.com/srcres258/linux-doc.git doc-zh-tw
@@@ -20689,13 -20488,6 +20690,13 @@@ F: Documentation/filesystems/ubifs-auth
  F:    Documentation/filesystems/ubifs.rst
  F:    fs/ubifs/
  
 +UBLK USERSPACE BLOCK DRIVER
 +M:    Ming Lei <ming.lei@redhat.com>
 +L:    linux-block@vger.kernel.org
 +S:    Maintained
 +F:    drivers/block/ublk_drv.c
 +F:    include/uapi/linux/ublk_cmd.h
 +
  UCLINUX (M68KNOMMU AND COLDFIRE)
  M:    Greg Ungerer <gerg@linux-m68k.org>
  L:    linux-m68k@lists.linux-m68k.org
@@@ -21399,7 -21191,6 +21400,7 @@@ M:   Jason Wang <jasowang@redhat.com
  L:    virtualization@lists.linux-foundation.org
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-bus-vdpa
 +F:    Documentation/ABI/testing/sysfs-class-vduse
  F:    Documentation/devicetree/bindings/virtio/
  F:    drivers/block/virtio_blk.c
  F:    drivers/crypto/virtio/
@@@ -21580,12 -21371,10 +21581,10 @@@ M:        Martyn Welch <martyn@welchs.me.uk
  M:    Manohar Vanga <manohar.vanga@gmail.com>
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  L:    linux-kernel@vger.kernel.org
- S:    Maintained
+ S:    Odd fixes
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
  F:    Documentation/driver-api/vme.rst
  F:    drivers/staging/vme_user/
- F:    drivers/vme/
- F:    include/linux/vme*
  
  VM SOCKETS (AF_VSOCK)
  M:    Stefano Garzarella <sgarzare@redhat.com>
@@@ -21768,13 -21557,6 +21767,13 @@@ L: linux-input@vger.kernel.or
  S:    Maintained
  F:    drivers/input/tablet/wacom_serial4.c
  
 +WANGXUN ETHERNET DRIVER
 +M:    Jiawen Wu <jiawenwu@trustnetic.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/networking/device_drivers/ethernet/wangxun/txgbe.rst
 +F:    drivers/net/ethernet/wangxun/
 +
  WATCHDOG DEVICE DRIVERS
  M:    Wim Van Sebroeck <wim@linux-watchdog.org>
  M:    Guenter Roeck <linux@roeck-us.net>
@@@ -21818,13 -21600,13 +21817,13 @@@ S:        Maintaine
  F:    drivers/media/rc/winbond-cir.c
  
  WINSYSTEMS EBC-C384 WATCHDOG DRIVER
 -M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-watchdog@vger.kernel.org
  S:    Maintained
  F:    drivers/watchdog/ebc-c384_wdt.c
  
  WINSYSTEMS WS16C48 GPIO DRIVER
 -M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
  F:    drivers/gpio/gpio-ws16c48.c
@@@ -22091,7 -21873,8 +22090,7 @@@ F:   include/uapi/linux/if_xdp.
  F:    include/uapi/linux/xdp_diag.h
  F:    include/net/netns/xdp.h
  F:    net/xdp/
 -F:    samples/bpf/xdpsock*
 -F:    tools/lib/bpf/xsk*
 +F:    tools/testing/selftests/bpf/*xsk*
  
  XEN BLOCK SUBSYSTEM
  M:    Roger Pau Monné <roger.pau@citrix.com>
@@@ -22331,7 -22114,7 +22330,7 @@@ F:   include/linux/yam.
  YAMA SECURITY MODULE
  M:    Kees Cook <keescook@chromium.org>
  S:    Supported
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git yama/tip
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/hardening
  F:    Documentation/admin-guide/LSM/Yama.rst
  F:    security/yama/
  
diff --combined drivers/Makefile
@@@ -165,7 -165,6 +165,6 @@@ obj-$(CONFIG_PM_DEVFREQ)   += devfreq
  obj-$(CONFIG_EXTCON)          += extcon/
  obj-$(CONFIG_MEMORY)          += memory/
  obj-$(CONFIG_IIO)             += iio/
- obj-$(CONFIG_VME_BUS)         += vme/
  obj-$(CONFIG_IPACK_BUS)               += ipack/
  obj-$(CONFIG_NTB)             += ntb/
  obj-$(CONFIG_POWERCAP)                += powercap/
@@@ -176,7 -175,7 +175,7 @@@ obj-$(CONFIG_USB4)         += thunderbolt
  obj-$(CONFIG_CORESIGHT)               += hwtracing/coresight/
  obj-y                         += hwtracing/intel_th/
  obj-$(CONFIG_STM)             += hwtracing/stm/
 -obj-$(CONFIG_ANDROID)         += android/
 +obj-y                         += android/
  obj-$(CONFIG_NVMEM)           += nvmem/
  obj-$(CONFIG_FPGA)            += fpga/
  obj-$(CONFIG_FSI)             += fsi/
@@@ -1976,7 -1976,7 +1976,7 @@@ static unsigned long qlge_process_mac_r
                                         vlan_id);
        } else {
                /* Non-TCP/UDP large frames that span multiple buffers
-                * can be processed corrrectly by the split frame logic.
+                * can be processed correctly by the split frame logic.
                 */
                qlge_process_mac_split_rx_intr(qdev, rx_ring, ib_mac_rsp,
                                               vlan_id);
@@@ -2461,7 -2461,7 +2461,7 @@@ static int qlge_tso(struct sk_buff *skb
                mac_iocb_ptr->flags3 |= OB_MAC_TSO_IOCB_IC;
                mac_iocb_ptr->frame_len = cpu_to_le32((u32)skb->len);
                mac_iocb_ptr->total_hdrs_len =
 -                      cpu_to_le16(skb_transport_offset(skb) + tcp_hdrlen(skb));
 +                      cpu_to_le16(skb_tcp_all_headers(skb));
                mac_iocb_ptr->net_trans_offset =
                        cpu_to_le16(skb_network_offset(skb) |
                                    skb_transport_offset(skb)
@@@ -2955,7 -2955,7 +2955,7 @@@ static int qlge_start_rx_ring(struct ql
        void __iomem *doorbell_area =
                qdev->doorbell_area + (DB_PAGE_SIZE * (128 + rx_ring->cq_id));
        int err = 0;
-       u64 tmp;
+       u64 dma;
        __le64 *base_indirect_ptr;
        int page_entries;
  
                FLAGS_LI;               /* Load irq delay values */
        if (rx_ring->cq_id < qdev->rss_ring_count) {
                cqicb->flags |= FLAGS_LL;       /* Load lbq values */
-               tmp = (u64)rx_ring->lbq.base_dma;
+               dma = (u64)rx_ring->lbq.base_dma;
                base_indirect_ptr = rx_ring->lbq.base_indirect;
-               page_entries = 0;
-               do {
-                       *base_indirect_ptr = cpu_to_le64(tmp);
-                       tmp += DB_PAGE_SIZE;
-                       base_indirect_ptr++;
-                       page_entries++;
-               } while (page_entries < MAX_DB_PAGES_PER_BQ(QLGE_BQ_LEN));
+               for (page_entries = 0;
+                    page_entries < MAX_DB_PAGES_PER_BQ(QLGE_BQ_LEN);
+                    page_entries++) {
+                       base_indirect_ptr[page_entries] = cpu_to_le64(dma);
+                       dma += DB_PAGE_SIZE;
+               }
                cqicb->lbq_addr = cpu_to_le64(rx_ring->lbq.base_indirect_dma);
                cqicb->lbq_buf_size =
                        cpu_to_le16(QLGE_FIT16(qdev->lbq_buf_size));
                rx_ring->lbq.next_to_clean = 0;
  
                cqicb->flags |= FLAGS_LS;       /* Load sbq values */
-               tmp = (u64)rx_ring->sbq.base_dma;
+               dma = (u64)rx_ring->sbq.base_dma;
                base_indirect_ptr = rx_ring->sbq.base_indirect;
-               page_entries = 0;
-               do {
-                       *base_indirect_ptr = cpu_to_le64(tmp);
-                       tmp += DB_PAGE_SIZE;
-                       base_indirect_ptr++;
-                       page_entries++;
-               } while (page_entries < MAX_DB_PAGES_PER_BQ(QLGE_BQ_LEN));
+               for (page_entries = 0;
+                    page_entries < MAX_DB_PAGES_PER_BQ(QLGE_BQ_LEN);
+                    page_entries++) {
+                       base_indirect_ptr[page_entries] = cpu_to_le64(dma);
+                       dma += DB_PAGE_SIZE;
+               }
                cqicb->sbq_addr =
                        cpu_to_le64(rx_ring->sbq.base_indirect_dma);
                cqicb->sbq_buf_size = cpu_to_le16(SMALL_BUFFER_SIZE);
                /* Inbound completion handling rx_rings run in
                 * separate NAPI contexts.
                 */
-               netif_napi_add(qdev->ndev, &rx_ring->napi, qlge_napi_poll_msix,
-                              64);
+               netif_napi_add_weight(qdev->ndev, &rx_ring->napi,
+                                     qlge_napi_poll_msix, 64);
                cqicb->irq_delay = cpu_to_le16(qdev->rx_coalesce_usecs);
                cqicb->pkt_delay = cpu_to_le16(qdev->rx_max_coalesced_frames);
        } else {
@@@ -366,9 -366,8 +366,8 @@@ void rtw_cfg80211_ibss_indicate_connect
        int freq = (int)cur_network->network.configuration.ds_config;
        struct ieee80211_channel *chan;
  
-       if (pwdev->iftype != NL80211_IFTYPE_ADHOC) {
+       if (pwdev->iftype != NL80211_IFTYPE_ADHOC)
                return;
-       }
  
        if (!rtw_cfg80211_check_bss(padapter)) {
                struct wlan_bssid_ex  *pnetwork = &(padapter->mlmeextpriv.mlmext_info.network);
@@@ -450,8 -449,8 +449,8 @@@ check_bss
  
                notify_channel = ieee80211_get_channel(wiphy, freq);
  
 -              roam_info.channel = notify_channel;
 -              roam_info.bssid = cur_network->network.mac_address;
 +              roam_info.links[0].channel = notify_channel;
 +              roam_info.links[0].bssid = cur_network->network.mac_address;
                roam_info.req_ie =
                        pmlmepriv->assoc_req+sizeof(struct ieee80211_hdr_3addr)+2;
                roam_info.req_ie_len =
@@@ -544,9 -543,8 +543,8 @@@ static int rtw_cfg80211_ap_set_encrypti
                        goto exit;
                }
  
-               if (wep_key_len > 0) {
+               if (wep_key_len > 0)
                        wep_key_len = wep_key_len <= 5 ? 5 : 13;
-               }
  
                if (psecuritypriv->bWepDefaultKeyIdxSet == 0) {
                        /* wep default key has not been set, so use this key index as default key. */
                                memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
  
                                psecuritypriv->dot118021XGrpPrivacy = _WEP40_;
-                               if (param->u.crypt.key_len == 13) {
+                               if (param->u.crypt.key_len == 13)
                                                psecuritypriv->dot118021XGrpPrivacy = _WEP104_;
-                               }
  
                        } else if (strcmp(param->u.crypt.alg, "TKIP") == 0) {
                                psecuritypriv->dot118021XGrpPrivacy = _TKIP_;
  
        }
  
-       if (psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_8021X && psta) /*  psk/802_1x */
-       {
-               if (check_fwstate(pmlmepriv, WIFI_AP_STATE))
-               {
-                       if (param->u.crypt.set_tx == 1) /* pairwise key */
-                       {
+       if (psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_8021X && psta) { /*  psk/802_1x */
+               if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
+                       if (param->u.crypt.set_tx == 1) { /* pairwise key */
                                memcpy(psta->dot118021x_UncstKey.skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
  
-                               if (strcmp(param->u.crypt.alg, "WEP") == 0)
-                               {
+                               if (strcmp(param->u.crypt.alg, "WEP") == 0) {
                                        psta->dot118021XPrivacy = _WEP40_;
                                        if (param->u.crypt.key_len == 13)
-                                       {
                                                psta->dot118021XPrivacy = _WEP104_;
-                                       }
-                               }
-                               else if (strcmp(param->u.crypt.alg, "TKIP") == 0)
-                               {
+                               } else if (strcmp(param->u.crypt.alg, "TKIP") == 0) {
                                        psta->dot118021XPrivacy = _TKIP_;
  
                                        /* DEBUG_ERR("set key length :param->u.crypt.key_len =%d\n", param->u.crypt.key_len); */
  
                                        psecuritypriv->busetkipkey = true;
  
-                               }
-                               else if (strcmp(param->u.crypt.alg, "CCMP") == 0)
-                               {
+                               } else if (strcmp(param->u.crypt.alg, "CCMP") == 0) {
  
                                        psta->dot118021XPrivacy = _AES_;
-                               }
-                               else
-                               {
+                               } else {
                                        psta->dot118021XPrivacy = _NO_PRIVACY_;
                                }
  
  
                                psta->bpairwise_key_installed = true;
  
-                       }
-                       else/* group key??? */
-                       {
-                               if (strcmp(param->u.crypt.alg, "WEP") == 0)
-                               {
+                       } else { /* group key??? */
+                               if (strcmp(param->u.crypt.alg, "WEP") == 0) {
                                        memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
  
                                        psecuritypriv->dot118021XGrpPrivacy = _WEP40_;
                                        if (param->u.crypt.key_len == 13)
-                                       {
                                                psecuritypriv->dot118021XGrpPrivacy = _WEP104_;
-                                       }
-                               }
-                               else if (strcmp(param->u.crypt.alg, "TKIP") == 0)
-                               {
+                               } else if (strcmp(param->u.crypt.alg, "TKIP") == 0) {
                                        psecuritypriv->dot118021XGrpPrivacy = _TKIP_;
  
                                        memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
  
                                        psecuritypriv->busetkipkey = true;
  
-                               }
-                               else if (strcmp(param->u.crypt.alg, "CCMP") == 0)
-                               {
+                               } else if (strcmp(param->u.crypt.alg, "CCMP") == 0) {
                                        psecuritypriv->dot118021XGrpPrivacy = _AES_;
  
                                        memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
-                               }
-                               else
-                               {
+                               } else {
                                        psecuritypriv->dot118021XGrpPrivacy = _NO_PRIVACY_;
                                }
  
                                rtw_ap_set_group_key(padapter, param->u.crypt.key, psecuritypriv->dot118021XGrpPrivacy, param->u.crypt.idx);
  
                                pbcmc_sta = rtw_get_bcmc_stainfo(padapter);
-                               if (pbcmc_sta)
-                               {
+                               if (pbcmc_sta) {
                                        pbcmc_sta->ieee8021x_blocked = false;
                                        pbcmc_sta->dot118021XPrivacy = psecuritypriv->dot118021XGrpPrivacy;/* rx will use bmc_sta's dot118021XPrivacy */
                                }
@@@ -746,20 -719,16 +719,16 @@@ static int rtw_cfg80211_set_encryption(
        param->u.crypt.err = 0;
        param->u.crypt.alg[IEEE_CRYPT_ALG_NAME_LEN - 1] = '\0';
  
-       if (param_len < (u32) ((u8 *) param->u.crypt.key - (u8 *) param) + param->u.crypt.key_len)
-       {
+       if (param_len < (u32) ((u8 *) param->u.crypt.key - (u8 *) param) + param->u.crypt.key_len) {
                ret =  -EINVAL;
                goto exit;
        }
  
        if (param->sta_addr[0] == 0xff && param->sta_addr[1] == 0xff &&
            param->sta_addr[2] == 0xff && param->sta_addr[3] == 0xff &&
-           param->sta_addr[4] == 0xff && param->sta_addr[5] == 0xff)
-       {
+           param->sta_addr[4] == 0xff && param->sta_addr[5] == 0xff) {
                if (param->u.crypt.idx >= WEP_KEYS
-                       || param->u.crypt.idx >= BIP_MAX_KEYID
-               )
-               {
+                       || param->u.crypt.idx >= BIP_MAX_KEYID) {
                        ret = -EINVAL;
                        goto exit;
                }
        }
        }
  
-       if (strcmp(param->u.crypt.alg, "WEP") == 0)
-       {
+       if (strcmp(param->u.crypt.alg, "WEP") == 0) {
                wep_key_idx = param->u.crypt.idx;
                wep_key_len = param->u.crypt.key_len;
  
-               if ((wep_key_idx >= WEP_KEYS) || (wep_key_len <= 0))
-               {
+               if ((wep_key_idx >= WEP_KEYS) || (wep_key_len <= 0)) {
                        ret = -EINVAL;
                        goto exit;
                }
  
-               if (psecuritypriv->bWepDefaultKeyIdxSet == 0)
-               {
+               if (psecuritypriv->bWepDefaultKeyIdxSet == 0) {
                        /* wep default key has not been set, so use this key index as default key. */
  
                        wep_key_len = wep_key_len <= 5 ? 5 : 13;
                        psecuritypriv->dot11PrivacyAlgrthm = _WEP40_;
                        psecuritypriv->dot118021XGrpPrivacy = _WEP40_;
  
-                       if (wep_key_len == 13)
-                       {
+                       if (wep_key_len == 13) {
                                psecuritypriv->dot11PrivacyAlgrthm = _WEP104_;
                                psecuritypriv->dot118021XGrpPrivacy = _WEP104_;
                        }
                goto exit;
        }
  
-       if (padapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X) /*  802_1x */
-       {
+       if (padapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X) { /*  802_1x */
                struct sta_info *psta, *pbcmc_sta;
                struct sta_priv *pstapriv = &padapter->stapriv;
  
-               if (check_fwstate(pmlmepriv, WIFI_STATION_STATE | WIFI_MP_STATE) == true) /* sta mode */
-               {
+               if (check_fwstate(pmlmepriv, WIFI_STATION_STATE | WIFI_MP_STATE) == true) { /* sta mode */
                        psta = rtw_get_stainfo(pstapriv, get_bssid(pmlmepriv));
                        if (psta) {
                                /* Jeff: don't disable ieee8021x_blocked while clearing key */
  
  
                                if ((padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption2Enabled) ||
-                                               (padapter->securitypriv.ndisencryptstatus ==  Ndis802_11Encryption3Enabled))
-                               {
+                                               (padapter->securitypriv.ndisencryptstatus ==  Ndis802_11Encryption3Enabled)) {
                                        psta->dot118021XPrivacy = padapter->securitypriv.dot11PrivacyAlgrthm;
                                }
  
-                               if (param->u.crypt.set_tx == 1)/* pairwise key */
-                               {
+                               if (param->u.crypt.set_tx == 1) { /* pairwise key */
  
                                        memcpy(psta->dot118021x_UncstKey.skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
  
-                                       if (strcmp(param->u.crypt.alg, "TKIP") == 0)/* set mic key */
-                                       {
+                                       if (strcmp(param->u.crypt.alg, "TKIP") == 0) { /* set mic key */
                                                /* DEBUG_ERR(("\nset key length :param->u.crypt.key_len =%d\n", param->u.crypt.key_len)); */
                                                memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8);
                                                memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8);
                                        }
  
                                        rtw_setstakey_cmd(padapter, psta, true, true);
-                               }
-                               else/* group key */
-                               {
-                                       if (strcmp(param->u.crypt.alg, "TKIP") == 0 || strcmp(param->u.crypt.alg, "CCMP") == 0)
-                                       {
+                               } else { /* group key */
+                                       if (strcmp(param->u.crypt.alg, "TKIP") == 0 || strcmp(param->u.crypt.alg, "CCMP") == 0) {
                                                memcpy(padapter->securitypriv.dot118021XGrpKey[param->u.crypt.idx].skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
                                                memcpy(padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[16]), 8);
                                                memcpy(padapter->securitypriv.dot118021XGrprxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[24]), 8);
  
                                                padapter->securitypriv.dot118021XGrpKeyid = param->u.crypt.idx;
                                                rtw_set_key(padapter, &padapter->securitypriv, param->u.crypt.idx, 1, true);
-                                       }
-                                       else if (strcmp(param->u.crypt.alg, "BIP") == 0)
-                                       {
+                                       } else if (strcmp(param->u.crypt.alg, "BIP") == 0) {
                                                /* save the IGTK key, length 16 bytes */
                                                memcpy(padapter->securitypriv.dot11wBIPKey[param->u.crypt.idx].skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
                                                /*
                        }
  
                        pbcmc_sta = rtw_get_bcmc_stainfo(padapter);
-                       if (!pbcmc_sta)
-                       {
+                       if (!pbcmc_sta) {
                                /* DEBUG_ERR(("Set OID_802_11_ADD_KEY: bcmc stainfo is null\n")); */
-                       }
-                       else
-                       {
+                       } else {
                                /* Jeff: don't disable ieee8021x_blocked while clearing key */
                                if (strcmp(param->u.crypt.alg, "none") != 0)
                                        pbcmc_sta->ieee8021x_blocked = false;
  
                                if ((padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption2Enabled) ||
-                                               (padapter->securitypriv.ndisencryptstatus ==  Ndis802_11Encryption3Enabled))
-                               {
+                                               (padapter->securitypriv.ndisencryptstatus ==  Ndis802_11Encryption3Enabled)) {
                                        pbcmc_sta->dot118021XPrivacy = padapter->securitypriv.dot11PrivacyAlgrthm;
                                }
                        }
-               }
-               else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) /* adhoc mode */
-               {
+               } else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { /* adhoc mode */
                }
        }
  
@@@ -949,39 -898,29 +898,29 @@@ static int cfg80211_rtw_add_key(struct 
  
  
        if (!mac_addr || is_broadcast_ether_addr(mac_addr))
-       {
                param->u.crypt.set_tx = 0; /* for wpa/wpa2 group key */
-       } else {
+       else
                param->u.crypt.set_tx = 1; /* for wpa/wpa2 pairwise key */
-       }
  
        param->u.crypt.idx = key_index;
  
        if (params->seq_len && params->seq)
-       {
                memcpy(param->u.crypt.seq, (u8 *)params->seq, params->seq_len);
-       }
  
-       if (params->key_len && params->key)
-       {
+       if (params->key_len && params->key) {
                param->u.crypt.key_len = params->key_len;
                memcpy(param->u.crypt.key, (u8 *)params->key, params->key_len);
        }
  
-       if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) == true)
-       {
+       if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) == true) {
                ret =  rtw_cfg80211_set_encryption(ndev, param, param_len);
-       }
-       else if (check_fwstate(pmlmepriv, WIFI_AP_STATE) == true)
-       {
+       } else if (check_fwstate(pmlmepriv, WIFI_AP_STATE) == true) {
                if (mac_addr)
                        memcpy(param->sta_addr, (void *)mac_addr, ETH_ALEN);
  
                ret = rtw_cfg80211_ap_set_encryption(ndev, param, param_len);
-       }
-         else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) == true
-                 || check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) == true)
-         {
+       } else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) == true
+                 || check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) == true) {
                  ret =  rtw_cfg80211_set_encryption(ndev, param, param_len);
          }
  
@@@ -1007,8 -946,7 +946,7 @@@ static int cfg80211_rtw_del_key(struct 
        struct adapter *padapter = rtw_netdev_priv(ndev);
        struct security_priv *psecuritypriv = &padapter->securitypriv;
  
-       if (key_index == psecuritypriv->dot11PrivacyKeyIndex)
-       {
+       if (key_index == psecuritypriv->dot11PrivacyKeyIndex) {
                /* clear the flag of wep default key set. */
                psecuritypriv->bWepDefaultKeyIdxSet = 0;
        }
@@@ -1024,16 -962,14 +962,14 @@@ static int cfg80211_rtw_set_default_key
        struct adapter *padapter = rtw_netdev_priv(ndev);
        struct security_priv *psecuritypriv = &padapter->securitypriv;
  
-       if ((key_index < WEP_KEYS) && ((psecuritypriv->dot11PrivacyAlgrthm == _WEP40_) || (psecuritypriv->dot11PrivacyAlgrthm == _WEP104_))) /* set wep default key */
-       {
+       if ((key_index < WEP_KEYS) && ((psecuritypriv->dot11PrivacyAlgrthm == _WEP40_) || (psecuritypriv->dot11PrivacyAlgrthm == _WEP104_))) { /* set wep default key */
                psecuritypriv->ndisencryptstatus = Ndis802_11Encryption1Enabled;
  
                psecuritypriv->dot11PrivacyKeyIndex = key_index;
  
                psecuritypriv->dot11PrivacyAlgrthm = _WEP40_;
                psecuritypriv->dot118021XGrpPrivacy = _WEP40_;
-               if (psecuritypriv->dot11DefKeylen[key_index] == 13)
-               {
+               if (psecuritypriv->dot11DefKeylen[key_index] == 13) {
                        psecuritypriv->dot11PrivacyAlgrthm = _WEP104_;
                        psecuritypriv->dot118021XGrpPrivacy = _WEP104_;
                }
@@@ -1071,9 -1007,7 +1007,7 @@@ static int cfg80211_rtw_get_station(str
  
        /* for infra./P2PClient mode */
        if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)
-               && check_fwstate(pmlmepriv, _FW_LINKED)
-       )
-       {
+               && check_fwstate(pmlmepriv, _FW_LINKED)) {
                struct wlan_network  *cur_network = &(pmlmepriv->cur_network);
  
                if (memcmp((u8 *)mac, cur_network->network.mac_address, ETH_ALEN)) {
        if ((check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)
   || check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)
   || check_fwstate(pmlmepriv, WIFI_AP_STATE))
-               && check_fwstate(pmlmepriv, _FW_LINKED)
-       )
-       {
+               && check_fwstate(pmlmepriv, _FW_LINKED)) {
                /* TODO: should acquire station info... */
        }
  
@@@ -1121,8 -1053,7 +1053,7 @@@ static int cfg80211_rtw_change_iface(st
        struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
        int ret = 0;
  
-       if (adapter_to_dvobj(padapter)->processing_dev_remove == true)
-       {
+       if (adapter_to_dvobj(padapter)->processing_dev_remove == true) {
                ret = -EPERM;
                goto exit;
        }
  
        old_type = rtw_wdev->iftype;
  
-       if (old_type != type)
-       {
+       if (old_type != type) {
                pmlmeext->action_public_rxseq = 0xffff;
                pmlmeext->action_public_dialog_token = 0xff;
        }
  
        rtw_wdev->iftype = type;
  
-       if (rtw_set_802_11_infrastructure_mode(padapter, networkType) == false)
-       {
+       if (rtw_set_802_11_infrastructure_mode(padapter, networkType) == false) {
                rtw_wdev->iftype = old_type;
                ret = -EPERM;
                goto exit;
@@@ -1230,9 -1159,7 +1159,7 @@@ void rtw_cfg80211_surveydone_event_call
  
                /* report network only if the current channel set contains the channel to which this network belongs */
                if (rtw_ch_set_search_ch(padapter->mlmeextpriv.channel_set, pnetwork->network.configuration.ds_config) >= 0
-                       && true == rtw_validate_ssid(&(pnetwork->network.ssid))
-               )
-               {
+                       && true == rtw_validate_ssid(&(pnetwork->network.ssid))) {
                        /* ev =translate_scan(padapter, a, pnetwork, ev, stop); */
                        rtw_cfg80211_inform_bss(padapter, pnetwork);
                }
@@@ -1249,13 -1176,10 +1176,10 @@@ static int rtw_cfg80211_set_probe_req_w
        u8 *wps_ie;
        struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
  
-       if (len > 0)
-       {
+       if (len > 0) {
                wps_ie = rtw_get_wps_ie(buf, len, NULL, &wps_ielen);
-               if (wps_ie)
-               {
-                       if (pmlmepriv->wps_probe_req_ie)
-                       {
+               if (wps_ie) {
+                       if (pmlmepriv->wps_probe_req_ie) {
                                pmlmepriv->wps_probe_req_ie_len = 0;
                                kfree(pmlmepriv->wps_probe_req_ie);
                                pmlmepriv->wps_probe_req_ie = NULL;
@@@ -1307,10 -1231,8 +1231,8 @@@ static int cfg80211_rtw_scan(struct wip
        pwdev_priv->scan_request = request;
        spin_unlock_bh(&pwdev_priv->scan_req_lock);
  
-       if (check_fwstate(pmlmepriv, WIFI_AP_STATE) == true)
-       {
-               if (check_fwstate(pmlmepriv, WIFI_UNDER_WPS|_FW_UNDER_SURVEY|_FW_UNDER_LINKING) == true)
-               {
+       if (check_fwstate(pmlmepriv, WIFI_AP_STATE) == true) {
+               if (check_fwstate(pmlmepriv, WIFI_UNDER_WPS|_FW_UNDER_SURVEY|_FW_UNDER_LINKING) == true) {
                        need_indicate_scan_done = true;
                        goto check_need_indicate_scan_done;
                }
                goto check_need_indicate_scan_done;
        }
  
-       if (pmlmepriv->LinkDetectInfo.bBusyTraffic == true)
-       {
-               static unsigned long lastscantime = 0;
+       if (pmlmepriv->LinkDetectInfo.bBusyTraffic == true) {
+               static unsigned long lastscantime;
                unsigned long passtime;
  
                passtime = jiffies_to_msecs(jiffies - lastscantime);
                lastscantime = jiffies;
-               if (passtime > 12000)
-               {
+               if (passtime > 12000) {
                        need_indicate_scan_done = true;
                        goto check_need_indicate_scan_done;
                }
        } else if (request->n_channels <= 4) {
                for (j = request->n_channels - 1; j >= 0; j--)
                        for (i = 0; i < survey_times; i++)
-               {
                        memcpy(&ch[j*survey_times+i], &ch[j], sizeof(struct rtw_ieee80211_channel));
-               }
                _status = rtw_sitesurvey_cmd(padapter, ssid, RTW_SSID_SCAN_AMOUNT, ch, survey_times * request->n_channels);
        } else {
                _status = rtw_sitesurvey_cmd(padapter, ssid, RTW_SSID_SCAN_AMOUNT, NULL, 0);
  
  
        if (_status == false)
-       {
                ret = -1;
-       }
  
  check_need_indicate_scan_done:
        kfree(ssid);
-       if (need_indicate_scan_done)
-       {
+       if (need_indicate_scan_done) {
                rtw_cfg80211_surveydone_event_callback(padapter);
                rtw_cfg80211_indicate_scan_done(padapter, false);
        }
@@@ -1424,9 -1339,7 +1339,7 @@@ static int rtw_cfg80211_set_wpa_version
  
  
        if (wpa_version & (NL80211_WPA_VERSION_1 | NL80211_WPA_VERSION_2))
-       {
                psecuritypriv->ndisauthtype = Ndis802_11AuthModeWPAPSK;
-       }
  
        return 0;
  
@@@ -1585,8 -1498,7 +1498,7 @@@ static int rtw_cfg80211_set_wpa_ie(stru
        if (pairwise_cipher == 0)
                pairwise_cipher = WPA_CIPHER_NONE;
  
-       switch (group_cipher)
-       {
+       switch (group_cipher) {
                case WPA_CIPHER_NONE:
                        padapter->securitypriv.dot118021XGrpPrivacy = _NO_PRIVACY_;
                        padapter->securitypriv.ndisencryptstatus = Ndis802_11EncryptionDisabled;
                        break;
        }
  
-       switch (pairwise_cipher)
-       {
+       switch (pairwise_cipher) {
                case WPA_CIPHER_NONE:
                        padapter->securitypriv.dot11PrivacyAlgrthm = _NO_PRIVACY_;
                        padapter->securitypriv.ndisencryptstatus = Ndis802_11EncryptionDisabled;
@@@ -1731,8 -1642,7 +1642,7 @@@ static int cfg80211_rtw_leave_ibss(stru
  
                rtw_wdev->iftype = NL80211_IFTYPE_STATION;
  
-               if (rtw_set_802_11_infrastructure_mode(padapter, Ndis802_11Infrastructure) == false)
-               {
+               if (rtw_set_802_11_infrastructure_mode(padapter, Ndis802_11Infrastructure) == false) {
                        rtw_wdev->iftype = old_type;
                        ret = -EPERM;
                        goto leave_ibss;
@@@ -1792,9 -1702,8 +1702,8 @@@ static int cfg80211_rtw_connect(struct 
                ret = -EBUSY;
                goto exit;
        }
-       if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY) == true) {
+       if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY) == true)
                rtw_scan_abort(padapter);
-       }
  
        psecuritypriv->ndisencryptstatus = Ndis802_11EncryptionDisabled;
        psecuritypriv->dot11PrivacyAlgrthm = _NO_PRIVACY_;
@@@ -2086,7 -1995,6 +1995,7 @@@ static u8 rtw_get_chan_type(struct adap
  }
  
  static int cfg80211_rtw_get_channel(struct wiphy *wiphy, struct wireless_dev *wdev,
 +                                  unsigned int link_id,
                                    struct cfg80211_chan_def *chandef)
  {
        struct adapter *adapter = wiphy_to_adapter(wiphy);
@@@ -2288,9 -2196,8 +2197,8 @@@ static int rtw_cfg80211_add_monitor_if(
        mon_ndev->ieee80211_ptr = mon_wdev;
  
        ret = cfg80211_register_netdevice(mon_ndev);
-       if (ret) {
+       if (ret)
                goto out;
-       }
  
        *ndev = pwdev_priv->pmon_ndev = mon_ndev;
        memcpy(pwdev_priv->ifname_mon, name, IFNAMSIZ+1);
@@@ -2403,11 -2310,10 +2311,10 @@@ static int rtw_add_beacon(struct adapte
        rtw_ies_remove_ie(pbuf, &len, _BEACON_IE_OFFSET_, WLAN_EID_VENDOR_SPECIFIC, P2P_OUI, 4);
        rtw_ies_remove_ie(pbuf, &len, _BEACON_IE_OFFSET_, WLAN_EID_VENDOR_SPECIFIC, WFD_OUI, 4);
  
-       if (rtw_check_beacon_data(adapter, pbuf,  len) == _SUCCESS) {
+       if (rtw_check_beacon_data(adapter, pbuf,  len) == _SUCCESS)
                ret = 0;
-       } else {
+       else
                ret = -EINVAL;
-       }
  
  
        kfree(pbuf);
@@@ -2447,8 -2353,7 +2354,8 @@@ static int cfg80211_rtw_change_beacon(s
        return rtw_add_beacon(adapter, info->head, info->head_len, info->tail, info->tail_len);
  }
  
 -static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev)
 +static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev,
 +                              unsigned int link_id)
  {
        return 0;
  }
@@@ -122,6 -122,9 +122,9 @@@ static int  vt6655_probe(struct pci_de
  static void device_free_info(struct vnt_private *priv);
  static void device_print_info(struct vnt_private *priv);
  
+ static void vt6655_mac_write_bssid_addr(void __iomem *iobase, const u8 *mac_addr);
+ static void vt6655_mac_read_ether_addr(void __iomem *iobase, u8 *mac_addr);
  static int device_init_rd0_ring(struct vnt_private *priv);
  static int device_init_rd1_ring(struct vnt_private *priv);
  static int device_init_td0_ring(struct vnt_private *priv);
@@@ -186,6 -189,22 +189,22 @@@ device_set_options(struct vnt_private *
        pr_debug(" byBBType= %d\n", (int)priv->byBBType);
  }
  
+ static void vt6655_mac_write_bssid_addr(void __iomem *iobase, const u8 *mac_addr)
+ {
+       iowrite8(1, iobase + MAC_REG_PAGE1SEL);
+       for (int i = 0; i < 6; i++)
+               iowrite8(mac_addr[i], iobase + MAC_REG_BSSID0 + i);
+       iowrite8(0, iobase + MAC_REG_PAGE1SEL);
+ }
+ static void vt6655_mac_read_ether_addr(void __iomem *iobase, u8 *mac_addr)
+ {
+       iowrite8(1, iobase + MAC_REG_PAGE1SEL);
+       for (int i = 0; i < 6; i++)
+               mac_addr[i] = ioread8(iobase + MAC_REG_PAR0 + i);
+       iowrite8(0, iobase + MAC_REG_PAGE1SEL);
+ }
  /*
   * Initialisation of MAC & BBP registers
   */
@@@ -340,8 -359,8 +359,8 @@@ static void device_init_registers(struc
        }
  
        /* use relative tx timeout and 802.11i D4 */
-       MACvWordRegBitsOn(priv->port_offset,
-                         MAC_REG_CFG, (CFG_TKIPOPT | CFG_NOTXTIMEOUT));
+       vt6655_mac_word_reg_bits_on(priv->port_offset, MAC_REG_CFG,
+                                   (CFG_TKIPOPT | CFG_NOTXTIMEOUT));
  
        /* set performance parameter by registry */
        MACvSetShortRetryLimit(priv, priv->byShortRetryLimit);
        CARDvSafeResetTx(priv);
  
        if (priv->local_id <= REV_ID_VT3253_A1)
-               MACvRegBitsOn(priv->port_offset, MAC_REG_RCR, RCR_WPAERR);
+               vt6655_mac_reg_bits_on(priv->port_offset, MAC_REG_RCR, RCR_WPAERR);
  
        /* Turn On Rx DMA */
        MACvReceive0(priv->port_offset);
@@@ -979,7 -998,7 +998,7 @@@ static void vnt_check_bb_vga(struct vnt
        if (priv->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL)
                return;
  
 -      if (!(priv->vif->bss_conf.assoc && priv->current_rssi))
 +      if (!(priv->vif->cfg.assoc && priv->current_rssi))
                return;
  
        RFvRSSITodBm(priv, (u8)priv->current_rssi, &dbm);
@@@ -1055,13 -1074,12 +1074,12 @@@ static void vnt_interrupt_process(struc
         * update ISR counter
         */
        while (isr && priv->vif) {
-               MACvWriteISR(priv->port_offset, isr);
+               iowrite32(isr, priv->port_offset + MAC_REG_ISR);
  
                if (isr & ISR_FETALERR) {
                        pr_debug(" ISR_FETALERR\n");
                        iowrite8(0, priv->port_offset + MAC_REG_SOFTPWRCTL);
-                       VNSvOutPortW(priv->port_offset +
-                                    MAC_REG_SOFTPWRCTL, SOFTPWRCTL_SWPECTI);
+                       iowrite16(SOFTPWRCTL_SWPECTI, priv->port_offset + MAC_REG_SOFTPWRCTL);
                        device_error(priv, isr);
                }
  
@@@ -1135,7 -1153,7 +1153,7 @@@ static void vnt_interrupt_work(struct w
        if (priv->vif)
                vnt_interrupt_process(priv);
  
-       MACvIntEnable(priv->port_offset, IMR_MASK_VALUE);
+       iowrite32(IMR_MASK_VALUE, priv->port_offset + MAC_REG_IMR);
  }
  
  static irqreturn_t vnt_interrupt(int irq,  void *arg)
  
        schedule_work(&priv->interrupt_work);
  
-       MACvIntDisable(priv->port_offset);
+       iowrite32(0, priv->port_offset + MAC_REG_IMR);
  
        return IRQ_HANDLED;
  }
@@@ -1253,8 -1271,8 +1271,8 @@@ static int vnt_start(struct ieee80211_h
  
        device_init_registers(priv);
  
-       dev_dbg(&priv->pcid->dev, "call MACvIntEnable\n");
-       MACvIntEnable(priv->port_offset, IMR_MASK_VALUE);
+       dev_dbg(&priv->pcid->dev, "enable MAC interrupt\n");
+       iowrite32(IMR_MASK_VALUE, priv->port_offset + MAC_REG_IMR);
  
        ieee80211_wake_queues(hw);
  
@@@ -1304,15 -1322,15 +1322,15 @@@ static int vnt_add_interface(struct iee
        case NL80211_IFTYPE_STATION:
                break;
        case NL80211_IFTYPE_ADHOC:
-               MACvRegBitsOff(priv->port_offset, MAC_REG_RCR, RCR_UNICAST);
+               vt6655_mac_reg_bits_off(priv->port_offset, MAC_REG_RCR, RCR_UNICAST);
  
-               MACvRegBitsOn(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_ADHOC);
+               vt6655_mac_reg_bits_on(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_ADHOC);
  
                break;
        case NL80211_IFTYPE_AP:
-               MACvRegBitsOff(priv->port_offset, MAC_REG_RCR, RCR_UNICAST);
+               vt6655_mac_reg_bits_off(priv->port_offset, MAC_REG_RCR, RCR_UNICAST);
  
-               MACvRegBitsOn(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_AP);
+               vt6655_mac_reg_bits_on(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_AP);
  
                break;
        default:
@@@ -1333,16 -1351,16 +1351,16 @@@ static void vnt_remove_interface(struc
        case NL80211_IFTYPE_STATION:
                break;
        case NL80211_IFTYPE_ADHOC:
-               MACvRegBitsOff(priv->port_offset, MAC_REG_TCR, TCR_AUTOBCNTX);
-               MACvRegBitsOff(priv->port_offset,
-                              MAC_REG_TFTCTL, TFTCTL_TSFCNTREN);
-               MACvRegBitsOff(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_ADHOC);
+               vt6655_mac_reg_bits_off(priv->port_offset, MAC_REG_TCR, TCR_AUTOBCNTX);
+               vt6655_mac_reg_bits_off(priv->port_offset,
+                                       MAC_REG_TFTCTL, TFTCTL_TSFCNTREN);
+               vt6655_mac_reg_bits_off(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_ADHOC);
                break;
        case NL80211_IFTYPE_AP:
-               MACvRegBitsOff(priv->port_offset, MAC_REG_TCR, TCR_AUTOBCNTX);
-               MACvRegBitsOff(priv->port_offset,
-                              MAC_REG_TFTCTL, TFTCTL_TSFCNTREN);
-               MACvRegBitsOff(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_AP);
+               vt6655_mac_reg_bits_off(priv->port_offset, MAC_REG_TCR, TCR_AUTOBCNTX);
+               vt6655_mac_reg_bits_off(priv->port_offset,
+                                       MAC_REG_TFTCTL, TFTCTL_TSFCNTREN);
+               vt6655_mac_reg_bits_off(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_AP);
                break;
        default:
                break;
@@@ -1395,18 -1413,18 +1413,18 @@@ static int vnt_config(struct ieee80211_
  
  static void vnt_bss_info_changed(struct ieee80211_hw *hw,
                                 struct ieee80211_vif *vif,
 -                               struct ieee80211_bss_conf *conf, u32 changed)
 +                               struct ieee80211_bss_conf *conf, u64 changed)
  {
        struct vnt_private *priv = hw->priv;
  
 -      priv->current_aid = conf->aid;
 +      priv->current_aid = vif->cfg.aid;
  
        if (changed & BSS_CHANGED_BSSID && conf->bssid) {
                unsigned long flags;
  
                spin_lock_irqsave(&priv->lock, flags);
  
-               MACvWriteBSSIDAddress(priv->port_offset, conf->bssid);
+               vt6655_mac_write_bssid_addr(priv->port_offset, conf->bssid);
  
                spin_unlock_irqrestore(&priv->lock, flags);
        }
                if (conf->enable_beacon) {
                        vnt_beacon_enable(priv, vif, conf);
  
-                       MACvRegBitsOn(priv->port_offset, MAC_REG_TCR,
-                                     TCR_AUTOBCNTX);
+                       vt6655_mac_reg_bits_on(priv->port_offset, MAC_REG_TCR, TCR_AUTOBCNTX);
                } else {
-                       MACvRegBitsOff(priv->port_offset, MAC_REG_TCR,
-                                      TCR_AUTOBCNTX);
+                       vt6655_mac_reg_bits_off(priv->port_offset, MAC_REG_TCR,
+                                               TCR_AUTOBCNTX);
                }
        }
  
        if (changed & (BSS_CHANGED_ASSOC | BSS_CHANGED_BEACON_INFO) &&
            priv->op_mode != NL80211_IFTYPE_AP) {
 -              if (conf->assoc && conf->beacon_rate) {
 +              if (vif->cfg.assoc && conf->beacon_rate) {
                        CARDbUpdateTSF(priv, conf->beacon_rate->hw_value,
                                       conf->sync_tsf);
  
@@@ -1523,20 -1540,17 +1540,17 @@@ static void vnt_configure(struct ieee80
                        if (priv->mc_list_count > 2) {
                                MACvSelectPage1(priv->port_offset);
  
-                               VNSvOutPortD(priv->port_offset +
-                                            MAC_REG_MAR0, 0xffffffff);
-                               VNSvOutPortD(priv->port_offset +
-                                           MAC_REG_MAR0 + 4, 0xffffffff);
+                               iowrite32(0xffffffff, priv->port_offset + MAC_REG_MAR0);
+                               iowrite32(0xffffffff, priv->port_offset + MAC_REG_MAR0 + 4);
  
                                MACvSelectPage0(priv->port_offset);
                        } else {
                                MACvSelectPage1(priv->port_offset);
  
-                               VNSvOutPortD(priv->port_offset +
-                                            MAC_REG_MAR0, (u32)multicast);
-                               VNSvOutPortD(priv->port_offset +
-                                            MAC_REG_MAR0 + 4,
-                                            (u32)(multicast >> 32));
+                               multicast =  le64_to_cpu(multicast);
+                               iowrite32((u32)multicast, priv->port_offset +  MAC_REG_MAR0);
+                               iowrite32((u32)(multicast >> 32),
+                                         priv->port_offset + MAC_REG_MAR0 + 4);
  
                                MACvSelectPage0(priv->port_offset);
                        }
@@@ -1726,7 -1740,7 +1740,7 @@@ vt6655_probe(struct pci_dev *pcid, cons
        }
        /* initial to reload eeprom */
        MACvInitialize(priv);
-       MACvReadEtherAddress(priv->port_offset, priv->abyCurrentNetAddr);
+       vt6655_mac_read_ether_addr(priv->port_offset, priv->abyCurrentNetAddr);
  
        /* Get RFType */
        priv->byRFType = SROMbyReadEmbedded(priv->port_offset, EEP_OFS_RFTYPE);
@@@ -1420,11 -1420,11 +1420,11 @@@ static int vnt_beacon_xmit(struct vnt_p
  
        priv->wBCNBufLen = sizeof(*short_head) + skb->len;
  
-       MACvSetCurrBCNTxDescAddr(priv->port_offset, priv->tx_beacon_dma);
+       iowrite32((u32)priv->tx_beacon_dma, priv->port_offset + MAC_REG_BCNDMAPTR);
  
-       MACvSetCurrBCNLength(priv->port_offset, priv->wBCNBufLen);
+       iowrite16(priv->wBCNBufLen, priv->port_offset + MAC_REG_BCNDMACTL + 2);
        /* Set auto Transmit on */
-       MACvRegBitsOn(priv->port_offset, MAC_REG_TCR, TCR_AUTOBCNTX);
+       vt6655_mac_reg_bits_on(priv->port_offset, MAC_REG_TCR, TCR_AUTOBCNTX);
        /* Poll Transmit the adapter */
        iowrite8(BEACON_READY, priv->port_offset + MAC_REG_BCNDMACTL);
  
@@@ -1435,7 -1435,7 +1435,7 @@@ int vnt_beacon_make(struct vnt_private 
  {
        struct sk_buff *beacon;
  
 -      beacon = ieee80211_beacon_get(priv->hw, vif);
 +      beacon = ieee80211_beacon_get(priv->hw, vif, 0);
        if (!beacon)
                return -ENOMEM;