Commit Graph

966273 Commits

Author SHA1 Message Date
Marek Behún
1016daf981 leds: pm8058: cosmetic change: no need to return in if guard
We can return the last ret value.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:40 +02:00
Marek Behún
fb270ba0d9 leds: pm8058: cosmetic change: use helper variable
Use helper variable dev instead of always writing &pdev->dev.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:40 +02:00
Marek Behún
eed951bbf7 leds: pm8058: use struct led_init_data when registering
By using struct led_init_data when registering we do not need to parse
`label` DT property. Moreover `label` is deprecated and if it is not
present but `color` and `function` are, LED core will compose a name
from these properties instead.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:40 +02:00
Marek Behún
b23ca98af6 leds: mt6323: cosmetic change: use helper variable
Use helper variable dev instead of always writing &pdev->dev.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Sean Wang <sean.wang@mediatek.com>
Cc: John Crispin <john@phrozen.org>
Cc: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:40 +02:00
Marek Behún
6b8274de37 leds: mt6323: use struct led_init_data when registering
By using struct led_init_data when registering we do not need to parse
`label` DT property. Moreover `label` is deprecated and if it is not
present but `color` and `function` are, LED core will compose a name
from these properties instead.

Since init_data is passed with fwnode handle, we do not need to set
the of_node member of the newly created LED classdev.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Sean Wang <sean.wang@mediatek.com>
Cc: John Crispin <john@phrozen.org>
Cc: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:40 +02:00
Marek Behún
d7d02b8af5 leds: max77650: use struct led_init_data when registering
By using struct led_init_data when registering we do not need to parse
`label` DT property. Moreover `label` is deprecated and if it is not
present but `color` and `function` are, LED core will compose a name
from these properties instead.

Previously if the `label` DT property was not present, the code composed
name for the LED in the form
  "max77650::"
For backwards compatibility we therefore set
  init_data->default_label = ":";
so that the LED will not get a different name if `label` property is not
present.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:40 +02:00
Marek Behún
0b9e357287 leds: lm3697: cosmetic change: use helper variable, reverse christmas tree
Use helper variable dev instead of always writing &client->dev, or
&priv->client->dev, or even &led->priv->client->dev.

With one more line moved reverse christmas tree is also achieved.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:40 +02:00
Marek Behún
3a953dc330 leds: lm3697: use struct led_init_data when registering
By using struct led_init_data when registering we do not need to parse
`label` DT property. Moreover `label` is deprecated and if it is not
present but `color` and `function` are, LED core will compose a name
from these properties instead.

Previously if the `label` DT property was not present, the code composed
name for the LED in the form
  "parent_name::"
For backwards compatibility we therefore set
  init_data->default_label = ":";
so that the LED will not get a different name if `label` property is not
present.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:40 +02:00
Marek Behún
e4e912a349 leds: bcm6328, bcm6358: use struct led_init_data when registering
By using struct led_init_data when registering we do not need to parse
`label` DT property. Moreover `label` is deprecated and if it is not
present but `color` and `function` are, LED core will compose a name
from these properties instead.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Álvaro Fernández Rojas <noltari@gmail.com>
Cc: Kevin Cernekee <cernekee@gmail.com>
Cc: Jaedon Shin <jaedon.shin@gmail.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:39 +02:00
Marek Behún
ff5c89d444 leds: bcm6328, bcm6358: use devres LED registering function
These two drivers do not provide remove method and use devres for
allocation of other resources, yet they use led_classdev_register
instead of the devres variant, devm_led_classdev_register.

Fix this.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Álvaro Fernández Rojas <noltari@gmail.com>
Cc: Kevin Cernekee <cernekee@gmail.com>
Cc: Jaedon Shin <jaedon.shin@gmail.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Cc: stable@kernel.org
2020-09-26 21:56:39 +02:00
Marek Behún
2c67756254 leds: various: fix OF node leaks
Fix OF node leaks by calling of_node_put in
for_each_available_child_of_node when the cycle breaks or returns.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Nikita Travkin <nikitos.tr@gmail.com>
Cc: Milo Kim <milo.kim@ti.com>
Cc: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Not-for-stable: untested, theoretical, insignificant leaks
2020-09-26 21:56:39 +02:00
Marek Behún
99a013c840 leds: various: use only available OF children
Various drivers count and iterate over OF children nodes via
of_get_child_count and for_each_child_of_node. Instead they should use
of_get_available_child_count and for_each_available_child_of_node, so
that if a given node has the `status` property set to `disabled`, the
child will be ignored.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Andrey Utkin <andrey_utkin@fastmail.com>
Cc: Baolin Wang <baolin.wang7@gmail.com>
Cc: Baolin Wang <baolin.wang@linaro.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Christian Mauderer <oss@c-mauderer.de>
Cc: Chunyan Zhang <zhang.lyra@gmail.com>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: David Rivshin <drivshin@allworx.com>
Cc: Haojian Zhuang <haojian.zhuang@marvell.com>
Cc: H. Nikolaus Schaller <hns@goldelico.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Milo Kim <milo.kim@ti.com>
Cc: NeilBrown <neilb@suse.de>
Cc: Nikita Travkin <nikitos.tr@gmail.com>
Cc: Orson Zhai <orsonzhai@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Philippe Retornaz <philippe.retornaz@epfl.ch>
Cc: Riku Voipio <riku.voipio@iki.fi>
Cc: Simon Guinot <sguinot@lacie.com>
Cc: Simon Shields <simon@lineageos.org>
Cc: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Cc: Xiaotong Lu <xiaotong.lu@spreadtrum.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:39 +02:00
Marek Behún
05dec742bd leds: lt3593: do not rewrite .of_node of new LED device to wrong value
The devm_led_classdev_register_ext is given init_data with fwnode set,
so the LED core sets .of_node of the new LED classdev correctly.

Do not rewrite this value to parent of_node.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:39 +02:00
Marek Behún
8853c95e99 leds: various: use dev_of_node(dev) instead of dev->of_node
The dev_of_node function should be preferred.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Orson Zhai <orsonzhai@gmail.com>
Cc: Baolin Wang <baolin.wang7@gmail.com>
Cc: Chunyan Zhang <zhang.lyra@gmail.com>
Cc: Sean Wang <sean.wang@mediatek.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:39 +02:00
Marek Behún
2779f4724b leds: various: use device_get_match_data
Simply use device_get_match_data instead of matching against the match
table again.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: H. Nikolaus Schaller <hns@goldelico.com>
Cc: David Rivshin <drivshin@allworx.com>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Christian Mauderer <oss@c-mauderer.de>
Cc: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:39 +02:00
Marek Behún
2aebb78040 leds: ip30: compile if COMPILE_TEST=y
This driver can be compiled on other platforms with small change if
COMPILE_TEST=y.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:38 +02:00
Marek Behún
f1b0a43bba leds: various: compile if COMPILE_TEST=y
These drivers can be compiled without modification when COMPILE_TEST=y:
  cobalt-qube, cobalt-raq, netxbig, ns2 and s3c24xx

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:38 +02:00
Alexander Dahl
de73f275a0 leds: pwm: Allow automatic labels for DT based devices
If LEDs are configured through device tree and the property 'label' is
omitted, the label is supposed to be generated from the properties
'function' and 'color' if present.  While this works fine for e.g. the
'leds-gpio' driver, it did not for 'leds-pwm'.

The reason is, you get this label naming magic only if you add a LED
device through 'devm_led_classdev_register_ext()' and pass a pointer to
the current device tree node.

For the following node from dts the LED appeared as 'led-5' in sysfs
before and as 'red:debug' after this change.

        pwm_leds {
                compatible = "pwm-leds";

                led-5 {
                        function = LED_FUNCTION_DEBUG;
                        color = <LED_COLOR_ID_RED>;
                        pwms = <&pwm0 2 10000000 0>;
                        max-brightness = <127>;

                        linux,default-trigger = "heartbeat";
                        panic-indicator;
                };
        };

Signed-off-by: Alexander Dahl <post@lespocky.de>
Cc: Marek Behún <marek.behun@nic.cz>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2020-09-26 21:56:38 +02:00
Olof Johansson
76940c8d5a Samsung mach/soc changes for v5.10
1. Clear unneeded L2C-310 flag which presenc was triggering warning
    message.
 2. Fix build of SAMSUNG_PM_DEBUG without MMU.
 3. Minor cleanups and update of linux-samsung-soc mailing list in
    Maintainers.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl9ner0QHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1xRiEACRlwd8oXmvTjSvFAlw8Z8/WTDpwxbfX4ra
 XZXjkVzoNw9IO3c5dfCvV4np0bJM6hepNKUoHHE8FsP0aNB81Geg/FhmQeIOtz4v
 BAfrGIbJp+2gRTQU9BhMLw3BhzWxp0TAe+0mXNTLER2BrTrF3/M5K2Rm7/W9k4wo
 fT8epub4X4CB927Mp/mkovqXKk5h+KfsMxFZNBHYUW/fsyDmScL6MOYXBxsalKx6
 fC+XMqI6VBiEgpO42FZ6YuEMK1o9eAkpHGSFCIjFyTkqm/O7/Z536Ho/D9CHeCuT
 WDdtK04b0r7vSCToTpiHr+qgZtbnJl/pgJ673/zlxik9UvLLGw7DqtnSEtPJep1l
 Z8aEuhRlWuUrvcAkslJvMMqHRx495DThs+axbxYCxfG+u+ivFjHGAxSLLlM9f3Fy
 ftZ70sBMCu+EtniaXGzcFLxyKQA1S99uJH7SYVj2G9e3Lq+Eo64FK3KKSN6bBy6R
 wuIySiwlgMgfrhHgs5khe6VZcwrjVssLjBtWF+EWEs1KpYiwcDGl1mifJG9vWIXm
 ngrJBLiloqKPBApKcbR+4lLxRkMsYJC1r9svRKNElb/AqaWlz75TAkNADVaf0W6d
 ZmKAWYBd6J7Ll5wXD8nqSc5XN3TZl33gkGmBi8pJV81iB+S2FE/I29afcMQVtEgO
 7zl4VQbG+Q==
 =Bkfy
 -----END PGP SIGNATURE-----

Merge tag 'samsung-soc-5.10' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/soc

Samsung mach/soc changes for v5.10

1. Clear unneeded L2C-310 flag which presenc was triggering warning
   message.
2. Fix build of SAMSUNG_PM_DEBUG without MMU.
3. Minor cleanups and update of linux-samsung-soc mailing list in
   Maintainers.

