Commit graph

1,169,205 commits

Author SHA1 Message Date
Paul Cercueil
1a3c7bb088 PM: core: Add new *_PM_OPS macros, deprecate old ones
This commit introduces the following macros:

SYSTEM_SLEEP_PM_OPS()
LATE_SYSTEM_SLEEP_PM_OPS()
NOIRQ_SYSTEM_SLEEP_PM_OPS()
RUNTIME_PM_OPS()

These new macros are very similar to their SET_*_PM_OPS() equivalent.
They however differ in the fact that the callbacks they set will always
be seen as referenced by the compiler. This means that the callback
functions don't need to be wrapped with a #ifdef CONFIG_PM guard, or
tagged with __maybe_unused, to prevent the compiler from complaining
about unused static symbols. The compiler will then simply evaluate at
compile time whether or not these symbols are dead code.

The callbacks that are only useful with CONFIG_PM_SLEEP is enabled, are
now also wrapped with a new pm_sleep_ptr() macro, which is inspired from
pm_ptr(). This is needed for drivers that use different callbacks for
sleep and runtime PM, to handle the case where CONFIG_PM is set and
CONFIG_PM_SLEEP is not.

This commit also deprecates the following macros:

SIMPLE_DEV_PM_OPS()
UNIVERSAL_DEV_PM_OPS()

And introduces the following macros:

DEFINE_SIMPLE_DEV_PM_OPS()
DEFINE_UNIVERSAL_DEV_PM_OPS()

These macros are similar to the functions they were created to replace,
with the following differences:

 - They use the new macros introduced above, and as such always
   reference the provided callback functions.

 - They are not tagged with __maybe_unused. They are meant to be used
   with pm_ptr() or pm_sleep_ptr() for DEFINE_UNIVERSAL_DEV_PM_OPS()
   and DEFINE_SIMPLE_DEV_PM_OPS() respectively.

 - They declare the symbol static, since every driver seems to do that
   anyway; and if a non-static use-case is needed an indirection pointer
   could be used.

The point of this change, is to progressively switch from a code model
where PM callbacks are all protected behind CONFIG_PM guards, to a code
model where the PM callbacks are always seen by the compiler, but
discarded if not used.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2021-12-17 16:04:14 +01:00
Paul Cercueil
c06ef740d4 PM: core: Redefine pm_ptr() macro
The pm_ptr() macro was previously conditionally defined, according to
the value of the CONFIG_PM option. This meant that the pointed structure
was either referenced (if CONFIG_PM was set), or never referenced (if
CONFIG_PM was not set), causing it to be detected as unused by the
compiler.

This worked fine, but required the __maybe_unused compiler attribute to
be used to every symbol pointed to by a pointer wrapped with pm_ptr().

We can do better. With this change, the pm_ptr() is now defined the
same, independently of the value of CONFIG_PM. It now uses the (?:)
ternary operator to conditionally resolve to its argument. Since the
condition is known at compile time, the compiler will then choose to
discard the unused symbols, which won't need to be tagged with
__maybe_unused anymore.

This pm_ptr() macro is usually used with pointers to dev_pm_ops
structures created with SIMPLE_DEV_PM_OPS() or similar macros. These do
use a __maybe_unused flag, which is now useless with this change, so it
later can be removed. However in the meantime it causes no harm, and all
the drivers still compile fine with the new pm_ptr() macro.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2021-12-17 16:04:14 +01:00
Paul Cercueil
5ef11c56b2 r8169: Avoid misuse of pm_ptr() macro
The pm_ptr() macro should be used when the suspend and resume functions
can be compiled independently of the CONFIG_PM Kconfig option.

In the case of this driver, the suspend and resume functions are inside
a section protected by a #ifdef CONFIG_PM guard. Therefore pm_ptr()
should not be used.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2021-12-17 16:04:14 +01:00
Florian Fainelli
58e529eab8 dt-bindings: bus: Convert GISB arbiter to YAML
Convert the Broadcom STB GISB bus arbiter to YAML to help with
validation.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20211217042001.479577-6-f.fainelli@gmail.com
2021-12-17 09:01:20 -06:00
Florian Fainelli
fb6739251c dt-bindings: ata: Convert Broadcom SATA to YAML
Convert the Broadcom SATA3 AHCI controller Device Tree binding to YAML
to help with validation.

Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20211217042001.479577-5-f.fainelli@gmail.com
2021-12-17 09:00:23 -06:00
Arnd Bergmann
5a17799462 Renesas driver updates for v5.17 (take two)
- Core support for the R-Car S4-8 (R8A779F0) SoC, including System
     Controller (SYSC) and Reset (RST) support.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYbxiYAAKCRCKwlD9ZEnx
 cB4xAQDNnQrCcjTjh6NI89xqCG/ht3FP+wn2zh2cObM2wA5Q/wD9Gm8eH+8B4vMF
 WPIK7b/Mnnr48gCqY35VgB7dPRjeQwU=
 =OJ8f
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmG8pYkACgkQmmx57+YA
 GNklKxAAkBX5Tq9YHtcaAvLt23sX7XrS9rsyT9LO4vhDZxbpW7rwL2X5bLorehvn
 1i2taxbHddV+FaVZT4lSAGLg9V3rL+g3rkV8M5kkHGK7O6AJfmsZe6c6Vo7OdPfy
 pv5psn8BRpCluPA8pI04jCMBatCCtSLOHeLSmkM40IcypTGQfJhR6I66cElzInNV
 Cm5ZFXnuisHp+tJFh+Be0QH+oBDhmgXJO2x6kR+q1IVD+GyiSyryfB7bXMLUMSJv
 VCGT0Bsdxe0BBPXimk/0onbdqN4eJDgwe4VSspouYowN1euibpjkay29EA9MJexr
 cROQx7xdY37rHLEQbc2fDKdLQ67KFxz6D1COe7PGdhm5T4CZliP9YDMhwR7DPyQG
 PPbnCvwVjfTzEkUUcLPUoChxUpzbenzqKjGIq5xyfaEqN00ANeGHIwdijnhxpesn
 O61j6V+VifS4+M/qaH8cJdV4pfzGtUGhDnJEkuY7KaLpaw/Mh7b6BSmtuXI7xPzd
 L+7PzcxVWNRJe8JPXsgslRuXfM5984W2vxlDODjibjol75pW3rz/5nxXGvOq+5gC
 ZR4gKbPuBG0RJBhcZ4JFmOydynfUt+MlOaWagg5SBKJ4VysoCZuChtod3k2gfdlM
 lJtbPZNiuBtUR4j9n0ZO9wbssKxrtVJmjAGkr7jHVPxJD6fYKvM=
 =SlDh
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v5.17-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/drivers

Renesas driver updates for v5.17 (take two)

  - Core support for the R-Car S4-8 (R8A779F0) SoC, including System
    Controller (SYSC) and Reset (RST) support.

* tag 'renesas-drivers-for-v5.17-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: rcar-rst: Add support for R-Car S4-8
  soc: renesas: Identify R-Car S4-8
  soc: renesas: r8a779f0-sysc: Add r8a779f0 support
  soc: renesas: rcar-gen4-sysc: Introduce R-Car Gen4 SYSC driver
  dt-bindings: clock: Add r8a779f0 CPG Core Clock Definitions
  dt-bindings: power: Add r8a779f0 SYSC power domain definitions

Link: https://lore.kernel.org/r/cover.1639736722.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-12-17 15:58:17 +01:00
Arnd Bergmann
79309f5bf4 Renesas DT binding updates for v5.17 (take two)
- Document support for the R-Car S4-8 Spider CPU and BreakOut boards.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYbxi0wAKCRCKwlD9ZEnx
 cBSRAP9i/N7jCXYvU+u9bWNw3n5U5AUQmkh0f86gWZ/QZFV0RwEA5/4E/ldC5eS/
 3WyJZpTBvg7vVPykoGJYN89PyvlB9Qs=
 =QA6a
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmG8pJ8ACgkQmmx57+YA
 GNmwjg//WPVB6YXn2mibcDc0wdNsfh2FlNRiMlqw9Hcd/wUPD9uHUd4dQg3Rhn0F
 fNEB/kZeT3NMnxtXnrlgz0h/zpboshwguxSuVK/sYQr3lU/6yHRlVhEFsXCWibhs
 wBvUPL0XumLFQGE01yJH5M5IQ+0KsN3w3Zs3kzHd1QP63Z51I0eEZ0qBNplJ+I1g
 gCoOTpud5osNYCwfGMgi4uP01K06c3kiCJjTtHIklrRkNstAwa5RtHNuyftUFNFF
 k6w76CsumwOAyCCmvyn/CRA0+yBv6nxj+vweMLxnIgQhio0m238JoZAh6QldCIA2
 NlXLlhibIK9zxsg+i0lD/UFiwJXbjchIUYimVQVPg1VxC9xzkbtjLywRpr2LLX1z
 wNyxDbFR0mxTCFWeEMrdlgA9wd1Ts+0Y4PfYNNBMBUlDOWocgxm2KZ1TFsgLquuW
 cV6WGyd9MY6n+7PdfYU/Uphn7TGADgOFDpf4VwhByVxebmmRHyD1jYqxXTMsdIkI
 zXpM32tmiNaUejjHJvvpWHWjBJ2Gy7GzPNaAyPZ5TU1VAKUAuwNZj4I8Ai6XcqOi
 q3e1wkoETd6JRS3wCpjwIy3rwXK5xVMpj7v3k9xjc5FJ6DL+Bx/br5E+6yxemBRS
 HVwx45nQkBhW5CV+k8/OyYqEu5ANtycMiSMAMjN31I/0xZWPjhs=
 =JGpc
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt-bindings-for-v5.17-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt

Renesas DT binding updates for v5.17 (take two)

  - Document support for the R-Car S4-8 Spider CPU and BreakOut boards.

* tag 'renesas-dt-bindings-for-v5.17-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: arm: renesas: Document Renesas Spider boards

Link: https://lore.kernel.org/r/cover.1639736725.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-12-17 15:54:23 +01:00
Arnd Bergmann
527c71547d Renesas ARM DT updates for v5.17 (take two)
- Initial support for the R-Car S4-8 SoC on the Spider CPU and
     BreakOut boards,
   - MIPI DSI display support for the R-Car V3u SoC and the Falcon board
     stack,
   - Thermal and GPU support for the RZ/G2L SoC and the RZ/G2L SMARC EVK
     development board,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYbxhigAKCRCKwlD9ZEnx
 cOG8AQCFiS+sBx/X7GiG6fshCBhGw4f+9+jsNl2ucQMmUe9YqAEA83HjBLSQ/DnP
 h/VI9JfeGdcyTseWFJwXzm8XChcdWwI=
 =sQeE
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmG8pGoACgkQmmx57+YA
 GNkDuQ//TMzztwB+sv9Wd/6fItpqlKN6V80YX89bm4ePEsp6EDtaCAxw7/9+G7+A
 q9iaAHlukyodkMFea0CIOu7yvEUGM/+vuw501KGhIZ2fUR/GxQTZHw84hsQWDd/r
 dRm69sKQsaY/Wu+Rr5Z/0sQJRMbaIbY/fIWGFtKBbDFidJo545xX9ysMbLgSxiR3
 3TxPXeUI9MvGUZvmaRuQ3PdjULDb0y6iEN8rLGjEksQy/5G51V6WrYjGRlN855e2
 bSPHrY1ybYPpRxXYLbFTYD6DZFDj4YnF6sTSoG7w/G0DepFrHMzbI9bSkxFD0DtJ
 +eLvRDwBRQNdlbq/pnCESY4tvFXWKm4cxvSyTn2NjLaEDB2hk+TkeSfCBIJGv5Ao
 /dFOYAEhFUz8D3BD6ocFxDbJGoJhXDvb8J/D6BPaqTppLqdo2VbtOgKnjb99Y0GS
 Ss+uK25+Bmm6SXvpwWkT3GlpjFZ5R4faMuDupddU5Z461WUUXot5EmU3MG8zXjE3
 epC/ElsaxmsgKuMVqt7lrPV0fseJC+ElpXBEnJ9LArhmEoHeo6y0tzoYijuPfgcE
 wjizEw3AotVzeLKgoKFYqVVmvXFvOyocA3KbvwQ3doLxyvcQgXBBYdzSBYwTzOaB
 0ixsdOqwFPqjF12ycRlvMGVbUJPxmyo33XWI29voem83Mpzxdqk=
 =1udU
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-dt-for-v5.17-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt

Renesas ARM DT updates for v5.17 (take two)

  - Initial support for the R-Car S4-8 SoC on the Spider CPU and
    BreakOut boards,
  - MIPI DSI display support for the R-Car V3u SoC and the Falcon board
    stack,
  - Thermal and GPU support for the RZ/G2L SoC and the RZ/G2L SMARC EVK
    development board,
  - Miscellaneous fixes and improvements.

* tag 'renesas-arm-dt-for-v5.17-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: Fix pin controller node names
  arm64: dts: renesas: rzg2l-smarc-som: Add vdd core regulator
  arm64: dts: renesas: r9a07g044: Add Mali-G31 GPU node
  arm64: dts: renesas: r9a07g044: Create thermal zone to support IPA
  arm64: dts: renesas: r9a07g044: Add TSU node
  arm64: dts: renesas: falcon-cpu: Add DSI display output
  arm64: dts: renesas: r8a779a0: Add DSI encoders
  arm64: dts: renesas: Add Renesas Spider boards support
  arm64: dts: renesas: Add Renesas R8A779F0 SoC support
  dt-bindings: clock: Add r8a779f0 CPG Core Clock Definitions
  dt-bindings: power: Add r8a779f0 SYSC power domain definitions
  arm64: dts: renesas: Fix thermal bindings