* tag 'samsung-soc-5.10' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: s3c64xx: bring back notes from removed debug-macro.S
  ARM: s3c24xx: fix Wunused-variable warning on !MMU
  ARM: samsung: fix PM debug build with DEBUG_LL but !MMU
  MAINTAINERS: mark linux-samsung-soc list non-moderated
  ARM: exynos: clear L310_AUX_CTRL_NS_LOCKDOWN in default l2c_aux_val

Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 12:55:43 -07:00
Olof Johansson
0059e8d648 Samsung defconfig changes for v5.10
1. Re-enable platform media drivers as new dependency on
    MEDIA_PLATFORM_SUPPORT appeared.
 2. Enable ROHM BD718x7 PMIC present on some of boards with i.MX 8 SoCs.
 3. Enable Samsung S3FWRN5 NFC driver present on TM2/TM2E boards.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl9nd60QHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD18rOD/9ucWc/yY8pHekt0/n8XfCzhCcQzrbvt9v6
 sCpA9B99lzswia3O2MxS6k7hmc/RDFckNJlcE+SVTlfArpGyoPRIUHivMpbD1CiV
 OTT4fzdLv3rzuK3EgE2Z9HgwABvu6VBcucPs3bOn2fswqLU0JqG938QY30Lu2uT1
 Anr9Bxoc0HW3MCVnPhK1XidT0fwDLWRi/ks2TMChbVVg1Fzt+ootiy7IWu6Eg/dw
 jxwfxbmnkfPHB8axEsLg28JfMQTXmOIHyMn1da1wW0nPSnrvlcRfD/nzt91e8Grr
 a3xQwOFrVesZXzQuhaxda4xxHzqkuCBzNTIqDC7U5mRxNUMOe9E2P/kAS8b19BTn
 Ays7maJgkKIKC8EwKGRcOVUYnzoiEbYOH4y3pgh5SFKEgimKy+PLSXlTAb1Ot45K
 k1Gct0yVeAK8Hz+FFsm014hdfiy6lu4P22T6wt5kVwtIGRaE0R2z7qzEEVg1yX6V
 M6/QFithA21WyN4IuoUqEqJZ3q4WZjH9N83a3uY63l/aKy+lVeNiYMLZZAU4g3m5
 DmGLYa8xAAgoVl6AuxFVMmrJFy+k5v4jzVlV3tFQchX3YP1IidmYs6N0QKfrOmvI
 pj9K8Mxr7MAkHpV3Nt3XwV32SX39umGiP5bN8L1FFZGiO6iSoJsWgN65pdf2xnKQ
 rrOjXPpFPQ==
 =oMmC
 -----END PGP SIGNATURE-----

Merge tag 'samsung-defconfig-5.10' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/defconfig

Samsung defconfig changes for v5.10

1. Re-enable platform media drivers as new dependency on
   MEDIA_PLATFORM_SUPPORT appeared.
2. Enable ROHM BD718x7 PMIC present on some of boards with i.MX 8 SoCs.
3. Enable Samsung S3FWRN5 NFC driver present on TM2/TM2E boards.

* tag 'samsung-defconfig-5.10' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: defconfig: Enable Samsung S3FWRN5 NFC driver
  arm64: defconfig: Enable clock driver for ROHM BD718x7 PMIC
  ARM: exynos_defconfig: enable platform media drivers

Link: https://lore.kernel.org/r/20200920160705.9651-2-krzk@kernel.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 12:44:11 -07:00
Olof Johansson
a8ba256afe arm64: tegra: Default configuration updates for v5.10-rc1
This pair of patches enable the ADMA, ACONNECT and AHUB drivers that
 are required for audio support on Tegra210 and later.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAl9ky74THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoS3KD/9C5J8bebN2Pw45yNtvxLLAG6pQIS0G
 g9ERy/1l8mNyn4G6vAvtiZBexBSuJKDVc6YyLrmL/S3UdTAAtgn5Wsl+4iEch1vU
 cgCBQ7jZPX5TIuZZVkbSOYZGQtYRQCkCbNe7PEcHY5i2FjNDW/U+dDYz1b7CoToS
 LY4c23E7VmgYA0P0cQGOFuaN28h++/rwI+/fdASTr3d79szts3kryEzrJvIqXpeJ
 UyUtRdCR8qmz9eIu2mjdfIqhdRoI7YspFsFdwLmSNVE0IFJlUNKV6CUmeOdV/ghj
 +bzm3WqIk/N59ZVFzpL4ZaIRRMOpzjbT8Ld8wiO9Og54+Al63R6pw2W6LwFX47V9
 W/0kz+MJVCCi8QZEvLkxj6TXD3u09TWd1dAoMbNmJUxQQ7QGOcaxYnR9n5hV5UJa
 mmwZKMcHq9bATUv5piMDeoifEXkLaCS90xhiK33Mlnj0NL1ThZi71TwCSDnyhaWh
 7RbUF5h18KDDPGpZHWDmzeUDbn3CsSM01spwsVerzGjYGfGlotxKqZeOOEw5ZpI/
 GE/zqkf8XNXMEqgQGgVY4Ci4tkK3Xe5yjA7Z1IiLBLuODP/3O/OCotOCyL0SYtV5
 wM/2uTptcozr4suPaPAsgyx5efrmU2cavp/ROkv5Imn+3hE+AdVv61f57QwmM9Ns
 A/8tQMqSV2uPRw==
 =bB+p
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.10-arm64-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/defconfig

arm64: tegra: Default configuration updates for v5.10-rc1

This pair of patches enable the ADMA, ACONNECT and AHUB drivers that
are required for audio support on Tegra210 and later.

* tag 'tegra-for-5.10-arm64-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: defconfig: Build ADMA and ACONNECT driver
  arm64: defconfig: Build AHUB component drivers

Link: https://lore.kernel.org/r/20200918150303.3938852-6-thierry.reding@gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 12:43:29 -07:00
Olof Johansson
7d0c5aee96 ARM: tegra: Changes for v5.10-rc1
These changes extend support on the Nexus 7 and Acer A500 devices.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAl9kyuoTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoY2jD/97+Ac4DgPunfTUHMRowwQfT2ftwErl
 WKMtU/QYgZaWRtC2DDdpfXiGcA4S1IsbPy51spdCfvhEltgxpzEr41B6MO3uDuKa
 uG/iI8zUzOazYMm0cuQS5xMDuMdZmxp+dL4hvWfhWKQWwM1zAS7OR4xBAiYlylxP
 UA7kkU8AaH9AbIYm/bcUP512HODt1qPKDii7THxPEDubqFuMtIsFmeMayA0r/gsn
 TrsFbZSIsTCo7+uJBW2UKxoIt+Bxd46wlWCp0F8gwxjPW0VHOeL9DSmY80FwXebm
 5//vB2rzdNx6SmZcuFQX2hbGT2ooUijJv02hS7u4ifWr9zmjU37Do3DsdEyypcyh
 /5/CO5UlyxgSvWco5neIo13sYszh5jv76F+OC6DtI3dmD1jessvfnr1HbWJCR/Pu
 3R2cfQV6eAK7ksHjERncxDogrWr5SNsQVdAvH0pFnlaCdNjHUq6ogsPK6OgoXyh1
 IgMz8DQHgRBDrSrskQqojQJ3J3sfEv3m/CXhSE/4aTYQMhaORhWhLZtabIc6NxoP
 +YOBb0Kj4dd6ULHV8zzXV9T1kMN5C+RHeqsTTQtFE2IZa3WZ3cRVUenkRgma2wFL
 ZFnTl68h4h3oQ9gzm40zcxuJu/YmR/KFQ2tE1KK088DolGxS1GRqtQvWIYZLiGp7
 FRfLjE0dxcL3BA==
 =MvQD
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.10-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt

ARM: tegra: Changes for v5.10-rc1

These changes extend support on the Nexus 7 and Acer A500 devices.

* tag 'tegra-for-5.10-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: nexus7: Add SMB347 battery charger
  ARM: tegra: nexus7: Add touchscreen
  ARM: tegra: nexus7: Use PLLC for WiFi MMC clock parent
  ARM: tegra: acer-a500: Use PLLC for WiFi MMC clock parent
  ARM: tegra: acer-a500: Set WiFi MMC clock rate to 50 MHz
  ARM: tegra: acer-a500: Correct PINCTRL configuration
  ARM: tegra: acer-a500: Remove atmel,cfg_name property
  ARM: tegra: acer-a500: Add aliases for MMC
  ARM: tegra: nexus7: Add aliases for MMC
  dt-bindings: power: supply: Add device-tree binding for Summit SMB3xx
  dt-bindings: tegra: pmc: Add Tegra234 support
  dt-bindings: fuse: tegra: Add Tegra234 support
  dt-bindings: tegra: Add Tegra234 VDK compatible
  dt-bindings: misc: tegra186-misc: Add Tegra234 support
  dt-bindings: misc: tegra186-misc: Add missing compatible string
  dt-bindings: misc: tegra-apbmisc: Add missing compatible strings

Link: https://lore.kernel.org/r/20200918150303.3938852-4-thierry.reding@gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 12:41:28 -07:00
Olof Johansson
63e15ef136 firmware: tegra: Changes for v5.10-rc1
This is a minor change that implements a BPMP workaround for pre-silicon
 platforms and is needed to enable support for BPMP on Tegra234.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAl9kyrUTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoZe3EACSRbZdlpHH2xf5HOgcJWAunD/EF15Z
 ArtcBGAXzBna0l68f8EnRmIxQ6GEZfvGI6VI7Th+jmKZego2BAUAgcmmMwxv1+UX
 4gA2mbb5JJi1E+/SLanD2YuhXj9E7Oj02SvDSkjI1rJtRkxHqD57fX4EyfWN7aXP
 Y3jdHWdc1kwqYB9oHR0eaJCAmMl077ez4r7lBy8qQGXkVg9WKmmLVrkfl4PRX1+S
 U1Ath9FEJcVl+Erdqi8SoUwKu1wM/OdAj1BK2U/yWg6x88fOGa3Dp0+T5DVH3iCb
 OK2IcJHTPEHpIfu1p4TvWLFAxbTar1zqyiVIxCG6TxUzzRYM/qegYNuLyF+WX+qG
 4iKExnyVuQqn/CdWyD6D3trW+spzeVCAvN2tpFO7Q9H4UCwIbqU5lFNztuqhb9RA
 Cn0ii2zQFD3L+opDcys0ZECs5/cB7jr5cGwwktgg1GYFutoQJsEddYIfhzZFr92W
 CFxCk1o0w+s9jN2CbwniQTGMR5evnnsyL3tEXwqhyNZuNRGt8+qfWoPmxuGkCvPW
 TnzzGoomx5JLdcqCW4ZUC0w/9BZkF0ZzvXud/5QUxlHjwf2XYwME0yUk5Y57TN9v
 saT6RwnY65DLNRl6CVotfp8NbhourD+2I5lzuV0HSJ8vvXCtBh/4DEjEgDlOlcD+
 DmgXLeKgwkqDPg==
 =Qpt9
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.10-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/drivers

firmware: tegra: Changes for v5.10-rc1

This is a minor change that implements a BPMP workaround for pre-silicon
platforms and is needed to enable support for BPMP on Tegra234.