Link: https://lore.kernel.org/r/cover.1639736718.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-12-17 15:53:30 +01:00
Arnd Bergmann
c9074c9151 Our usual round of DT patches for the 5.17 merge window, with:
- Introduction of the chassis-type property
   - I2C, SPDIF support for the Tanix TX6
   - Memory frequency scaling for the A64 and H5
   - Hantro G2 support for the H6
   - New Board: Tanix TX6 Mini
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCYbxXEAAKCRDj7w1vZxhR
 xfv/AQCfcuQQpxTJCzNx1d072VcC6zcyzG8hpTqlzkedKAAh5AD6A5McDzuAkMb5
 lrFGynNpl+ug3mgn13lyK0OlJ48ULwo=
 =e2a5
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmG8pBgACgkQmmx57+YA
 GNmrdA/+J/p2cD+cmWu3zpP9rl16vp+Hdi6RvNog5lUQVFgfDW1D+XZhRgubKGMX
 lOmymCFOQlsCIfHD+/vCYmrgAW27izgPeDdaRMy/vRh3ntHoPt7nitG6BDSECiZZ
 NNrHM4ACX8SSy9VAvCmefyGhjQsoq9QBKQ0TORi3ZFOYORim5MaCbDXrOhQBXDrJ
 0Lr+ayWJf7jRP9du61Xm6z6zckiWD1eAWpcZa/werHWEUR/8aqnwdy35WJTf521P
 4V/COVAlpdnQ9OajPnZlFXMvmCLySCHktlwGJpBkZruwYQWPtulIutxiF2xxloau
 G2+EFl0Pg+O1mmmaIHL6YOyTB9LCZY1nWwd9eNw1I9wgKVpdqpWLlt3Nccc3irsD
 Rm4NLYkURLNUeHnihn+b56/TokeqcDU3smfLneEy28p4gFFaWhAfi7WwckhYKIxR
 dXo3BDmecF3aVc2kAQEbm8XKrfEehZn4ul3qdAOdyj9TlDpQ9byDustF/WV1E0/f
 wcX8wRCMZ4aT13KtvaAAeljYBgmH4kWlj8nJPpNAj/kd/MzzR3rQb9kMyPcaRnzt
 KijQ4CYMOHi4h0qq07DxX+Vrp6R91k8a/w84qHYBYI8eGERZQvaH3X3yX3mKAZ8M
 Pfum1N6wmkmydHUGKioeK04GNIDPRG9Rkhr9OcJ7iTEgrvQNaf8=
 =AQZI
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt

Our usual round of DT patches for the 5.17 merge window, with:
  - Introduction of the chassis-type property
  - I2C, SPDIF support for the Tanix TX6
  - Memory frequency scaling for the A64 and H5
  - Hantro G2 support for the H6
  - New Board: Tanix TX6 Mini

* tag 'sunxi-dt-for-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: h6: Add Hantro G2 node
  arm64: dts: allwinner: h6: tanix-tx6: Enable bluetooth
  arm64: dts: allwinner: h6: tanix: Add MMC1 node
  arm64: dts: allwinner: h6: Add Tanix TX6 mini dts
  dt-bindings: arm: sunxi: Add Tanix TX6 mini
  arm64: dts: allwinner: h6: tanix-tx6: Split to DT and DTSI
  ARM: dts: sun8i: Adjust power key nodes
  arm64: dts: allwinner: a64: Update MBUS node
  ARM: dts: sunxi: h3/h5: Update MBUS node
  dt-bindings: arm: sunxi: Add H5 MBUS compatible
  dt-bindings: arm: sunxi: Expand MBUS binding
  dt-bindings: clock: sunxi: Export CLK_DRAM for devfreq
  dt-bindings: crypto: Add optional dma properties
  ARM: dts: sun8i: h3: beelink-x2: Add GPIO CEC node
  ARM: dts: sunxi: Add CEC clock to DW-HDMI
  arm64: dts: allwinner: a64: Add CEC clock to HDMI
  ARM: dts: sun8i: h3: beelink-x2: Sort nodes
  arm64: dts: allwinner: h6: tanix-tx6: Add I2C node
  arm64: dts: allwinner: h6: tanix-tx6: Add SPDIF
  arm64: dts: allwinner: add 'chassis-type' property