* tag 'tegra-for-5.10-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  firmware: tegra: Enable BPMP support on Tegra234

Link: https://lore.kernel.org/r/20200918150303.3938852-3-thierry.reding@gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 12:40:10 -07:00
Olof Johansson
e8c9d35ea6 soc/tegra: Changes for v5.10-rc1
These changes contain a bit of cleanup and chip support for the upcoming
 Tegra234 SoC.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAl9kyl4THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zodJuEACaUpL6ZvdkihpnWzPtC3IXXcCSRAXZ
 m6pmI2+JnT9DBHVA/YaHvRiH4xR1VzzDRvKWB4svqt5jRaSm3MjS/vaJRZ+MebeD
 1KmTkiqKLNfsrF/Ckk4Y2UaMjSYr1lPx+3+E/Ad2m8YbDrZgAnHCxwkxU2KEnyTo
 6sqXMJh1XbGoE+3EYJfOrWJx4/0PDjFpcOHLDtSBHSbXQkdCsheEna2rwfYgWjD6
 TD+aKk6oUcZW+IQfIJQeAQF0jxhIfoglKby6n8P7zPBfFju5ZCcLX0JhL0QXtW3g
 6MVysEBnh0jRGKGKqQzrw7GTpc0v6vyDQm6ZwHLfTzPQbh7yEGD2t6olQQcxOO+p
 ZpEMTsbBw84z3BgaHvT4itkx37HO7ZbHEC7Jp0NH/ayjRbw4aAiNktMOBfA+JDGa
 ScJoQ0sTdquMh1eMtybCkfXeoefgSUuPUIJBi01i45JmLNlopI0pKotiMP5oxMYQ
 YyCqscSKYXNKp5plH20y6eupnHNO55ayHkjxq4iEo6+EpxiQQRqVrxnLPvuSRLZM
 eTLSIuW051YzeFNb0t/JdVGZYYJDO4rXzIJHNkr25FQP9HzvGxf6++ZfssZJoY8b
 6oxO65m/fnB5SVsA3r4g6JhaC5eKVjiRv8AcLjvJc1QUpe2QRuePXfkgSfAQViNH
 kKGzSY4QY4d79A==
 =kg9i
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.10-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/drivers

soc/tegra: Changes for v5.10-rc1

These changes contain a bit of cleanup and chip support for the upcoming
Tegra234 SoC.

* tag 'tegra-for-5.10-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: pmc: Add Tegra234 support
  soc/tegra: pmc: Reorder reset sources/levels definitions
  soc/tegra: misc: Add Tegra234 support
  soc/tegra: fuse: Add Tegra234 support
  soc/tegra: fuse: Implement tegra_is_silicon()
  soc/tegra: fuse: Extract tegra_get_platform()

Link: https://lore.kernel.org/r/20200918150303.3938852-2-thierry.reding@gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 12:39:36 -07:00
Olof Johansson
5746b3b886 Simplify tee_device_register() and friends
Uses cdev_device_add() instead of the cdev_add() device_add()
 combination.
 
 Initializes dev->groups instead of direct calls to sysfs_create_group()
 and friends.
 -----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAl9kdqUaHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJcnsBAAysa3ggeat7K/Y8Sw9Ewh
 J5Kxbvn3BQ0DXOlOtrQIuNcRr4kSmJWCPJ8E0IxiB2q01QLldOFqwE0zOKDmWYb9
 eGe/CuDlbFM2vbaTrPfXX6uhCjWd5VexF2K11oJc9TuH5u/ZEycGIO+/BRE7u758
 YY5puPwP82wbDesR+sDg7/115aRJ36fQFwWMm4LRCd8fLtrFgB6RSngdBxLr+Ue7
 Bya9+fmHsBhlUCBOvxCoFOy/PLMruYzJwXg0IFt+V7SDS+1KPErdn6TTCIeWeWbX
 oYPn07bChU5/pdAi6gch9y5WUesG7mRnN8m58A3G3Cg6WFr4RZKJqIFYLb3R+z26
 RCLWmhf3ldqF/a3KW/UBuTXRwFZB0WnxuAhBgptkvYAxyC2/qEfjTnXdXLiIP+2F
 0HWtEaPU1rkZWLHEjsw3H8hVLGcwBNSTS8k6qtDI17pLoWFQ794u9OrRiMhtiOlz
 wcdhzWjSkQcFL3Wiq3I+eYmzIMtnRVqFbisEBMR5iB+0fYznEtIKNJHassivsdxf
 7njcHo+jQ0ayEOIft/v+Ob13U8fIrC3dVdPVDNSE5rzH2FcTL9eEqSfdhaqicoLv
 7OqfmCOZQ7b9uvbPWV2ils3BKF679g5iRcrqQr6193V8TxRNIlScuqWTsBVzd+Vd
 Q4ecnuA/1BA1j2bz5uB8ZP8=
 =Knzl
 -----END PGP SIGNATURE-----

Merge tag 'tee-dev-cleanup-for-v5.10' of git://git.linaro.org:/people/jens.wiklander/linux-tee into arm/drivers

Simplify tee_device_register() and friends

Uses cdev_device_add() instead of the cdev_add() device_add()
combination.

Initializes dev->groups instead of direct calls to sysfs_create_group()
and friends.

* tag 'tee-dev-cleanup-for-v5.10' of git://git.linaro.org:/people/jens.wiklander/linux-tee:
  tee: avoid explicit sysfs_create/delete_group by initialising dev->groups
  tee: replace cdev_add + device_add with cdev_device_add

Link: https://lore.kernel.org/r/20200918144130.GB1219771@jade
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 12:39:08 -07:00
Olof Johansson
802b26b3c2 Renesas driver updates for v5.10 (take two)
- Add core support for the R-Car V3U (R8A779A0) SoC, including System
     Controller (SYSC) and Reset (RST) support,
   - Various Kconfig cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCX2ShfwAKCRCKwlD9ZEnx
 cO6bAP4kuetjBmf+BxLGRxZTEin+8YQRd7p051UZKBMa4qp2lwD+JKhnasH1qv64
 CWS3LV8FNumj2Gr1e3YdJcgwb+9p3gc=
 =K/tj
 -----END PGP SIGNATURE-----

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

Renesas driver updates for v5.10 (take two)

  - Add core support for the R-Car V3U (R8A779A0) SoC, including System
    Controller (SYSC) and Reset (RST) support,
  - Various Kconfig cleanups.

* tag 'renesas-drivers-for-v5.10-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: r8a779a0-sysc: Add r8a779a0 support
  soc: renesas: rcar-rst: Add support for R-Car V3U
  soc: renesas: Identify R-Car V3U
  soc: renesas: Sort driver description title
  soc: renesas: Use ARM32/ARM64 for menu description
  dt-bindings: clock: Add r8a779a0 CPG Core Clock Definitions
  dt-bindings: power: Add r8a779a0 SYSC power domain definitions

Link: https://lore.kernel.org/r/20200918124800.15555-4-geert+renesas@glider.be
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 12:38:34 -07:00
Olof Johansson
7a5f0085db Renesas ARM SoC updates for v5.10
- Make two local functions static.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCX2Sh1wAKCRCKwlD9ZEnx
 cE6SAP9Py6LDJgWL/Ztc0p/HbmiGrcMaNu+gA9o0xB6BZV95SQEAxbp3U9XI9rlK
 2uIknxAjL6uA7Tr+GeKZpKPWA/rWLgc=
 =l2HT
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-soc-for-v5.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/soc

Renesas ARM SoC updates for v5.10

  - Make two local functions static.

* tag 'renesas-arm-soc-for-v5.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  ARM: shmobile: rcar-gen2: Make rcar_gen2_{timer_init, reserve}() static

Link: https://lore.kernel.org/r/20200918124800.15555-3-geert+renesas@glider.be
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 12:36:59 -07:00
Olof Johansson
8af11ee90c AT91 SoC for 5.10
- ULP0 fast wakeup support
  - PM cleanups
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEycoQi/giopmpPgB12wIijOdRNOUFAl9ifcIACgkQ2wIijOdR
 NOWb9BAAq25Kz3s3e13oUF2txfvELbYSimWKJF2sMKojekj/RLVZKuxbc8CN0bBR
 QHQmHroJFdao15RR/IvyrpXmM19eaXQvj+Y0HlGAd5yeNCku2t2vRIkJ35r/PQL5
 jZYyttz8ln6LyzZ4zCo7YPPISbIiT899SnO1Fghbu1h/3Wz/b9txDvAxpN1irZr2
 oCjcr/Cl1E4DjOrcCEki1ey61XRbHanKYuv0MmG1AcYTCj9/7k8BNDD+UKBjtNUF
 qtxYCFSCzG6DU0uOA+hue5R1ObZNBQm9fESXyAieswLE/FHOwIh9m0RVqjpgMwFf
 1IMZw8YVniPS1PWd0ANPKD4qzVN9GbMn3jjTVqB/K3VqSIq/dVsKA68vZCBopuQe
 OPPXp5iOAsF9TP17iASif+uK2EDPQABYquSVTJisYh/MZ3PtexpiQXUbm7k3M89q
 aR2jg4ClkrGq2TmZRysbD2Hng6pSSaiVXpq5D6mCedm9OhAXkBSS0/nqDU78uHT4
 bk1rYu9vWCNFoVaz72pqt5oB6h5H4B9Uz99cS1g6C4oI0+iuWJz1ujBtIiZrGcjS
 QNv9z23wXJfH4WRyrxDj5qAcKxfVamnD3GWDVj35NAUTcjv2C1sdp+4gaZKEG0cB
 wH+1sz4ueGcx4xqb1WCYnQZI/2nFbAYtBu1v1e55TkLFFEU/xRM=
 =GtAw
 -----END PGP SIGNATURE-----

Merge tag 'at91-soc-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/soc

AT91 SoC for 5.10

 - ULP0 fast wakeup support
 - PM cleanups

* tag 'at91-soc-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: at91: pm: remove unnecessary at91sam9x60_idle
  ARM: at91: pm: of_node_put() after its usage
  ARM: at91: pm: add per soc validation of pm modes
  ARM: at91: pm: add support for ULP0 fast wakeup

Link: https://lore.kernel.org/r/20200916211119.GA275438@piout.net
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 12:35:36 -07:00
Jakub Kicinski
435be28b07 Revert "vxlan: move encapsulation warning"
This reverts commit 546c044c96.

Nothing prevents user from sending frames to "external" VxLAN devices.
In fact kernel itself may generate icmp chatter.

This is fine, such frames should be dropped.

The point of the "missing encapsulation" warning was that
frames with missing encap should not make it into vxlan_xmit_one().
And vxlan_xmit() drops them cleanly, so let it just do that.

Without this revert the warning is triggered by the udp_tunnel_nic.sh
test, but the minimal repro is:

$ ip link add vxlan0 type vxlan \
     	      	     group 239.1.1.1 \
		     dev lo \
		     dstport 1234 \
		     external