Link: https://lore.kernel.org/r/ef385139-6fd4-42d2-9bfe-a4dda7ac76c9.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-12-17 15:52:07 +01:00
Arnd Bergmann
2ac2f089de One patch to fix the GMAC PHY mode on the OrangePi Zero Plus
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCYbxahQAKCRDj7w1vZxhR
 xdknAPsFWELreuR8EEgxyVFu9Of16tRUEQzQ36nn0iLlp1AumAEAwYExlNq+xViQ
 muesObOmbL00SeLWQ4ZsA+o4QBbCNQQ=
 =dXaI
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmG8o/IACgkQmmx57+YA
 GNkWxQ//YFH4dJiwxPy8wo/zjodUw6LU0jR9ZeWii23LWzjGqsAQjkNdHh0bCEnT
 F9B4jQcUjk8JS8Cd5f68m3tUq8WPaxjgSERB1DtU7Elsl0oopHKja1waRQJg17ju
 bTtVjwtbyMkVmPXzCaaszh01PL/HqzQNzsKiJ+2YXVYhy5IEq1sPYf7/bjP1cdip
 MmDLTa3vSjDNJ2R4Yv/fahiyMa1idcQkSOglbgib3RDUq57Ir9qOEPyDHUX0h6z9
 MJVkLXJz/kLT8gAlBvSlZ6zOURLWZ90hyW6xoXWwhGnPm9Uoqhg0Kr/SnTMj+DKR
 roA/vsuLkmDhJuzcf1rKff5ridXYMleALauI1MKoGYM6teuUcQJ/u7kX9twanqi8
 6SpvFACFrkfjlN4YVntrkfJ8guCudmv//kZb9uAtn4SaS0ZDEBXcZS/1HCWo+59i
 qkhymDUu/RB42n2LGia0WCs0WTEFSqzf0tbL1/JweJbWtnkQV6xqK5tQZxy1DymZ
 /gtXGzDH6X66e/BKApcptP0ykVmSlqfd9okQgdJisbEk0Xng2hvLEjUS9hHkKuKv
 MpeqCdmFQzhUjzdkHniTwp4Bk6zHmCqiMldbT1yn9T5dgbgnirYiKXRZpbbk8BRS
 3rMCFJRwvICsHy4JkkE40gEctTOZ75b4C+XP8Hrp7B0CK0h/PGM=
 =VZih
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-fixes-for-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/fixes

One patch to fix the GMAC PHY mode on the OrangePi Zero Plus

* tag 'sunxi-fixes-for-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode

Link: https://lore.kernel.org/r/e295f1f7-cd24-4a7a-ae83-aafb2a3263b6.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-12-17 15:51:30 +01:00
Arnd Bergmann
a6a476878e TEE and OP-TEE fixes for v5.16
- Fixes a race when a tee_shm reaches reference count 0 and is about to
   be teared down
 - Fixes an incorrect page free bug in an error path of the OP-TEE shared
   memory pool handling
 - Suppresses a false positive kmemleak report when allocating driver
   private shared memory buffers for OP-TEE
 -----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAmG7UnYaHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJdOaQ//Vge0EnUpHorM5vjZMbAB
 pvFVGKmAW/fcebMMkJ7D2UAh8PTz8FMKzrcqHb8AUU+3ns+xkd6RgmVV59XmhXkN
 Rucx64338SrFz4DlpZDs0HfqChanrXz8q1AbexQ8zmfRfi5OTOHs2pDTYBo+JVUk
 f35SwMxbSYSUPWSORI+YPBdaYadNTB83N1MZbfKMtvjyf0iweISSFVivivL0YrpY
 2Tj/waIzBOZ+203CQJzZz0UDNAxf/fo80bY3NuksUrdnHusWwiCq16RlfOaIwEub
 vNaAm08uoSY3LU6LfKlp51d+rykuXpdfqfWbg4paQYSx8Pmxd27MjQlohIeJGDwR
 ZXupAFsf+c7P3aYNrMNB18QGEBdWPi/SnM+HNCFkYa7+s3hapYl9sFa/MGjPjwS3
 OFGWgWYJJee9yBzKWiK90lka/66eSYSAhs1g9hpOsS36f6kpZL+UnlSm3fP5VxwZ
 zTHaJfTgCz6pVYBgC9x9ZYH2vZwKwPVxDFM+GfaKMyWkE0GWNSGGSCVyN7Wmztxj
 1k25mlViGaVJHR7U6+N3U+GBuWtccavQtkiZHhI+oOcsMNg77y1lwZrkbuRALnu5
 oG7OklB6s79nitDEM+ppS0DOnXHbMXusLMHSVSQGWgFYSRcntUUeuYFDdSNfA8hU
 EJIJG3ktSf9AdPC3yscUyA8=
 =3cqK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmG8o+MACgkQmmx57+YA
 GNm3vxAAh3wnjLNzUcfjBE4uABUW81u6DEye2hKvh279IIPHfnF908cBhqtCY/md
 QbjLCzDuJnldrcFxaXE/mi+26Ej3cVnHUGxv6iFpwghpxguDk3fnW2tB3FjqWOxl
 iSwe2/OZXCZwnf9KT9umEIccTVntauNgjhqWTZiFO3X3FTZ/trJq3LKiWwachb/y
 9qpHcx2YwbORyM4d0cb98MFGoFn9DqGVeU4PjaBWQ/SFGurmfsRzJEiiJ0SmrQUA
 7OY3ZyBr0zqsHPV+PTCu8gRAlIGsrjI+dyVvlGuLZBCzlSHZ58yVrOCDVVVSiH52
 zTIhua+ZY3G8Eb9TlC+HVznRZoI9VmijU7ybXuMkwp0Bgz1edVREQULFD5U2k/qx
 EUzIsrkDNNa4Z6Q+zSeKbMCDYhrfqftFdv3diMoCs08JvtI2dJWznwNeSrGW7rDc
 UyooXvCHLLUOeiHeYF2AB4A8CjsvBE1vBbYTanDeHUjow0cFCRzKwHcOvuSndN3P
 1ChVYaF7gPvBJ4ZIunZylXzvUiRzbmuUr+bVkXnzJJout/nw5iKrskGkPuNJRDFW
 CGaWaXjeSgyXzQ85XzWX8s+3geAIraHUcGuG8agz8+3eOEtev/DOP6MdejemRAG6
 EgR3sk8sIZ2J/iq8KMikv2OENqZ9+wLWjx8LWtV+g/ZXfoQOnM4=
 =125d
 -----END PGP SIGNATURE-----

Merge tag 'fixes-for-v5.16' of https://git.linaro.org/people/jens.wiklander/linux-tee into arm/fixes

TEE and OP-TEE fixes for v5.16

- Fixes a race when a tee_shm reaches reference count 0 and is about to
  be teared down
- Fixes an incorrect page free bug in an error path of the OP-TEE shared
  memory pool handling
- Suppresses a false positive kmemleak report when allocating driver
  private shared memory buffers for OP-TEE

* tag 'fixes-for-v5.16' of https://git.linaro.org/people/jens.wiklander/linux-tee:
  optee: Suppress false positive kmemleak report in optee_handle_rpc()
  tee: optee: Fix incorrect page free bug
  tee: handle lookup of shm with reference count 0

Link: https://lore.kernel.org/r/20211216150745.GA3347954@jade
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-12-17 15:51:15 +01:00
Thierry Reding
914ed1f565 arm64: tegra: Add host1x hotflush reset on Tegra210
Add the host1x memory client hotflush reset on Tegra210.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:58 +01:00
Dmitry Osipenko
c9059a6bb9 media: dt: bindings: tegra-vde: Document OPP and power domain
Document new OPP table and power domain properties of the video decoder
hardware.

Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:06 +01:00
Dmitry Osipenko
ccc3016261 media: dt: bindings: tegra-vde: Convert to schema
Convert NVIDIA Tegra video decoder binding to schema.

Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:06 +01:00
Dmitry Osipenko
0c41e287f7 dt-bindings: host1x: Document Memory Client resets of Host1x, GR2D and GR3D
Memory Client should be blocked before hardware reset is asserted in order
to prevent memory corruption and hanging of memory controller.

Document Memory Client resets of Host1x, GR2D and GR3D hardware units.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:06 +01:00
Dmitry Osipenko
425a68a963 dt-bindings: host1x: Document OPP and power domain properties
Document new DVFS OPP table and power domain properties of the Host1x bus
and devices sitting on the bus.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Dmitry Osipenko
d0e70d1304 dt-bindings: clock: tegra-car: Document new clock sub-nodes
Document sub-nodes which describe Tegra SoC clocks that require a higher
voltage of the core power domain in order to operate properly on a higher
clock rates.  Each node contains a phandle to OPP table and power domain.