$ ip li set dev vxlan0 up

[  419.165981] vxlan0: Missing encapsulation instructions
[  419.166551] WARNING: CPU: 0 PID: 1041 at drivers/net/vxlan.c:2889 vxlan_xmit+0x15c0/0x1fc0 [vxlan]

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-09-26 12:34:47 -07:00
Linus Torvalds
a1bffa4874 SCSI fixes on 20200926
Three fixes: one in drivers (lpfc) and two for zoned block devices.
 The latter also impinges on the block layer but only to introduce a
 new block API for setting the zone model rather than fiddling with the
 queue directly in the zoned block driver.
 
 Signed-off-by: James E.J. Bottomley <jejb@linux.ibm.com>
 -----BEGIN PGP SIGNATURE-----
 
 iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCX29mRyYcamFtZXMuYm90
 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pishabnAP48vMYD
 /cjyGAJfq/0k/U/t6pRPc5tUm89LOWcOJz0SjwD/YXcQNz7mx8MxnypAV1jbWXR7
 iyWkPMYVc4EJh7oTARE=
 =SQhI
 -----END PGP SIGNATURE-----

Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fixes from James Bottomley:
 "Three fixes: one in drivers (lpfc) and two for zoned block devices.

  The latter also impinges on the block layer but only to introduce a
  new block API for setting the zone model rather than fiddling with the
  queue directly in the zoned block driver"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  scsi: sd: sd_zbc: Fix ZBC disk initialization
  scsi: sd: sd_zbc: Fix handling of host-aware ZBC disks
  scsi: lpfc: Fix initial FLOGI failure due to BBSCN not supported
2020-09-26 11:18:37 -07:00
Linus Torvalds
692495baa3 io_uring-5.9-2020-09-25
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAl9upV4QHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgpuPrD/9K1UQLv38K2nPYclLymOi+GIsukpjgwzdY
 SM38GNXU5vYkFhylH/bXfckNQ/gja0/whNpcr/UVCgTWleMnss9UiZaCgysyuIOL
 vnBxT4yDZIxtkOwF/790NiwV2FrsmrLFdNZU4LkmfbmmrAlNtjOElKyJsOyNNMzJ
 UMzHH2Z1vvUwKz+Yq4fPyZCJbpNHN6ABwkSXY/Nz8oWsKfw728fZztLsP57gOtkl
 yYVFO2z1n7VaWp5ZzVFYG51DFuMCIDXgN6mMlaKfnQ6auQZxjR+jg69HSRKLjIx7
 ZEG1gl/DzwH1+751P7HnuI3U7BtBYolyErHW4j4a6Ko4XX8PPhG9ODKOmsEMPrEq
 gCUGcGgWUsEyz+pyullTEt7ea/oLGJ5N86qtNOdviXETZZTghm47QlzxFWr1/GWy
 wH++ctBf/Ekk0dbCBF6mJiqDl/PrVSDSClTVhsGJESEmk4BOoC9zd9zT/EfsiR9m
 vA8wLE2g1/5oU+irQ0Dlc/EENVWISiigOFFvTPJJjma9iGXAW3kV2/aYW6DKZSwM
 w/va7zTlzt89O+L0AT+Rg8btaiTiaZcs3op1AFa1z5Gut3b5YhWL/e95wlaOI6Nv
 Tudm4GX06BaN1QdUDV9g0Pr5iNOaCvuOArjNOU3j7ySusJxiJ8GdA3WFqJ/XUlIV
 pne8hC/+7A==
 =mBw7
 -----END PGP SIGNATURE-----

Merge tag 'io_uring-5.9-2020-09-25' of git://git.kernel.dk/linux-block

Pull io_uring fixes from Jens Axboe:
 "Two fixes for regressions in this cycle, and one that goes to 5.8
  stable:

   - fix leak of getname() retrieved filename

   - remove plug->nowait assignment, fixing a regression with btrfs

   - fix for async buffered retry"

* tag 'io_uring-5.9-2020-09-25' of git://git.kernel.dk/linux-block:
  io_uring: ensure async buffered read-retry is setup properly
  io_uring: don't unconditionally set plug->nowait = true
  io_uring: ensure open/openat2 name is cleaned on cancelation
2020-09-26 11:13:51 -07:00
Linus Torvalds
9d2fbaefb3 block-5.9-2020-09-25
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAl9upXAQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgplZPD/9cIgt7FM7O1MZYCpp7TH+Da8887UxFDIJ4
 VWZOs7JzV0BPHsfonMEYBSsEYvJxA+w2vtD+aTTwBK/+QwvvCNRyPNjEGZRgb8+n
 o41qRCuuQho1OO9ivGI2C/sGmt7mI9LRZ+ik0yHYVSzW8V9z1Z0D/KB5258pwPEN
 mhjC+haAX0fjzSckh7Qr+5p8RdO/yxfzR6rugB84qzmwSxiFPdDI0v2bT1paNXPy
 cHx45ov3Z0UjfDnzpMcldnKznUScayFZ5rkOVaC1G7M7daJbAYnT0pZPAvbE4C9G
 koMdcIDqX4xsNGsmRePjvAcb2la6Oo0N0tKg8IB0syhyozQBbLH76RfUaybWZpbK
 JJZNJnGY6KwmrAYYw94uUH/EQ2YMweSp+x2MN503D4gBmFtc3oz6X6cgxXKMB/OH
 Z0l2D7nRSiVZAEPf/b/RY7N3vkxq1feTQTBgW/lheYU1LPc9w4uWDlpdmQFY+Agn
 biSZIFspn/WAbtXtRouKbm1fygHnUYqx7PQpyXRwvENFk15wz5174OrO4Doo5r9R
 1t9CYzxQFxnfVSukLFFdQxOUU78t9DQDYwTsCZXvTNNuEgv+3sOHQ8iYU7sCQiZh
 EAz97kqETUf/Av1+5ItzneZTaI22OU6DF2LBmkjxbKp7W+19yO15oo9gOjIR1l+r
 8Nr3DMOc3Q==
 =e8oA
 -----END PGP SIGNATURE-----

Merge tag 'block-5.9-2020-09-25' of git://git.kernel.dk/linux-block

Pull block fixes from Jens Axboe:
 "NVMe pull request from Christoph, and removal of a dead define.

   - fix error during controller probe that cause double free irqs
     (Keith Busch)

   - FC connection establishment fix (James Smart)

   - properly handle completions for invalid tags (Xianting Tian)

   - pass the correct nsid to the command effects and supported log
     (Chaitanya Kulkarni)"

* tag 'block-5.9-2020-09-25' of git://git.kernel.dk/linux-block:
  block: remove unused BLK_QC_T_EAGAIN flag
  nvme-core: don't use NVME_NSID_ALL for command effects and supported log
  nvme-fc: fail new connections to a deleted host or remote port
  nvme-pci: fix NULL req in completion handler
  nvme: return errors for hwmon init
2020-09-26 11:07:36 -07:00
Linus Torvalds
eeddbe6841 s390 fixes for 5.9-rc7
- Fix truncated ZCRYPT_PERDEV_REQCNT ioctl result. Copy entire reqcnt list.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEE3QHqV+H2a8xAv27vjYWKoQLXFBgFAl9vAiwACgkQjYWKoQLX
 FBj+xwf8DvOpBW0mo0D+aYqUrA0ETpeF5GIJe+yG/Sf4ozx7Qk49GvoC2ahEomSN
 jM4V7wkcnbjoPe1Cisv5PfzSf88AaZFJBbcoC7UKHQqVF2N8FVw59I2zI1+TFf6O
 RXtDZYeaVKNT2l40xrkZJudG4FEhlo9W7FZZqgdQy/4YZmof7p8mMQ0VhB/HQuh0
 qsihtefG9PLKYUUw7GvEtrPfrWoyFfwWfMAc00JklPsnwb6Y+heYgdzNM2ElIj6m
 u5dmnZoq7qsyAcwdA1t1TSCYgGSuYjny87NJ6dbe2HPzRFmwIhIAj1Jgr4ubFDBF
 4zZn0S8PDE4r4MEKDfvq9kohQ6uXCQ==
 =+5YA
 -----END PGP SIGNATURE-----

Merge tag 's390-5.9-7' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fix from Vasily Gorbik:
 "Fix truncated ZCRYPT_PERDEV_REQCNT ioctl result. Copy entire reqcnt
  list"

* tag 's390-5.9-7' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl
2020-09-26 11:01:18 -07:00
Linus Torvalds
8fb1e91033 Merge branch 'akpm' (patches from Andrew)
Merge misc fixes from Andrew Morton:
 "9 patches.

  Subsystems affected by this patch series: mm (thp, memcg, gup,
  migration, memory-hotplug), lib, and x86"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
  mm: don't rely on system state to detect hot-plug operations
  mm: replace memmap_context by meminit_context
  arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
  lib/memregion.c: include memregion.h
  lib/string.c: implement stpcpy
  mm/migrate: correct thp migration stats
  mm/gup: fix gup_fast with dynamic page table folding
  mm: memcontrol: fix missing suffix of workingset_restore
  mm, THP, swap: fix allocating cluster for swapfile by mistake
2020-09-26 10:53:35 -07:00
Minchan Kim
ce2684254b mm: validate pmd after splitting
syzbot reported the following KASAN splat:

  general protection fault, probably for non-canonical address 0xdffffc0000000003: 0000 [#1] PREEMPT SMP KASAN
  KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f]
  CPU: 1 PID: 6826 Comm: syz-executor142 Not tainted 5.9.0-rc4-syzkaller #0
  Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
  RIP: 0010:__lock_acquire+0x84/0x2ae0 kernel/locking/lockdep.c:4296
  Code: ff df 8a 04 30 84 c0 0f 85 e3 16 00 00 83 3d 56 58 35 08 00 0f 84 0e 17 00 00 83 3d 25 c7 f5 07 00 74 2c 4c 89 e8 48 c1 e8 03 <80> 3c 30 00 74 12 4c 89 ef e8 3e d1 5a 00 48 be 00 00 00 00 00 fc
  RSP: 0018:ffffc90004b9f850 EFLAGS: 00010006
  Call Trace:
    lock_acquire+0x140/0x6f0 kernel/locking/lockdep.c:5006
    __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
    _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:151
    spin_lock include/linux/spinlock.h:354 [inline]
    madvise_cold_or_pageout_pte_range+0x52f/0x25c0 mm/madvise.c:389
    walk_pmd_range mm/pagewalk.c:89 [inline]
    walk_pud_range mm/pagewalk.c:160 [inline]
    walk_p4d_range mm/pagewalk.c:193 [inline]
    walk_pgd_range mm/pagewalk.c:229 [inline]
    __walk_page_range+0xe7b/0x1da0 mm/pagewalk.c:331
    walk_page_range+0x2c3/0x5c0 mm/pagewalk.c:427
    madvise_pageout_page_range mm/madvise.c:521 [inline]
    madvise_pageout mm/madvise.c:557 [inline]
    madvise_vma mm/madvise.c:946 [inline]
    do_madvise+0x12d0/0x2090 mm/madvise.c:1145
    __do_sys_madvise mm/madvise.c:1171 [inline]
    __se_sys_madvise mm/madvise.c:1169 [inline]
    __x64_sys_madvise+0x76/0x80 mm/madvise.c:1169
    do_syscall_64+0x31/0x70 arch/x86/entry/common.c:46
    entry_SYSCALL_64_after_hwframe+0x44/0xa9