The root PLLs and system clocks don't have any specific device dedicated
to them, clock controller is in charge of managing power for them.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
David Heidelberg
f64de71a93 dt-bindings: ARM: tegra: Document Pegatron Chagall
Document Pegatron Chagall, which is Tegra30-based tablet device.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Svyatoslav Ryhel
b58db7135a dt-bindings: ARM: tegra: Document ASUS Transformers
Document Tegra20/30/114-based ASUS Transformer Series tablet devices.
This group includes EeePad TF101, Prime TF201, Pad TF300T, TF300TG
Infinity TF700T, TF701T.

Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Anton Bambura <jenneron@protonmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Thierry Reding
a90901a5a3 dt-bindings: usb: tegra-xudc: Document interconnects and iommus properties
Add the interconnects, interconnect-names and iommus properties to the
device tree bindings for the Tegra XUDC controller. These are used to
describe the device's paths to and from memory.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Thierry Reding
cd1fe47862 dt-bindings: serial: Document Tegra234 TCU
Add the compatible string for the TCU found on the Tegra234 SoC.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Thierry Reding
8461fe3e44 dt-bindings: serial: tegra-tcu: Convert to json-schema
Convert the Tegra TCU device tree bindings to json-schema.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Thierry Reding
a12e1b7812 dt-bindings: thermal: tegra186-bpmp: Convert to json-schema
Convert the Tegra186 (and later) BPMP thermal device tree bindings from
the free-form text format to json-schema.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Thierry Reding
d289f9de8b dt-bindings: firmware: tegra: Convert to json-schema
Convert the NVIDIA Tegra186 (and later) BPMP bindings from the free-form
text format to json-schema.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Thierry Reding
5cda3b25cb dt-bindings: tegra: pmc: Convert to json-schema
Convert the NVIDIA Tegra186 (and later) PMC bindings from the free-form
text format to json-schema.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Thierry Reding
96b594d2a0 dt-bindings: serial: 8250: Document Tegra234 UART
Add the compatible string for the UART found on the Tegra234 SoC.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Thierry Reding
d5de8b7608 dt-bindings: mmc: tegra: Document Tegra234 SDHCI
Add the compatible string for the SDHCI block found on the Tegra234 SoC.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Thierry Reding
f8dd779bcb dt-bindings: fuse: tegra: Document Tegra234 FUSE
Add the compatible string for the FUSE block found on the Tegra234 SoC.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Thierry Reding
25388844f9 dt-bindings: fuse: tegra: Convert to json-schema
Convert the NVIDIA Tegra FUSE bindings from the free-form text format to
json-schema.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:58:05 +01:00
Thierry Reding
aa8f488fd6 dt-bindings: rtc: tegra: Document Tegra234 RTC
Add the compatible string for the RTC block found on the Tegra234 SoC.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:57:29 +01:00
Thierry Reding
2f9df754d0 dt-bindings: rtc: tegra: Convert to json-schema
Convert the NVIDIA Tegra RTC bindings from the free-form text format to
json-schema.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:57:29 +01:00
Thierry Reding
0637af949a dt-bindings: mailbox: tegra: Document Tegra234 HSP
Add the compatible string for the HSP block found on the Tegra234 SoC.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:57:29 +01:00
Thierry Reding
068cf93f90 dt-bindings: mailbox: tegra: Convert to json-schema
Convert the NVIDIA Tegra HSP bindings from the free-form text format to
json-schema.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:57:29 +01:00
Thierry Reding
e109c0acb8 dt-bindings: mmc: tegra: Convert to json-schema
Convert the NVIDIA Tegra SDHCI bindings from the free-form text format
to json-schema.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:57:28 +01:00
Thierry Reding
bd048487af ARM: tegra: Add host1x hotflush reset on Tegra124
Add the host1x memory client hotflush reset on Tegra124.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:55:32 +01:00
Thierry Reding
b59e11495b ARM: tegra: Add memory client hotflush resets on Tegra114
Add the host1x, gr2d and gr3d memory client hotflush resets on Tegra114.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-12-17 14:55:32 +01:00
Eric Farman
812de04661 KVM: s390: Clarify SIGP orders versus STOP/RESTART
With KVM_CAP_S390_USER_SIGP, there are only five Signal Processor
orders (CONDITIONAL EMERGENCY SIGNAL, EMERGENCY SIGNAL, EXTERNAL CALL,
SENSE, and SENSE RUNNING STATUS) which are intended for frequent use
and thus are processed in-kernel. The remainder are sent to userspace
with the KVM_CAP_S390_USER_SIGP capability. Of those, three orders
(RESTART, STOP, and STOP AND STORE STATUS) have the potential to
inject work back into the kernel, and thus are asynchronous.

Let's look for those pending IRQs when processing one of the in-kernel
SIGP orders, and return BUSY (CC2) if one is in process. This is in
agreement with the Principles of Operation, which states that only one
order can be "active" on a CPU at a time.

Cc: stable@vger.kernel.org
Suggested-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
Link: https://lore.kernel.org/r/20211213210550.856213-2-farman@linux.ibm.com
[borntraeger@linux.ibm.com: add stable tag]
Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
2021-12-17 14:52:47 +01:00
Janosch Frank
3c724f1a1c s390: uv: Add offset comments to UV query struct and fix naming
Changes to the struct are easier to manage with offset comments so
let's add some. And now that we know that the last struct member has
the wrong name let's also fix this.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
2021-12-17 14:49:26 +01:00
Janis Schoetterl-Glausch
bad13799e0 KVM: s390: gaccess: Cleanup access to guest pages
Introduce a helper function for guest frame access.

Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <20211126164549.7046-4-scgl@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
2021-12-17 14:49:26 +01:00
Janis Schoetterl-Glausch
7faa543df1 KVM: s390: gaccess: Refactor access address range check
Do not round down the first address to the page boundary, just translate
it normally, which gives the value we care about in the first place.
Given this, translating a single address is just the special case of
translating a range spanning a single page.

Make the output optional, so the function can be used to just check a
range.

Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <20211126164549.7046-3-scgl@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
2021-12-17 14:49:26 +01:00
Janis Schoetterl-Glausch
416e7f0c9d KVM: s390: gaccess: Refactor gpa and length calculation
Improve readability by renaming the length variable and
not calculating the offset manually.

Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <20211126164549.7046-2-scgl@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
2021-12-17 14:23:25 +01:00
Wasin Thonkaew
733e417518 asm-generic/error-injection.h: fix a spelling mistake, and a coding style issue
Fix a spelling mistake "ganerating" -> "generating".
Remove trailing semicolon for a macro ALLOW_ERROR_INJECTION to fix a
coding style issue.

Signed-off-by: Wasin Thonkaew <wasin@wasin.io>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-12-17 14:12:14 +01:00
Alexandre Ghiti
e0cb56546d arch: Remove leftovers from prism54 wireless driver
This driver was removed so remove all references to it.

Fixes: d249ff28b1 ("intersil: remove obsolete prism54 wireless driver")
Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-12-17 14:12:09 +01:00
Alexandre Ghiti
5a608e40f9 arch: Remove leftovers from mandatory file locking
This config was removed so remove all references to it.

Fixes: f7e33bdbd6 ("fs: remove mandatory file locking support")
Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-12-17 14:12:09 +01:00
Alexandre Ghiti
2ac7069ad7 Documentation, arch: Remove leftovers from CIFS_WEAK_PW_HASH
This config was removed so remove all references to it.

Fixes: 76a3c92ec9 ("cifs: remove support for NTLM and weaker authentication algorithms")
Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
Reviewed-by: Steve French <smfrench@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de> [arch/arm/configs]
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-12-17 14:12:03 +01:00
Alexandre Ghiti
473dcf0ffc Documentation, arch: Remove leftovers from raw device
Raw device interface was removed so remove all references to configs
related to it.

Fixes: 603e4922f1 ("remove the raw driver")
Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
Acked-by: Arnd Bergmann <arnd@arndb.de> [arch/arm/configs]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-12-17 14:07:52 +01:00
Tony Lindgren
23885389db ARM: dts: Fix timer regression for beagleboard revision c
Commit e428e250fd ("ARM: dts: Configure system timers for omap3")
caused a timer regression for beagleboard revision c where the system
clockevent stops working if omap3isp module is unloaded.

Turns out we still have beagleboard revisions a-b4 capacitor c70 quirks
applied that limit the usable timers for no good reason. This also affects
the power management as we use the system clock instead of the 32k clock
source.

Let's fix the issue by adding a new omap3-beagle-ab4.dts for the old timer
quirks. This allows us to remove the timer quirks for later beagleboard
revisions. We also need to update the related timer quirk check for the
correct compatible property.

Fixes: e428e250fd ("ARM: dts: Configure system timers for omap3")
Cc: linux-kernel@vger.kernel.org
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Rob Herring <robh+dt@kernel.org>
Reported-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Tested-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-12-17 14:15:43 +02:00
Jayesh Choudhary
29a5e8496b ARM: dts: am335x-wega: Fix typo in mcasp property rx-num-evt
Fix the property name 'rx-num-evt'.

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-12-17 14:14:35 +02:00
Ye Guojin
34596ba380 ARM: OMAP2+: adjust the location of put_device() call in omapdss_init_of
This was found by coccicheck:
./arch/arm/mach-omap2/display.c, 272, 1-7, ERROR missing put_device;
call of_find_device_by_node on line 258, but without a corresponding
object release within this function.

Move the put_device() call before the if judgment.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Ye Guojin <ye.guojin@zte.com.cn>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-12-17 14:08:59 +02:00
Wan Jiabing
80c469a0a0 ARM: OMAP2+: hwmod: Add of_node_put() before break
Fix following coccicheck warning:
./arch/arm/mach-omap2/omap_hwmod.c:753:1-23: WARNING: Function
for_each_matching_node should have of_node_put() before break

Early exits from for_each_matching_node should decrement the
node reference counter.

Signed-off-by: Wan Jiabing <wanjiabing@vivo.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-12-17 14:08:10 +02:00