The backing vma was shmem.

In case of split page of file-backed THP, madvise zaps the pmd instead
of remapping of sub-pages.  So we need to check pmd validity after
split.

Reported-by: syzbot+ecf80462cb7d5d552bc7@syzkaller.appspotmail.com
Fixes: 1a4e58cce8 ("mm: introduce MADV_PAGEOUT")
Signed-off-by: Minchan Kim <minchan@kernel.org>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:48:08 -07:00
Laurent Dufour
f85086f95f mm: don't rely on system state to detect hot-plug operations
In register_mem_sect_under_node() the system_state's value is checked to
detect whether the call is made during boot time or during an hot-plug
operation.  Unfortunately, that check against SYSTEM_BOOTING is wrong
because regular memory is registered at SYSTEM_SCHEDULING state.  In
addition, memory hot-plug operation can be triggered at this system
state by the ACPI [1].  So checking against the system state is not
enough.

The consequence is that on system with interleaved node's ranges like this:

 Early memory node ranges
   node   1: [mem 0x0000000000000000-0x000000011fffffff]
   node   2: [mem 0x0000000120000000-0x000000014fffffff]
   node   1: [mem 0x0000000150000000-0x00000001ffffffff]
   node   0: [mem 0x0000000200000000-0x000000048fffffff]
   node   2: [mem 0x0000000490000000-0x00000007ffffffff]

This can be seen on PowerPC LPAR after multiple memory hot-plug and
hot-unplug operations are done.  At the next reboot the node's memory
ranges can be interleaved and since the call to link_mem_sections() is
made in topology_init() while the system is in the SYSTEM_SCHEDULING
state, the node's id is not checked, and the sections registered to
multiple nodes:

  $ ls -l /sys/devices/system/memory/memory21/node*
  total 0
  lrwxrwxrwx 1 root root     0 Aug 24 05:27 node1 -> ../../node/node1
  lrwxrwxrwx 1 root root     0 Aug 24 05:27 node2 -> ../../node/node2

In that case, the system is able to boot but if later one of theses
memory blocks is hot-unplugged and then hot-plugged, the sysfs
inconsistency is detected and this is triggering a BUG_ON():

  kernel BUG at /Users/laurent/src/linux-ppc/mm/memory_hotplug.c:1084!
  Oops: Exception in kernel mode, sig: 5 [#1]
  LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
  Modules linked in: rpadlpar_io rpaphp pseries_rng rng_core vmx_crypto gf128mul binfmt_misc ip_tables x_tables xfs libcrc32c crc32c_vpmsum autofs4
  CPU: 8 PID: 10256 Comm: drmgr Not tainted 5.9.0-rc1+ #25
  Call Trace:
    add_memory_resource+0x23c/0x340 (unreliable)
    __add_memory+0x5c/0xf0
    dlpar_add_lmb+0x1b4/0x500
    dlpar_memory+0x1f8/0xb80
    handle_dlpar_errorlog+0xc0/0x190
    dlpar_store+0x198/0x4a0
    kobj_attr_store+0x30/0x50
    sysfs_kf_write+0x64/0x90
    kernfs_fop_write+0x1b0/0x290
    vfs_write+0xe8/0x290
    ksys_write+0xdc/0x130
    system_call_exception+0x160/0x270
    system_call_common+0xf0/0x27c

This patch addresses the root cause by not relying on the system_state
value to detect whether the call is due to a hot-plug operation.  An
extra parameter is added to link_mem_sections() detailing whether the
operation is due to a hot-plug operation.

[1] According to Oscar Salvador, using this qemu command line, ACPI
memory hotplug operations are raised at SYSTEM_SCHEDULING state:

  $QEMU -enable-kvm -machine pc -smp 4,sockets=4,cores=1,threads=1 -cpu host -monitor pty \
        -m size=$MEM,slots=255,maxmem=4294967296k  \
        -numa node,nodeid=0,cpus=0-3,mem=512 -numa node,nodeid=1,mem=512 \
        -object memory-backend-ram,id=memdimm0,size=134217728 -device pc-dimm,node=0,memdev=memdimm0,id=dimm0,slot=0 \
        -object memory-backend-ram,id=memdimm1,size=134217728 -device pc-dimm,node=0,memdev=memdimm1,id=dimm1,slot=1 \
        -object memory-backend-ram,id=memdimm2,size=134217728 -device pc-dimm,node=0,memdev=memdimm2,id=dimm2,slot=2 \
        -object memory-backend-ram,id=memdimm3,size=134217728 -device pc-dimm,node=0,memdev=memdimm3,id=dimm3,slot=3 \
        -object memory-backend-ram,id=memdimm4,size=134217728 -device pc-dimm,node=1,memdev=memdimm4,id=dimm4,slot=4 \
        -object memory-backend-ram,id=memdimm5,size=134217728 -device pc-dimm,node=1,memdev=memdimm5,id=dimm5,slot=5 \
        -object memory-backend-ram,id=memdimm6,size=134217728 -device pc-dimm,node=1,memdev=memdimm6,id=dimm6,slot=6 \

Fixes: 4fbce63391 ("mm/memory_hotplug.c: make register_mem_sect_under_node() a callback of walk_memory_range()")
Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Nathan Lynch <nathanl@linux.ibm.com>
Cc: Scott Cheloha <cheloha@linux.ibm.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20200915094143.79181-3-ldufour@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Laurent Dufour
c1d0da8335 mm: replace memmap_context by meminit_context
Patch series "mm: fix memory to node bad links in sysfs", v3.

Sometimes, firmware may expose interleaved memory layout like this:

 Early memory node ranges
   node   1: [mem 0x0000000000000000-0x000000011fffffff]
   node   2: [mem 0x0000000120000000-0x000000014fffffff]
   node   1: [mem 0x0000000150000000-0x00000001ffffffff]
   node   0: [mem 0x0000000200000000-0x000000048fffffff]
   node   2: [mem 0x0000000490000000-0x00000007ffffffff]

In that case, we can see memory blocks assigned to multiple nodes in
sysfs:

  $ ls -l /sys/devices/system/memory/memory21
  total 0
  lrwxrwxrwx 1 root root     0 Aug 24 05:27 node1 -> ../../node/node1
  lrwxrwxrwx 1 root root     0 Aug 24 05:27 node2 -> ../../node/node2
  -rw-r--r-- 1 root root 65536 Aug 24 05:27 online
  -r--r--r-- 1 root root 65536 Aug 24 05:27 phys_device
  -r--r--r-- 1 root root 65536 Aug 24 05:27 phys_index
  drwxr-xr-x 2 root root     0 Aug 24 05:27 power
  -r--r--r-- 1 root root 65536 Aug 24 05:27 removable
  -rw-r--r-- 1 root root 65536 Aug 24 05:27 state
  lrwxrwxrwx 1 root root     0 Aug 24 05:25 subsystem -> ../../../../bus/memory
  -rw-r--r-- 1 root root 65536 Aug 24 05:25 uevent
  -r--r--r-- 1 root root 65536 Aug 24 05:27 valid_zones

The same applies in the node's directory with a memory21 link in both
the node1 and node2's directory.

This is wrong but doesn't prevent the system to run.  However when
later, one of these memory blocks is hot-unplugged and then hot-plugged,
the system is detecting an inconsistency in the sysfs layout and a
BUG_ON() is raised:

  kernel BUG at /Users/laurent/src/linux-ppc/mm/memory_hotplug.c:1084!
  LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
  Modules linked in: rpadlpar_io rpaphp pseries_rng rng_core vmx_crypto gf128mul binfmt_misc ip_tables x_tables xfs libcrc32c crc32c_vpmsum autofs4
  CPU: 8 PID: 10256 Comm: drmgr Not tainted 5.9.0-rc1+ #25
  Call Trace:
    add_memory_resource+0x23c/0x340 (unreliable)
    __add_memory+0x5c/0xf0
    dlpar_add_lmb+0x1b4/0x500
    dlpar_memory+0x1f8/0xb80
    handle_dlpar_errorlog+0xc0/0x190
    dlpar_store+0x198/0x4a0
    kobj_attr_store+0x30/0x50
    sysfs_kf_write+0x64/0x90
    kernfs_fop_write+0x1b0/0x290
    vfs_write+0xe8/0x290
    ksys_write+0xdc/0x130
    system_call_exception+0x160/0x270
    system_call_common+0xf0/0x27c

This has been seen on PowerPC LPAR.

The root cause of this issue is that when node's memory is registered,
the range used can overlap another node's range, thus the memory block
is registered to multiple nodes in sysfs.

There are two issues here:

 (a) The sysfs memory and node's layouts are broken due to these
     multiple links

 (b) The link errors in link_mem_sections() should not lead to a system
     panic.

To address (a) register_mem_sect_under_node should not rely on the
system state to detect whether the link operation is triggered by a hot
plug operation or not.  This is addressed by the patches 1 and 2 of this
series.

Issue (b) will be addressed separately.

This patch (of 2):

The memmap_context enum is used to detect whether a memory operation is
due to a hot-add operation or happening at boot time.

Make it general to the hotplug operation and rename it as
meminit_context.

There is no functional change introduced by this patch

Suggested-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "Rafael J . Wysocki" <rafael@kernel.org>
Cc: Nathan Lynch <nathanl@linux.ibm.com>
Cc: Scott Cheloha <cheloha@linux.ibm.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20200915094143.79181-1-ldufour@linux.ibm.com
Link: https://lkml.kernel.org/r/20200915132624.9723-1-ldufour@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Mikulas Patocka
a1cd6c2ae4 arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
If we copy less than 8 bytes and if the destination crosses a cache
line, __copy_user_flushcache would invalidate only the first cache line.

This patch makes it invalidate the second cache line as well.

Fixes: 0aed55af88 ("x86, uaccess: introduce copy_from_iter_flushcache for pmem / cache-bypass operations")
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Dan Williams <dan.j.wiilliams@intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Toshi Kani <toshi.kani@hpe.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Matthew Wilcox <mawilcox@microsoft.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/alpine.LRH.2.02.2009161451140.21915@file01.intranet.prod.int.rdu2.redhat.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Jason Yan
ffa550cd69 lib/memregion.c: include memregion.h
This addresses the following sparse warning:

  lib/memregion.c:8:5: warning: symbol 'memregion_alloc' was not declared. Should it be static?
  lib/memregion.c:14:6: warning: symbol 'memregion_free' was not declared. Should it be static?

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Jason Yan <yanaijie@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Link: https://lkml.kernel.org/r/20200921142852.875312-1-yanaijie@huawei.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Nick Desaulniers
1e1b6d63d6 lib/string.c: implement stpcpy
LLVM implemented a recent "libcall optimization" that lowers calls to
`sprintf(dest, "%s", str)` where the return value is used to
`stpcpy(dest, str) - dest`.

This generally avoids the machinery involved in parsing format strings.
`stpcpy` is just like `strcpy` except it returns the pointer to the new
tail of `dest`.  This optimization was introduced into clang-12.

Implement this so that we don't observe linkage failures due to missing
symbol definitions for `stpcpy`.

Similar to last year's fire drill with: commit 5f074f3e19
("lib/string.c: implement a basic bcmp")

The kernel is somewhere between a "freestanding" environment (no full
libc) and "hosted" environment (many symbols from libc exist with the
same type, function signature, and semantics).

As Peter Anvin notes, there's not really a great way to inform the
compiler that you're targeting a freestanding environment but would like
to opt-in to some libcall optimizations (see pr/47280 below), rather
than opt-out.

Arvind notes, -fno-builtin-* behaves slightly differently between GCC
and Clang, and Clang is missing many __builtin_* definitions, which I
consider a bug in Clang and am working on fixing.

Masahiro summarizes the subtle distinction between compilers justly:
  To prevent transformation from foo() into bar(), there are two ways in
  Clang to do that; -fno-builtin-foo, and -fno-builtin-bar.  There is
  only one in GCC; -fno-buitin-foo.

(Any difference in that behavior in Clang is likely a bug from a missing
__builtin_* definition.)

Masahiro also notes:
  We want to disable optimization from foo() to bar(),
  but we may still benefit from the optimization from
  foo() into something else. If GCC implements the same transform, we
  would run into a problem because it is not -fno-builtin-bar, but
  -fno-builtin-foo that disables that optimization.

  In this regard, -fno-builtin-foo would be more future-proof than
  -fno-built-bar, but -fno-builtin-foo is still potentially overkill. We
  may want to prevent calls from foo() being optimized into calls to
  bar(), but we still may want other optimization on calls to foo().

It seems that compilers today don't quite provide the fine grain control
over which libcall optimizations pseudo-freestanding environments would
prefer.

Finally, Kees notes that this interface is unsafe, so we should not
encourage its use.  As such, I've removed the declaration from any
header, but it still needs to be exported to avoid linkage errors in
modules.

Reported-by: Sami Tolvanen <samitolvanen@google.com>
Suggested-by: Andy Lavr <andy.lavr@gmail.com>
Suggested-by: Arvind Sankar <nivedita@alum.mit.edu>
Suggested-by: Joe Perches <joe@perches.com>
Suggested-by: Kees Cook <keescook@chromium.org>
Suggested-by: Masahiro Yamada <masahiroy@kernel.org>
Suggested-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20200914161643.938408-1-ndesaulniers@google.com
Link: https://bugs.llvm.org/show_bug.cgi?id=47162
Link: https://bugs.llvm.org/show_bug.cgi?id=47280
Link: https://github.com/ClangBuiltLinux/linux/issues/1126
Link: https://man7.org/linux/man-pages/man3/stpcpy.3.html
Link: https://pubs.opengroup.org/onlinepubs/9699919799/functions/stpcpy.html
Link: https://reviews.llvm.org/D85963
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Zi Yan
6c5c7b9f33 mm/migrate: correct thp migration stats
PageTransHuge returns true for both thp and hugetlb, so thp stats was
counting both thp and hugetlb migrations.  Exclude hugetlb migration by
setting is_thp variable right.

Clean up thp handling code too when we are there.

Fixes: 1a5bae25e3 ("mm/vmstat: add events for THP migration without split")
Signed-off-by: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lkml.kernel.org/r/20200917210413.1462975-1-zi.yan@sent.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Vasily Gorbik
d3f7b1bb20 mm/gup: fix gup_fast with dynamic page table folding
Currently to make sure that every page table entry is read just once
gup_fast walks perform READ_ONCE and pass pXd value down to the next
gup_pXd_range function by value e.g.:

  static int gup_pud_range(p4d_t p4d, unsigned long addr, unsigned long end,
                           unsigned int flags, struct page **pages, int *nr)
  ...
          pudp = pud_offset(&p4d, addr);

This function passes a reference on that local value copy to pXd_offset,
and might get the very same pointer in return.  This happens when the
level is folded (on most arches), and that pointer should not be
iterated.

On s390 due to the fact that each task might have different 5,4 or
3-level address translation and hence different levels folded the logic
is more complex and non-iteratable pointer to a local copy leads to
severe problems.

Here is an example of what happens with gup_fast on s390, for a task
with 3-level paging, crossing a 2 GB pud boundary:

  // addr = 0x1007ffff000, end = 0x10080001000
  static int gup_pud_range(p4d_t p4d, unsigned long addr, unsigned long end,
                           unsigned int flags, struct page **pages, int *nr)
  {
        unsigned long next;
        pud_t *pudp;

        // pud_offset returns &p4d itself (a pointer to a value on stack)
        pudp = pud_offset(&p4d, addr);
        do {
                // on second iteratation reading "random" stack value
                pud_t pud = READ_ONCE(*pudp);

                // next = 0x10080000000, due to PUD_SIZE/MASK != PGDIR_SIZE/MASK on s390
                next = pud_addr_end(addr, end);
                ...
        } while (pudp++, addr = next, addr != end); // pudp++ iterating over stack

        return 1;
  }

This happens since s390 moved to common gup code with commit
d1874a0c28 ("s390/mm: make the pxd_offset functions more robust") and
commit 1a42010cdc ("s390/mm: convert to the generic
get_user_pages_fast code").

s390 tried to mimic static level folding by changing pXd_offset
primitives to always calculate top level page table offset in pgd_offset
and just return the value passed when pXd_offset has to act as folded.

What is crucial for gup_fast and what has been overlooked is that
PxD_SIZE/MASK and thus pXd_addr_end should also change correspondingly.
And the latter is not possible with dynamic folding.

To fix the issue in addition to pXd values pass original pXdp pointers
down to gup_pXd_range functions.  And introduce pXd_offset_lockless
helpers, which take an additional pXd entry value parameter.  This has
already been discussed in

  https://lkml.kernel.org/r/20190418100218.0a4afd51@mschwideX1

Fixes: 1a42010cdc ("s390/mm: convert to the generic get_user_pages_fast code")
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Mike Rapoport <rppt@linux.ibm.com>
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Claudio Imbrenda <imbrenda@linux.ibm.com>
Cc: <stable@vger.kernel.org>	[5.2+]
Link: https://lkml.kernel.org/r/patch.git-943f1e5dcff2.your-ad-here.call-01599856292-ext-8676@work.hours
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Muchun Song
8d3fe09d8d mm: memcontrol: fix missing suffix of workingset_restore
We forget to add the suffix to the workingset_restore string, so fix it.

And also update the documentation of cgroup-v2.rst.

Fixes: 170b04b7ae ("mm/workingset: prepare the workingset detection infrastructure for anon LRU")
Signed-off-by: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Shakeel Butt <shakeelb@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Tejun Heo <tj@kernel.org>
Cc: Zefan Li <lizefan@huawei.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Roman Gushchin <guro@fb.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Link: https://lkml.kernel.org/r/20200916100030.71698-1-songmuchun@bytedance.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Gao Xiang
4166343058 mm, THP, swap: fix allocating cluster for swapfile by mistake
SWP_FS is used to make swap_{read,write}page() go through the
filesystem, and it's only used for swap files over NFS.  So, !SWP_FS
means non NFS for now, it could be either file backed or device backed.
Something similar goes with legacy SWP_FILE.

So in order to achieve the goal of the original patch, SWP_BLKDEV should
be used instead.

FS corruption can be observed with SSD device + XFS + fragmented
swapfile due to CONFIG_THP_SWAP=y.

I reproduced the issue with the following details:

Environment:

  QEMU + upstream kernel + buildroot + NVMe (2 GB)

Kernel config:

  CONFIG_BLK_DEV_NVME=y
  CONFIG_THP_SWAP=y

Some reproducible steps:

  mkfs.xfs -f /dev/nvme0n1
  mkdir /tmp/mnt
  mount /dev/nvme0n1 /tmp/mnt
  bs="32k"
  sz="1024m"    # doesn't matter too much, I also tried 16m
  xfs_io -f -c "pwrite -R -b $bs 0 $sz" -c "fdatasync" /tmp/mnt/sw
  xfs_io -f -c "pwrite -R -b $bs 0 $sz" -c "fdatasync" /tmp/mnt/sw
  xfs_io -f -c "pwrite -R -b $bs 0 $sz" -c "fdatasync" /tmp/mnt/sw
  xfs_io -f -c "pwrite -F -S 0 -b $bs 0 $sz" -c "fdatasync" /tmp/mnt/sw
  xfs_io -f -c "pwrite -R -b $bs 0 $sz" -c "fsync" /tmp/mnt/sw

  mkswap /tmp/mnt/sw
  swapon /tmp/mnt/sw

  stress --vm 2 --vm-bytes 600M   # doesn't matter too much as well

Symptoms:
 - FS corruption (e.g. checksum failure)
 - memory corruption at: 0xd2808010
 - segfault

Fixes: f0eea189e8 ("mm, THP, swap: Don't allocate huge cluster for file backed swap device")
Fixes: 38d8b4e6bd ("mm, THP, swap: delay splitting THP during swap out")
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: "Huang, Ying" <ying.huang@intel.com>
Reviewed-by: Yang Shi <shy828301@gmail.com>
Acked-by: Rafael Aquini <aquini@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Carlos Maiolino <cmaiolino@redhat.com>
Cc: Eric Sandeen <esandeen@redhat.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20200820045323.7809-1-hsiangkao@redhat.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Olof Johansson
fffde96eb0 mt2701:
- add jpeg enconder node
 mt7623:
 - refactor dts and add hdmi support
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAl9uCjwXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH5zkg//eBk9qt4UkYFhy1YmG8SMvjPa
 Qiix0dsalNaxjGodq2z1289qDlkzIXh8rBXKrjy33ILRICyhH4ilnTjpyryeiSJX
 bviceQO+E29DOwUthnKhM5Aag65SJ62/CVI0v/ofRk+NZD0pwj/RMQBUvpKyVe+1
 gdzw76tFm41cIk2vWO5NPVreeediIQVN9oszmUQ6mebA5NA1zk7vyBhOAM5NvWvP
 jjnMEqRjo1mUYJ/x8QiNDu4shsTRr0vKJGJWUrHq/gAPlQ8xZND5SyChE3CsExM1
 5fzpyUdUAqJS6d70RD+ePQ4N8SKxEtIedXk1MoAZBHNP4S2zKtrvGmj6CZ02OisB
 YlpSQGfkmCYonsnvCpxUuS8mvgtsPkQUx0gtfGOcsQ2DY7ZH/kXaPS8Z35/LgIlW
 Qhwj9mQ8f6Txr1vzoZsiyRWySdXxo5csOMsis6n0Y9BC6gANOQFRCrHo0yKFDo/3
 fBy3XC7U1L2j567GFV85a7MIrsg4OYyb9X2posrWCFunV61R3dU02ZhVlwlEEBs8
 uLkhT+lsYKIRI6fhwv9ETBOawCx9iit7BujJjobzsexvQUf/kJ8+EHKucpOqu1Qt
 P3zObxohYgIlrv4oW6whlmsrKStpNOTzT6OOx1eBX4apU0kZp4opbVV2DWJfsQ4W
 DlGnwGJF1sUcAkFmb8s=
 =6jDY
 -----END PGP SIGNATURE-----

Merge tag 'v5.9-next-dts32' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt

mt2701:
- add jpeg enconder node
mt7623:
- refactor dts and add hdmi support

* tag 'v5.9-next-dts32' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  arm: dts: mt7623: add missing pause for switchport
  arm: dts: mt7623: add lima related regulator
  arm: dts: mt7623: add display subsystem related device nodes
  arm: dts: mt7623: move display nodes to separate mt7623n.dtsi
  arm: dts: mt2701: Add jpeg enc device tree node

Link: https://lore.kernel.org/r/641d4d47-b7ad-42dd-f7a8-e028a1f64d70@gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:24:37 -07:00
Olof Johansson
f75ff2c7bc mt8173:
- make nor flash work
 - fix da9211 regulator modes
 
 mt8183:
 - add support for system companion processor
 
 mt8516:
 - set reset gpio for gpio expander in pumpkin board
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAl9uC+IXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH7c3w/+L6fmP/VXGl89AN7JG3J+45yo
 WCyjT+JnQIOvI38o6ueGet/I5M6uFNC3wLM9VKa3/9Jj8fxJuSpQQzxBojwKwEHG
 hqBUVlhC12WdHLtf15fulwmkuXOi731NbnRW6/lBWZ2dW8ZNqxRu7T5kRGuWgokk
 Uoo38SI81xFBaOBkYZy4S+MEZIWFsvD4wxehJKkb+yT+IRXEYUA8zGbzznLKnojQ
 XUMuGaoB6uJiW2dme19pwj0AeG/maYuD6XkOEqY6YHaF7GCY9dk+xBiys581M5wn
 2/XpLoZu1jPQkPOlylwl5zc0TbVbZuqpESOVoCotSz+tO6OekNQQ8gouGzGjRU45
 fZtVKI9M8hl4NKldtnPoqykGLnfgveFNu0Kz0sQ8t47JWP4y/lKnusRxsWptWpe/
 RlKPHq/Hkg7yMEXsQoiOwGy4gOe5+2p29H4G/GcsRjY0fEaqs8s9mtwaYTzc4Wi6
 TsI0FTudmp9BenCKLmctt3Cbp5VASN+pXMfZm5mXudC1CloLxMqDw5Ny0duKvxJ0
 innCl38E4UpmTPBjsxdJ3UU7gJJjMwZas8oKsBkNBP7xbEKA1EqfX37Pg3TUBGJf
 sSY+UYWfhkYNtqSTXj/7uRvo1YRD3LZbt0QBNtDok3BxbExv695AWe3rRkKSkmiU
 tYYVlX0N76LXsJ3sCSk=
 =hAPZ
 -----END PGP SIGNATURE-----

Merge tag 'v5.9-next-dts64' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt

mt8173:
- make nor flash work
- fix da9211 regulator modes

mt8183:
- add support for system companion processor

mt8516:
- set reset gpio for gpio expander in pumpkin board

* tag 'v5.9-next-dts64' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  arm64: dts: mt8183: update watchdog device node
  arm64: dts: mt8173: elm: Fix nor_flash node property
  arm64: dts: mediatek: fix tca6416 reset GPIOs in pumpkin
  arm64: dts: mt8183: add scp node
  arm64: dts: mt8173-elm: fix supported values for regulator-allowed-modes of da9211

Link: https://lore.kernel.org/r/1580bc76-b05a-ad29-1854-d2aca657c775@gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:23:59 -07:00
Olof Johansson
9289beb8eb arm64: dtc: amlogic updates for v5.10
- new boards: libretch s905x cc v2, Hardkernel ODROID-N2+
 - vim3: sound updates
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAl9t/bwACgkQWTcYmtP7
 xmX/kg//Sk4td4460YcVXrkNJCZ5m7PXiOlJ/ATVz2pv8lb+bf7bOkYWR+pUyxv0
 FERntgCgH8BlY+omNVRq3EduVjaaoeilKwCuaHgbGExy20dRLh8BhiYCqRKADnL5
 dJ59HKntHh6S/7NbooYRgSdlE2uAmt2hdQx7mtJQZNlTraRCXs/NP3WmBrmOLbjS
 1CDLk7iG0S7b6McsNwZnWje6aV01g53599aM1WRKgNbNl7hafnpTB3YB+IdI0wwK
 k1hX1ma77TmwXTk2CuSZh2rL0k22Gqd6kzMnH1x5rvSwhhpARDoqMDqCGTrcqbqJ
 Ziy8EXaVT/S8NkcPbdGQtu6vwlXjBskSA5bEqNylCdkpsghukbXTMug5fw3ftVWZ
 s67Vw/fFGEnzSINJ8uVQxMT6dkKRjkvSIYgukaAQG8Ni+xqfZfulbHkgo5HdVNvt
 8YlgbhOx4dmPvZLvkjP3mzlaoZbPt2Fg+4XVPtHyXjK52ppjt08xzZ2xscq0APNG
 G/eF2+treEn305I3kmOK0flrPelpOy6BVcB6lyK6L3DsGYb/hoGI/55y0JvGFxwp
 j0i59X1b9LrBmxi8C96x5dQSzrzprnj6sI1aaTsereAJyuA6rZ6B+nN9bzj1Xfk+
 7/RsXzSJ/gkOudDgFFyjML8IqXhlhQull0y5+iiDib7vQ1XS/9A=
 =vrF9
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt

arm64: dtc: amlogic updates for v5.10
- new boards: libretch s905x cc v2, Hardkernel ODROID-N2+
- vim3: sound updates

* tag 'amlogic-dt64' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson: initial support for aml-s905x-cc v2
  dt-bindings: arm: amlogic: add support for libretch s905x cc v2
  arm64: dts: meson: add support for the ODROID-N2+
  dt-bindings: arm: amlogic: add support for the ODROID-N2+
  arm64: dts: meson: convert ODROID-N2 to dtsi
  arm64: dts: meson: vim3l: remove sound card definition
  arm64: dts: meson: vim3: make sound card common to all variants
  arm64: dts: meson: vim3: correct led polarity

Link: https://lore.kernel.org/r/7h3636kjxd.fsf@baylibre.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:23:18 -07:00
Olof Johansson
c490eab969 ARM: dts: amlogic updates for v5.10
- minor cleanup
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAl9t/WcACgkQWTcYmtP7
 xmU5Kw/+JRejv/lMw0pNhHPLB3U2op65qnayvba9Ra1bWwXrGD3oNjBmAaAhfCGO
 MYX7oHjRK/LchLJQW2CG4mdkV9cb/hFTVOqILQPyQfLpQl0kGstKsRYP7boF68Ih
 jJZ+OstroocKiG1jmvtgMHdRZvNRRzXq+ycOyIj2teuM7LN9+passF3GM5oydzf7
 Kdxz3YhsG+DAYBBtf52ZWmeTr8rvgfZ5zckfTxv4ex6SgduT7ELG05+J6IA1hpf0
 h3fi+pIqaCWZ3+zBJPBGIRDOu4rdA8PQH0exLk8gFgxizAamAqvqH66eNwt8wGSl
 CfdpFswhEVitDEIElsVzxfxkM0jYTTOAK8Vmd+woBN0cYF70KxS3JjsrwDF4rqG5
 u1FmfA+J/D1rAwe9tVROD8Zhb1BommgygU60j8KbHyBYDvhIiL4Q6Bv0bnDs2R/G
 1gznUILQ299TKN8xQRa5xXBFFl9L7z/ewRwayyUPd+SSFu87i+kl8N+TD1ZN05jv
 uyyjlJDNdujo1njxStTSbaqL3AR7J3T7NznrPpvRoRUv65Z2AS0PNtRyUbGXcffC
 urUCeM2CSSg7vOKMrHdf+60aWjRiLFY2SrbH8tahXCjJSDpDjInO+4BXHcAfI0+9
 OiLYsA/bO5Vm7TsNUsR+Kb/OvBlS4tKGbMJSusFp84cIthWcOZA=
 =TQbU
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt

ARM: dts: amlogic updates for v5.10
- minor cleanup

* tag 'amlogic-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM: dts: meson: move the L2 cache-controller inside the SoC node

Link: https://lore.kernel.org/r/7h7dsikjyt.fsf@baylibre.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:22:47 -07:00
Olof Johansson
873c331927 STM32 DT updates for v5.10, round 1
Highlights:
 ----------
 
 MCU part:
  -Some changes on stm32h743: enable display controler, add SPI resets,
   use "st,stm32h7-uart" compatible.
 
 MPU part:
  -Add new Odyssey SOM board based on STM32MP157CAC. It embeds 4GB eMMC, 512
   MB DDR3 RAM, USB and ETH connectors and a combo wifi/BT (AP6236 chip).
  -Add FMC2 EBI support on EV1 board.
  -Add arm-pmu node.
  -LXA:
   -Change ethernet phy delays to avoid kernel warnings.
   -Enable DDR50 eMMC mode.
  -DH:
   -Add new DH DRC02 unit board.
   -Add USB OTG support on PDK2 board.
   -Use uart8 RTS/CTS on PDK2 board.
   -Fix display PWM channel on PDK2 board.
   -Swap phy reset line and touchscreen irq on DHCOM SOM.
   -Drop QSPI CS2 on DHCOM SOM.
   -Update SDMMC pin config on AV96.
   -Enable uart7 RTS/CTS on AV96.
 -----BEGIN PGP SIGNATURE-----
 
 iQJMBAABCgA2FiEEctl9+nxzUSUqdELdf5rJavIecIUFAl9sbWkYHGFsZXhhbmRy
 ZS50b3JndWVAc3QuY29tAAoJEH+ayWryHnCFMT8P/1dgIDuB6ipE/F62JafiEAfJ
 gH+VPNaqzmOKLN7j5Nuhp1NIxE2FK4suJb7tT2ORbrv+uiO4t8e8dtpG8nzRCTbh
 p6Mmko/Hvchxxt/7ij8bllLIBjfYQfqQT81dJwR32ZheA7IZDuSEUZoMXZFxA73r
 GpYc6wq/J9990MEUgiDWyRuIuM00XRGlfeJM421n84Ce04q6YF6EAkNUdtIwVljv
 iw/il+jR+i4kal/aTJPGylPclQl/FCPaRDGivRSX11GU+ONDT5js23L18Odk+0W3
 ta2Qgb9667R6rD/C6imc46jNE76I/5/LLLpWaXzaGNzBEZ23WgifL76xSKGya9wV
 wN0/PoBnqBeUVbRFUQ+LHnZ5aN+wIebIcgBpa6WK2msmDztAwAVP81xqWKju2NlY
 7G67M8Yh7qYbEiAa4KFnMpp6wDxUVkx+fs+jPuOqO6mtGgXtx/M3ddVjxGETnEPX
 iBtylQ2SADTWV+TAhkVOM7xOEJl/btkxdsXt4dGh2vxQ8fouGJnQFj+sGUxPoSwg
 QbIHmhybSwol0MhvThoS6CYhxNQqpLbM3T4MNu8sPe8ArU7tlT2GheUrZlG8krkv
 JqIFM4Mp8bZaUl6l6awNF/+4EbffghvJR7+9WIKa15L4LkWLD++zp/PR87TLz1NU
 8KxsDc+JMz6WxHOeZ0uL
 =K195
 -----END PGP SIGNATURE-----

Merge tag 'stm32-dt-for-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into arm/dt

STM32 DT updates for v5.10, round 1

Highlights:
----------

MCU part:
 -Some changes on stm32h743: enable display controler, add SPI resets,
  use "st,stm32h7-uart" compatible.

MPU part:
 -Add new Odyssey SOM board based on STM32MP157CAC. It embeds 4GB eMMC, 512
  MB DDR3 RAM, USB and ETH connectors and a combo wifi/BT (AP6236 chip).
 -Add FMC2 EBI support on EV1 board.
 -Add arm-pmu node.
 -LXA:
  -Change ethernet phy delays to avoid kernel warnings.
  -Enable DDR50 eMMC mode.
 -DH:
  -Add new DH DRC02 unit board.
  -Add USB OTG support on PDK2 board.
  -Use uart8 RTS/CTS on PDK2 board.
  -Fix display PWM channel on PDK2 board.
  -Swap phy reset line and touchscreen irq on DHCOM SOM.
  -Drop QSPI CS2 on DHCOM SOM.
  -Update SDMMC pin config on AV96.
  -Enable uart7 RTS/CTS on AV96.

* tag 'stm32-dt-for-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
  ARM: dts: stm32: add arm-pmu node on stm32mp15
  ARM: dts: stm32: add FMC2 EBI support for stm32mp157c
  ARM: dts: stm32: lxa-mc1: enable DDR50 mode on eMMC
  ARM: dts: stm32: Fix DH PDK2 display PWM channel
  ARM: dts: stm32: Enable RTS/CTS for DH AV96 UART7
  ARM: dts: stm32: Swap PHY reset GPIO and TSC2004 IRQ on DHCOM SOM
  ARM: dts: stm32: use stm32h7 usart compatible string for stm32h743
  ARM: dts: stm32: add resets property to spi device nodes on stm32h743
  ARM: dts: stm32: add display controller node to stm32h743
  ARM: dts: stm32: Enable RTS/CTS for DH PDK2 UART8
  ARM: dts: stm32: Drop QSPI CS2 pinmux on DHCOM
  ARM: dts: stm32: Add STM32MP1 UART8 RTS/CTS pinmux
  ARM: dts: stm32: add initial support for stm32mp157-odyssey board
  dt-bindings: arm: stm32: document Odyssey compatible
  dt-bindings: vendor-prefixes: add Seeed Studio
  ARM: dts: stm32: lxa-mc1: Fix kernel warning about PHY delays
  ARM: dts: stm32: Add USB OTG support to DH PDK2
  ARM: dts: stm32: Fix sdmmc2 pins on AV96
  ARM: dts: stm32: Add DHSOM based DRC02 board
  ARM: dts: stm32: Move ethernet PHY into DH SoM DT

Link: https://lore.kernel.org/r/7e2a93c9-cf37-bc93-ed6e-d9cb1808b7a3@st.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:22:14 -07:00
Olof Johansson
a1c259cdb0 Qualcomm ARM64 DT updates for v5.10
Cleanup, refactor and modernize MSM8916 by sorting nodes, moving device
 and platform specific parts to their respective files, add and use
 labels for reference nodes and use IRQ defines. Migrate TCSR mutex off
 the depricated binding, add resin node for PM8916.
 
 Add LPASS clock controller for SC7180. Fix the LLCC reg, increase
 interconnect-cells, drop flags on MDSS irqs. Add interconnects for
 display, eMMC and SD-card, specify 'sustainable_power' for CPU thermal
 zones, improve pinconf states related to UART and Bluetooth. Add new DT
 for Lazor and Trogdor.
 
 Increase #interconnect-cells for SDM845 to allow tags, add OPP tables
 and power-domains for Venus and interconnects for display. Fix the ports
 on the HDMI nodes for DB845c and add DT for the Xiaomi Poco F1.
 
 Add interconnect providers, fix up primary USB's clock and use
 dt-binding defines for GPU clocks on SM8150.
 
 Add interconnect providers, CPUfreq, thermal configuration and missing
 uarts for SM8250. Fix up naming of debug uart, add always-on supply
 clock to gcc, fix up the sleep clock rate and define OPP tables for all
 QUP devices. Then add a new DeviceTree for the QRB5165 RB5 board.
 
 Enable watchdog on IPQ8074 and use the appropriate compatible for the
 PMU node. Enable DVFS support for IPQ6018.
 
 Finally correct the spelling of "interrupts" in MSM8992 uart node, fix
 missing # in PM660 #interrupt-cells, add second VFE power-domain to
 camss in MSM8996 and sort the Makefile.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAl9sGmAbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3F7n4QANwKflwOuE+KDK5/SCNb
 T7xYWw8ZV1GylHh3E52I42EmpkNDojepBUcjGMy+CZecZzD6cmivKRPu//X6GYzE
 MCE+1Z6pUugiDFpcQ2xuY62H1nw+52FeiF9Ze9lITvsKv6nGb+9iVjwU34PXGxuj
 uzUCTwqjF/At52zEO+nU0GoN51r3KZgnQEaI/dgTiSV5m0mb8eIG29oq0qB7RTno
 mcM8SWcewUHJOJP0/MzdFVE1Vp1MyiL5U7ilKKCCBg5U2Jwzif7Ugv5ZqR3wQ1vD
 I3Si9WaLechmCUPWsc6xuysreIdzUrWg37gL+FUdWLj+eWQw6NWjdJDZQM/Zr1DC
 XLxHYVliVr164XwTbZOR+JjaJKBOd1b399N8PKGaDYmlHZqP4L81LbfNvB3rkH2o
 Y1NuKksicUWt9E6+tAIIceBxBbUW4T2z4FEqwd4edFYxknAk/kr0iVT796Unv9lT
 mcsZW7zjN7ob1hqRlUNgPk/u8zASz0/7kGTEyJAbf8Q8MsJSkqvteJpFo0xcVM0W
 ty0sC8g7yGgEkuz9Ou5KIXT/5ulinhR+NjoBi1bG8mtgkDnw4k2hyEIpNbuWx5iP
 7CjM5ECDV5DK+Q1IXLDyQfrpUIRs9u9QOhoGuNvEztl9q/irJo26m0EEUrIoEgMI
 mH/AQkwMrY2x9aXGhtAjOxW9
 =yiGd
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-for-5.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/dt

Qualcomm ARM64 DT updates for v5.10

Cleanup, refactor and modernize MSM8916 by sorting nodes, moving device
and platform specific parts to their respective files, add and use
labels for reference nodes and use IRQ defines. Migrate TCSR mutex off
the depricated binding, add resin node for PM8916.

Add LPASS clock controller for SC7180. Fix the LLCC reg, increase
interconnect-cells, drop flags on MDSS irqs. Add interconnects for
display, eMMC and SD-card, specify 'sustainable_power' for CPU thermal
zones, improve pinconf states related to UART and Bluetooth. Add new DT
for Lazor and Trogdor.

Increase #interconnect-cells for SDM845 to allow tags, add OPP tables
and power-domains for Venus and interconnects for display. Fix the ports
on the HDMI nodes for DB845c and add DT for the Xiaomi Poco F1.

Add interconnect providers, fix up primary USB's clock and use
dt-binding defines for GPU clocks on SM8150.

Add interconnect providers, CPUfreq, thermal configuration and missing
uarts for SM8250. Fix up naming of debug uart, add always-on supply
clock to gcc, fix up the sleep clock rate and define OPP tables for all
QUP devices. Then add a new DeviceTree for the QRB5165 RB5 board.

Enable watchdog on IPQ8074 and use the appropriate compatible for the
PMU node. Enable DVFS support for IPQ6018.

Finally correct the spelling of "interrupts" in MSM8992 uart node, fix
missing # in PM660 #interrupt-cells, add second VFE power-domain to
camss in MSM8996 and sort the Makefile.

* tag 'qcom-arm64-for-5.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (75 commits)
  arm64: dts: qcom: sm8250: Add thermal zones and throttling support
  arm64: dts: qcom: sm8250: Add cpufreq hw node
  arm64: dts: qcom: sdm845: Add interconnects property for display
  arm64: dts: qcom: sm8250: Add EPSS L3 interconnect provider
  arm64: dts: qcom: sm8150: Add OSM L3 interconnect provider
  arm64: dts: qcom: sm8250: add interconnect nodes
  arm64: dts: qcom: sm8150: add interconnect nodes
  arm64: dts: qcom: sc7180: Increase the number of interconnect cells
  arm64: dts: qcom: sdm845: Increase the number of interconnect cells
  arm64: dts: qcom: Makefile: Sort lines
  arm64: dts: qcom: pm8916: Sort nodes
  arm64: dts: qcom: msm8916: Sort nodes
  arm64: dts: qcom: msm8916: Pad addresses
  arm64: dts: qcom: msm8916: Rename "x-smp2p" to "smp2p-x"
  arm64: dts: qcom: msm8916: Use more generic node names
  arm64: dts: qcom: msm8916: Add MSM8916-specific compatibles to SCM/MSS
  arm64: dts: qcom: msm8916: Minor style fixes
  arm64: dts: qcom: msm8916: Drop qcom,tcsr-mutex syscon
  arm64: dts: qcom: msm8916: Use IRQ defines, add IRQ types
  arm64: dts: qcom: msm8916: Fix MDP/DSI interrupts
  ...

Link: https://lore.kernel.org/r/20200924040607.180039-1-bjorn.andersson@linaro.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:21:23 -07:00