Commit graph

71,384 commits

Author SHA1 Message Date
Bartosz Golaszewski
ac725f9780 Runtime PM updates related to autosuspend for 6.17
Make several autosuspend functions mark last busy stamp and update
 the documentation accordingly (Sakari Ailus).
 -----BEGIN PGP SIGNATURE-----
 
 iQFGBAABCAAwFiEEcM8Aw/RY0dgsiRUR7l+9nS/U47UFAmhjrvQSHHJqd0Byand5
 c29ja2kubmV0AAoJEO5fvZ0v1OO1aigIAKypscFSfd/WsAlP4orLtd4xiLi7KQHa
 NrOYv7sZBVHgx4S9BGqHavYM3qhOBH5qCg+yBtqb8v6vp/TIlJjF2v3+C8uAXAnl
 9GI5Gc6sZp/lMhf5Vb4Ibf58/P9lg4A7mIvM+LtfeEUMTlRrp47Q/RQ0ah7S4tDj
 rFyC92QmBnkDLoyQp5IbCWkdjlqGgyTZzz/+XnfV9fWwX1aiXqaB4EZ2nXSAlyBx
 awvA4/t662SWlHsdQqll9vS/+ZB39LEWwa1jJ7XGIK8t6GSH+TTys3S9/PHR/ua3
 Dlcd+14plDGlSOy97hY+z6NdSgxH/qcpRgFduu5KwVqEwo2fqNkeV9Q=
 =pFYw
 -----END PGP SIGNATURE-----

Merge tag 'pm-runtime-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm into gpio/for-next

Runtime PM updates related to autosuspend for 6.17

Make several autosuspend functions mark last busy stamp and update
the documentation accordingly (Sakari Ailus).
2025-07-07 10:00:33 +02:00
Bartosz Golaszewski
179a666951 Immutable branch between GPIO, MFD and ARM-SoC for v6.17-rc1
Remove struct bgpio_pdata after converting its users to generic device
 properties.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEFp3rbAvDxGAT0sefEacuoBRx13IFAmhreU4ACgkQEacuoBRx
 13LIJQ//VJTGNN3xgAVop4t9aMa+4OBnE1F8l18Di8H8/ZOe7PiAc6BAleioHl+h
 zuc6uwgOZQUnUdEAYRVHkQJnI/1N65PO+DUFGQD4pABM7R1oW37aE7VNnW5HkjWh
 WQl1mxIBdKyuR65HbCS76Ek/WzP3Qh37yNSS1gI9ISbbbHW77A3w88miBZwFVRof
 KcNGM+oARbJC8ARAw+i+HsVODTouE7fH2Tr8aum2OExZs+wjroi3iLQQaup2lb9Y
 gZzNN/pdOktVjk0/7HRJI/9zRDDxR3N7S/KXsyBd7vBfvM/RDqFHq8/o7K+HrXR1
 pxp5fqqW29S82P2+7YTnU65pLJeyC2oEWwGJN+bB46dVG8BEBAa1s94UVCJF4Zq5
 /rC69U5NxBL7XUolQ9WxiEXXlh1c0unlH/CJMiXcllR3DpYls3MIfymWKQvomve8
 z7ub6gWTal0oW9TO3y8flPHBBslS0pZCgqmdenJdoLc+rc+cQRt2hmaquaOMbPqR
 kqK+NI4aBdJ9JessW7I4zrWLRD8LhzT2zidyLgDwN1ghck1WD/Of0g7M8I1U2AZN
 LmXRdPmDrHpKV7E/x3+Clsmq9n1A6q7i0PEcON1cv99LofK3vIWe3eBZvVyySnT7
 szjVqngNlzePbRTTlsRcaOYPCcHu3yNxmLPwynqvL/pjjmJqaPQ=
 =k0Ui
 -----END PGP SIGNATURE-----

Merge tag 'gpio-mmio-remove-bgpio-pdata-for-v6.17-rc1' into gpio/for-next

Immutable branch between GPIO, MFD and ARM-SoC for v6.17-rc1

Remove struct bgpio_pdata after converting its users to generic device
properties.
2025-07-07 09:42:37 +02:00
Bartosz Golaszewski
bb9c88d5b0 ARM: s3c: crag6410: use generic device properties for gpio-mmio
The GPIO device in crag6410 is registered with struct bgpio_pdata passed
as platform_data to the gpio-mmio driver. We want to remove the
bgpio_pdata from the kernel and the gpio-mmio driver is now also able to
get the relevant values from the software node. Set up device properties
and switch to using platform_device_info to register the device as
platform_add_devices() doesn't allow us to pass device properties to the
driver model.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20250701-gpio-mmio-pdata-v2-5-ebf34d273497@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2025-07-07 09:31:08 +02:00
Bartosz Golaszewski
094017efe3 ARM: omap1: ams-delta: use generic device properties for gpio-mmio
The two latch GPIO devices in ams-delta are registered with struct
bgpio_pdata passed as platform_data to the gpio-mmio driver. We want to
remove the bgpio_pdata from the kernel and the gpio-mmio driver is now
also able to get the relevant values from the software node. Set up
device properties and switch to using platform_device_info to register
the devices as platform_add_devices() doesn't allow us to pass device
properties to the driver model.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Janusz Krzysztofik <jmkrzyszt@gmail.com>
Link: https://lore.kernel.org/r/20250701-gpio-mmio-pdata-v2-4-ebf34d273497@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2025-07-07 09:31:08 +02:00
Bartosz Golaszewski
527db0a881 gpio: reg: use new GPIO line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the legacy generic
gpio-reg module to using them. We have to update the two legacy ARM
platforms that use it at the same time as they call the set_multiple()
callbacks directly (they shouldn't but it's old technical debt I
suppose).

Acked-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20250623-gpiochip-set-rv-gpio-v3-1-90f0e170a846@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2025-07-07 09:21:52 +02:00
Magnus Lindholm
403d1338a4 mm: pgtable: fix pte_swp_exclusive
Make pte_swp_exclusive return bool instead of int.  This will better
reflect how pte_swp_exclusive is actually used in the code.

This fixes swap/swapoff problems on Alpha due pte_swp_exclusive not
returning correct values when _PAGE_SWP_EXCLUSIVE bit resides in upper
32-bits of PTE (like on alpha).

Suggested-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Magnus Lindholm <linmag7@gmail.com>
Cc: Sam James <sam@gentoo.org>
Link: https://lore.kernel.org/lkml/20250218175735.19882-2-linmag7@gmail.com/
Link: https://lore.kernel.org/lkml/20250602041118.GA2675383@ZenIV/
[ Applied as the 'sed' script Al suggested   - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2025-06-11 14:52:08 -07:00
Linus Torvalds
8630c59e99 Kbuild updates for v6.16
- Add support for the EXPORT_SYMBOL_GPL_FOR_MODULES() macro, which exports a
    symbol only to specified modules
 
  - Improve ABI handling in gendwarfksyms
 
  - Forcibly link lib-y objects to vmlinux even if CONFIG_MODULES=n
 
  - Add checkers for redundant or missing <linux/export.h> inclusion
 
  - Deprecate the extra-y syntax
 
  - Fix a genksyms bug when including enum constants from *.symref files
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEbmPs18K1szRHjPqEPYsBB53g2wYFAmhEZc4VHG1hc2FoaXJv
 eUBrZXJuZWwub3JnAAoJED2LAQed4NsGVAgQAKLRdBGga1kBJJFIkUOHWC5+g/je
 U/dO5rGnuOLviWDexC6QT8AQV2N+dQXhB11x+KacSu1bwowsEvwuegtA6VqwbETs
 tyWmB0PftEzVyPfc+Rjfy0LDfKkiKkm4RhXiMwcem/rlw45gvJXrVU7jJin9fI3A
 So8glpOAX+mEizUHkjZkS51nkYCZFDsn7hVo0X43vqjeFrrFGLEQ5xas4Ci+dkY3
 9g8Q5bFL8CC5PHjSO8wFftCcAWwTukAht6CSSb522MKGnCVZ9RxTmRwEPXrBmXtS
 5eWa8yg6y0tFVmot8iwZGBYleAWDNsj0a2j2oVjUN+EF91sk3WQApJVNBok/nQFb
 4MgO3N3UXZdy4tYkBX8tMgOcGkfjZAFoNxSUm5oVouh9NyT0dpqYHhJHBNVbVJoF
 igQWeVOYcioDjeU1iXnP2cw64q44ROfxmOpDxOSRz9PTM6CCya1R0m/zzBLV6Lwk
 rzlXk1LLf+jIfgmS5RLlkCgrXS1U0vNGXxQH9Ui9dZSEtzdU7qt5WQ/Rz44bEBhS
 OeIlJfMMx6QYJztJc/BaUjkKsutTkII52QctRbRCj/nKswHd8SnHV+xk1c2WPxrg
 yKq10rPpdg1BcvmODY6cmcndt7ogDRfkogm2gvGQIBZEglRimpmpg51sZQRD0ueE
 0rt12TmktsLbglB4
 =Dy49
 -----END PGP SIGNATURE-----

Merge tag 'kbuild-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild updates from Masahiro Yamada:

 - Add support for the EXPORT_SYMBOL_GPL_FOR_MODULES() macro, which
   exports a symbol only to specified modules

 - Improve ABI handling in gendwarfksyms

 - Forcibly link lib-y objects to vmlinux even if CONFIG_MODULES=n

 - Add checkers for redundant or missing <linux/export.h> inclusion

 - Deprecate the extra-y syntax

 - Fix a genksyms bug when including enum constants from *.symref files

* tag 'kbuild-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (28 commits)
  genksyms: Fix enum consts from a reference affecting new values
  arch: use always-$(KBUILD_BUILTIN) for vmlinux.lds
  kbuild: set y instead of 1 to KBUILD_{BUILTIN,MODULES}
  efi/libstub: use 'targets' instead of extra-y in Makefile
  module: make __mod_device_table__* symbols static
  scripts/misc-check: check unnecessary #include <linux/export.h> when W=1
  scripts/misc-check: check missing #include <linux/export.h> when W=1
  scripts/misc-check: add double-quotes to satisfy shellcheck
  kbuild: move W=1 check for scripts/misc-check to top-level Makefile
  scripts/tags.sh: allow to use alternative ctags implementation
  kconfig: introduce menu type enum
  docs: symbol-namespaces: fix reST warning with literal block
  kbuild: link lib-y objects to vmlinux forcibly even when CONFIG_MODULES=n
  tinyconfig: enable CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
  docs/core-api/symbol-namespaces: drop table of contents and section numbering
  modpost: check forbidden MODULE_IMPORT_NS("module:") at compile time
  kbuild: move kbuild syntax processing to scripts/Makefile.build
  Makefile: remove dependency on archscripts for header installation
  Documentation/kbuild: Add new gendwarfksyms kABI rules
  Documentation/kbuild: Drop section numbers
  ...
2025-06-07 10:05:35 -07:00
Masahiro Yamada
e21efe833e arch: use always-$(KBUILD_BUILTIN) for vmlinux.lds
The extra-y syntax is deprecated. Instead, use always-$(KBUILD_BUILTIN),
which behaves equivalently.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Nicolas Schier <n.schier@avm.de>
2025-06-07 14:38:07 +09:00
Linus Torvalds
aef7457540 ARM fixes for 6.16-rc1
- fix arch_memremap_can_ram_remap() which incorrectly passed a PFN to
   memblock_is_map_memory rather than the actual address.
 - "Disallow kernel mode NEON when IRQs are disabled" - this needs a
   better explanation.
 
   "To avoid having to preserve/restore kernel mode NEON state when
   such a softirq is taken softirqs are now disabled when using the
   NEON from task context." should explain that it's nested kernel
   mode. In other words, softirqs from user mode are fine, because
   the context will be preserved. softirqs from kernel mode may
   be from a context that has already saved the user NEON state, and
   thus we would need to preserve the NEON state for the parent kernel
   mode context, and this we don't allow.
 
   The problem occurs when the kernel context disables hard IRQs, and
   then uses NEON. When it's finished, and restores the userspace NEON
   state, we call local_bh_enable() with hard IRQs disabled, which
   causes a warning.
 
   This commit addresses that by disallowing the use of NEON with hard
   IRQs disabled.
 
   https://lore.kernel.org/all/20250516231858.27899-4-ebiggers@kernel.org/T/#m104841b6e9346b1814c8b0fb9f2340551b0cd3e8
   has some further context.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEuNNh8scc2k/wOAE+9OeQG+StrGQFAmg9k5MACgkQ9OeQG+St
 rGTsIg//R8AysyZIHWCzO+j7UFZPQ+jUZ0Qf0NMA3Ss/Bh724BtDWIMRo30/ADtX
 nwJhGnFVenr9jdGuUBmE8R25QyfZIz2U45hGVqUgSL9W96A8PPsuaR7oXhvezq68
 Wj+UUTzem4l1bgK416qEROPgY/dtYCL5AbPA+SdH+LSMvS9phkhT6PkGJRC14tZ9
 kLNR4PyA9/DC6N6wIU8v9pWezSoOBn/ISBpb67BB0OzZPlmgoJJOXbSNzIHaJc4C
 YjjJCHRmZL2w/U4HyEc8qXyHMPggEKtDas6mwrpxV/fjoReC/vk3tvuRxy1Mt1Ny
 BIIOA/Hauz8O9+aqfdqABK92tMiLx7NA9bWQDndIisfD/nRFyrpFDUbw1+d4EemU
 qzDmKSNWK9nsC28kE8F5M4XLacHu4AQN10Ktjr5LXGoMmPfDz0xssd2uDJkbL4Zq
 wHVea4HPX8Ykrv6yg+iRZp54z25+ckD+kf93zhutabaa/zVdAHAU9Lk/Uqm2G1R2
 5huER0vvLJF3+mYu9mRjodssOUsEVwPbBuGiwJ7DY2a6faexuJv/sU5ZyHhwHb/B
 TjaYbektcllYWly+KN33XzZXuVVpY9DbRq/2MCFbxMYjHxGjj7QiytTm8tI6VX26
 yi8CQ+8/0SXoBPaDjb2y4n6qIxcjiBcdQ8DxDbA9Od0glzJQUhE=
 =V4ew
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux

Pull ARM fixes from Russell King:

 - Fix arch_memremap_can_ram_remap() which incorrectly passed a PFN to
   memblock_is_map_memory rather than the actual address.

 - Disallow kernel mode NEON when IRQs are disabled

   Explanation:

     "To avoid having to preserve/restore kernel mode NEON state when
      such a softirq is taken softirqs are now disabled when using the
      NEON from task context."

   should explain that it's nested kernel mode.

   In other words, softirqs from user mode are fine, because the context
   will be preserved. softirqs from kernel mode may be from a context
   that has already saved the user NEON state, and thus we would need to
   preserve the NEON state for the parent kernel mode context, and this
   we don't allow.

   The problem occurs when the kernel context disables hard IRQs, and
   then uses NEON. When it's finished, and restores the userspace NEON
   state, we call local_bh_enable() with hard IRQs disabled, which
   causes a warning.

   This commit addresses that by disallowing the use of NEON with hard
   IRQs disabled.

	https://lore.kernel.org/all/20250516231858.27899-4-ebiggers@kernel.org/T/#m104841b6e9346b1814c8b0fb9f2340551b0cd3e8

   has some further context

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux:
  ARM: 9446/1: Disallow kernel mode NEON when IRQs are disabled
  ARM: 9447/1: arm/memremap: fix arch_memremap_can_ram_remap()
2025-06-05 11:33:09 -07:00
Linus Torvalds
69352bd52b MFD for v6.16
* Samsung Exynos ACPM:
     * Populate child platform devices from device tree data
     * Introduce a new API, `devm_acpm_get_by_node()`, for child devices to get the ACPM handle
   * ROHM PMICs:
     * Add support for the ROHM BD96802 scalable companion PMIC to the BD96801 core driver
     * Add support for controlling the BD96802 using the BD96801 regulator driver
     * Add support to the BD96805, which is almost identical to the BD96801
     * Add support to the BD96806, which is similar to the BD96802
   * Maxim MAX77759:
     * Add a core driver for the MAX77759 companion PMIC
     * Add a GPIO driver for the expander functions on the MAX77759
     * Add an NVMEM driver to expose the non-volatile memory on the MAX77759
   * STMicroelectronics STM32MP25:
     * Add support for the STM32MP25 SoC to the stm32-lptimer
     * Add support for the STM32MP25 to the clocksource driver, handling new register access requirements
     * Add support for the STM32MP25 to the PWM driver, enabling up to two PWM outputs
   * Broadcom BCM590xx:
     * Add support for the BCM59054 PMU
     * Parse the PMU ID and revision to support behavioral differences between chip revisions
     * Add regulator support for the BCM59054
   * Samsung S2MPG10:
     * Add support for the S2MPG10 PMIC, which communicates via the Samsung ACPM firmware instead of I2C
 
   * Exynos ACPM:
     * Improve timeout detection reliability by using ktime APIs instead of a loop counter assumption
     * Allow PMIC access during late system shutdown by switching to `udelay()` instead of a sleeping function
     * Fix an issue where reading command results longer than 8 bytes would fail
     * Silence non-error `-EPROBE_DEFER` messages during boot to clean up logs
   * Exynos LPASS:
     * Fix an error handling path by switching to `devm_regmap_init_mmio()` to prevent resource leaks
     * Fix a bug where `exynos_lpass_disable()` was called twice in the remove function
     * Fix another resource leak in the probe's error path by using `devm_add_action_or_reset()`
   * Samsung SEC:
     * Handle the s2dos05, which does not have IRQ support, explicitly to prevent warnings
     * Fix the core driver to correctly handle errors from `sec_irq_init()` instead of ignoring them
   * STMPE-SPI:
     * Correct an undeclared identifier in the `MODULE_DEVICE_TABLE` macro
   * MAINTAINERS:
     * Adjust a file path for the Siemens IPC LED drivers entry to fix a broken reference
   * Maxim Drivers:
     * Correct the spelling of "Electronics" in Samsung copyright headers across multiple files
   * General:
     * Fix wakeup source memory leaks on device unbind for 88pm886, as3722, max14577, max77541, max77705,
       max8925, rt5033, and sprd-sc27xx drivers
 
   * Samsung SEC Drivers:
     * Split the driver into a transport-agnostic core (`sec-core`) and transport-specific (`sec-i2c`,
       `sec-acpm`) modules to support non-I2C devices
     * Merge the `sec-core` and `sec-irq` modules to reduce memory consumption
     * Move internal APIs to a private header to clean up the public API
     * Improve code style by sorting includes, cleaning up headers, sorting device tables, and using helper
       macros like `dev_err_probe()`, `MFD_CELL`, and `REGMAP_IRQ_REG`
     * Make regmap configuration for s2dos05/s2mpu05 explicit to improve clarity
     * Rework platform data and regmap instantiation to use OF match data instead of a large switch statement
   * ROHM BD96801/2:
     * Prepare the driver for new models by separating chip-specific data into its own structure
     * Drop IC name prefix from IRQ resource names in both the MFD and regulator drivers for simplification
   * Broadcom BCM590xx:
     * Refactor the regulator driver to store descriptions in a table to ease support for new chips
     * Rename BCM59056-specific data to prepare for the addition of other regulators
     * Use `dev_err_probe()` for cleaner error handling
   * Exynos ACPM:
     * Correct kerneldoc warnings and use the conventional 'np' argument name
   * General MFD:
     * Convert `aat2870` and `tps65010` to use the per-client debugfs directory provided by the I2C core
     * Convert `sm501`, `tps65010` and `ucb1x00` to use the new GPIO line value setter callbacks
     * Constify `regmap_irq_chip` and other structures in `88pm886` to move data to read-only sections
 
   * BCM590xx:
     * Drop the unused "id" member from the `bcm590xx` struct in preparation for a replacement
   * Samsung SEC Core:
     * Remove forward declarations for functions that no longer exist
   * SM501:
     * Remove the unused `sm501_find_clock()` function
 
   * New Compatibles:
     * Google: Add a PMIC child node to the `google,gs101-acpm-ipc` binding
     * ROHM: Add new bindings for `rohm,bd96802-regulator` and `rohm,bd96802-pmic`, and add compatibles
       for BD96805 and BD96806
     * Maxim: Add new bindings for `maxim,max77759-gpio`, `maxim,max77759-nvmem`, and the top-level
       `maxim,max77759`
     * STM: Add `stm32mp25` compatible to the `stm32-lptimer` binding
     * Broadcom: Add `bcm59054` compatible
     * Atmel/Microchip: Add `microchip,sama7d65-gpbr` and `microchip,sama7d65-secumod` compatibles
     * Samsung: Add `s2mpg10` compatible to the `samsung,s2mps11` MFD binding
     * MediaTek: Add compatibles for `mt6893` (scpsys), `mt7988-topmisc`, and `mt8365-infracfg-nao`
     * Qualcomm: Add `qcom,apq8064-mmss-sfpb` and `qcom,apq8064-sps-sic` syscon compatibles
   * Refactoring & Cleanup:
     * Convert Broadcom BCM59056 devicetree bindings to YAML and split them into MFD and regulator parts
     * Convert the Microchip AT91 secumod binding to YAML
     * Drop unrelated consumer nodes from binding examples to reduce bloat
     * Correct indentation and style in various DTS examples
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmg+xmQACgkQUa+KL4f8
 d2FJAxAApmk3kxAlb9r6E268SY1qQSeQKhhzQZeQz1Dt9ZfMurgnou+EdY5juxCH
 owu4AjyQdaC/eIJJRaBcBjcskmNRsVd7mGwQfhMyg7IvhM9k1PxTuad/PSRauGqy
 p7XnYFYeDa9fwwAZ8qD01gpCenQ3oLm4ef05FGC5SDlqcZzxOzc4iGYgHYjE7ACp
 Iuv5tN0JkxCzTGtpZ6kXn5tp895KcndzPWgS0eQxf6Plw2syF0KKxlVCWUfLjAaZ
 Db1VFOkc2vgjhxuFPpybGzRhgtVKRdYRJqL4EQEhnB/u23cuxxqBSJ3BPGIjfqrA
 h6zaxbYJyBF3cHz9kOqi99inN4T3cZssOSdqIVuWTYSuH+FDdsVi5BF2WlrSgWqn
 hgyVZYjMEB4UbEU+0VdZMqTWjY0+kmAEl7xWQ++sp2cuTtYdcufrldLVl0d/HOCm
 zLXia1A2KHgFoBFN/sP0ffZD9ceM/ng1h1tfz+48MWWO7obpwbdFNtWllblfpm9d
 cYPlg0uddFljjzP/gm3jgJAZkMer2m5eSVfvf2L5VrSROFSfbxwHcvVgRTxmPR0K
 1rQqLm1w2Tp8HCocuO95bRv5g0Z4jWDu+CssM1XZrEXaNCZ5E0qm374JArpAFctb
 cAVFcLYSUT73S6lgBOjF05F2zGPCmqW26S+R2cMPcM2SA1N89Go=
 =hiAm
 -----END PGP SIGNATURE-----

Merge tag 'mfd-next-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd

Pull MFD updates from Lee Jones:
 "Samsung Exynos ACPM:
   - Populate child platform devices from device tree data
   - Introduce a new API, 'devm_acpm_get_by_node()', for child devices
     to get the ACPM handle

  ROHM PMICs:
   - Add support for the ROHM BD96802 scalable companion PMIC to the
     BD96801 core driver
   - Add support for controlling the BD96802 using the BD96801 regulator
     driver
   - Add support to the BD96805, which is almost identical to the
     BD96801
   - Add support to the BD96806, which is similar to the BD96802

  Maxim MAX77759:
   - Add a core driver for the MAX77759 companion PMIC
   - Add a GPIO driver for the expander functions on the MAX77759
   - Add an NVMEM driver to expose the non-volatile memory on the
     MAX77759

  STMicroelectronics STM32MP25:
   - Add support for the STM32MP25 SoC to the stm32-lptimer
   - Add support for the STM32MP25 to the clocksource driver, handling
     new register access requirements
   - Add support for the STM32MP25 to the PWM driver, enabling up to two
     PWM outputs

  Broadcom BCM590xx:
   - Add support for the BCM59054 PMU
   - Parse the PMU ID and revision to support behavioral differences
     between chip revisions
   - Add regulator support for the BCM59054

  Samsung S2MPG10:
   - Add support for the S2MPG10 PMIC, which communicates via the
     Samsung ACPM firmware instead of I2C

  Exynos ACPM:
   - Improve timeout detection reliability by using ktime APIs instead
     of a loop counter assumption
   - Allow PMIC access during late system shutdown by switching to
     'udelay()' instead of a sleeping function
   - Fix an issue where reading command results longer than 8 bytes
     would fail
   - Silence non-error '-EPROBE_DEFER' messages during boot to clean up
     logs

  Exynos LPASS:
   - Fix an error handling path by switching to
     'devm_regmap_init_mmio()' to prevent resource leaks
   - Fix a bug where 'exynos_lpass_disable()' was called twice in the
     remove function
   - Fix another resource leak in the probe's error path by using
     'devm_add_action_or_reset()'

  Samsung SEC:
   - Handle the s2dos05, which does not have IRQ support, explicitly to
     prevent warnings
   - Fix the core driver to correctly handle errors from
     'sec_irq_init()' instead of ignoring them

  STMPE-SPI:
   - Correct an undeclared identifier in the 'MODULE_DEVICE_TABLE' macro

  MAINTAINERS:
   - Adjust a file path for the Siemens IPC LED drivers entry to fix a
     broken reference

  Maxim Drivers:
   - Correct the spelling of "Electronics" in Samsung copyright headers
     across multiple files

  General:
   - Fix wakeup source memory leaks on device unbind for 88pm886,
     as3722, max14577, max77541, max77705, max8925, rt5033, and
     sprd-sc27xx drivers

  Samsung SEC Drivers:
   - Split the driver into a transport-agnostic core ('sec-core') and
     transport-specific ('sec-i2c', 'sec-acpm') modules to support
     non-I2C devices
   - Merge the 'sec-core' and 'sec-irq' modules to reduce memory
     consumption
   - Move internal APIs to a private header to clean up the public API
   - Improve code style by sorting includes, cleaning up headers,
     sorting device tables, and using helper macros like
     'dev_err_probe()', 'MFD_CELL', and 'REGMAP_IRQ_REG'
   - Make regmap configuration for s2dos05/s2mpu05 explicit to improve
     clarity
   - Rework platform data and regmap instantiation to use OF match data
     instead of a large switch statement

  ROHM BD96801/2:
   - Prepare the driver for new models by separating chip-specific data
     into its own structure
   - Drop IC name prefix from IRQ resource names in both the MFD and
     regulator drivers for simplification

  Broadcom BCM590xx:
   - Refactor the regulator driver to store descriptions in a table to
     ease support for new chips
   - Rename BCM59056-specific data to prepare for the addition of other
     regulators
   - Use 'dev_err_probe()' for cleaner error handling

  Exynos ACPM:
   - Correct kerneldoc warnings and use the conventional 'np' argument
     name

  General MFD:
   - Convert 'aat2870' and 'tps65010' to use the per-client debugfs
     directory provided by the I2C core
   - Convert 'sm501', 'tps65010' and 'ucb1x00' to use the new GPIO line
     value setter callbacks
   - Constify 'regmap_irq_chip' and other structures in '88pm886' to
     move data to read-only sections

  BCM590xx:
   - Drop the unused "id" member from the 'bcm590xx' struct in
     preparation for a replacement

  Samsung SEC Core:
   - Remove forward declarations for functions that no longer exist

  SM501:
   - Remove the unused 'sm501_find_clock()' function

  New Compatibles:
   - Google: Add a PMIC child node to the 'google,gs101-acpm-ipc'
     binding
   - ROHM: Add new bindings for 'rohm,bd96802-regulator' and
     'rohm,bd96802-pmic', and add compatibles for BD96805 and BD96806
   - Maxim: Add new bindings for 'maxim,max77759-gpio',
     'maxim,max77759-nvmem', and the top-level 'maxim,max77759'
   - STM: Add 'stm32mp25' compatible to the 'stm32-lptimer' binding
   - Broadcom: Add 'bcm59054' compatible
   - Atmel/Microchip: Add 'microchip,sama7d65-gpbr' and
     'microchip,sama7d65-secumod' compatibles
   - Samsung: Add 's2mpg10' compatible to the 'samsung,s2mps11' MFD
     binding
   - MediaTek: Add compatibles for 'mt6893' (scpsys), 'mt7988-topmisc',
     and 'mt8365-infracfg-nao'
   - Qualcomm: Add 'qcom,apq8064-mmss-sfpb' and 'qcom,apq8064-sps-sic'
     syscon compatibles

  Refactoring & Cleanup:
   - Convert Broadcom BCM59056 devicetree bindings to YAML and split
     them into MFD and regulator parts
   - Convert the Microchip AT91 secumod binding to YAML
   - Drop unrelated consumer nodes from binding examples to reduce bloat
   - Correct indentation and style in various DTS examples"

* tag 'mfd-next-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (81 commits)
  mfd: maxim: Correct Samsung "Electronics" spelling in copyright headers
  mfd: maxim: Correct Samsung "Electronics" spelling in headers
  mfd: sm501: Remove unused sm501_find_clock
  mfd: 88pm886: Constify struct regmap_irq_chip and some other structures
  dt-bindings: mfd: syscon: Add mediatek,mt8365-infracfg-nao
  mfd: sprd-sc27xx: Fix wakeup source leaks on device unbind
  mfd: rt5033: Fix wakeup source leaks on device unbind
  mfd: max8925: Fix wakeup source leaks on device unbind
  mfd: max77705: Fix wakeup source leaks on device unbind
  mfd: max77541: Fix wakeup source leaks on device unbind
  mfd: max14577: Fix wakeup source leaks on device unbind
  mfd: as3722: Fix wakeup source leaks on device unbind
  mfd: 88pm886: Fix wakeup source leaks on device unbind
  dt-bindings: mfd: Correct indentation and style in DTS example
  dt-bindings: mfd: Drop unrelated nodes from DTS example
  dt-bindings: mfd: syscon: Add qcom,apq8064-sps-sic
  dt-bindings: mfd: syscon: Add qcom,apq8064-mmss-sfpb
  mfd: stmpe-spi: Correct the name used in MODULE_DEVICE_TABLE
  dt-bindings: mfd: syscon: Add mt7988-topmisc
  mfd: exynos-lpass: Fix another error handling path in exynos_lpass_probe()
  ...
2025-06-03 11:53:55 -07:00
Linus Torvalds
fd1f847350 - The 2 patch series "zram: support algorithm-specific parameters" from
Sergey Senozhatsky adds infrastructure for passing algorithm-specific
   parameters into zram.  A single parameter `winbits' is implemented at
   this time.
 
 - The 5 patch series "memcg: nmi-safe kmem charging" from Shakeel Butt
   makes memcg charging nmi-safe, which is required by BFP, which can
   operate in NMI context.
 
 - The 5 patch series "Some random fixes and cleanup to shmem" from
   Kemeng Shi implements small fixes and cleanups in the shmem code.
 
 - The 2 patch series "Skip mm selftests instead when kernel features are
   not present" from Zi Yan fixes some issues in the MM selftest code.
 
 - The 2 patch series "mm/damon: build-enable essential DAMON components
   by default" from SeongJae Park reworks DAMON Kconfig to make it easier
   to enable CONFIG_DAMON.
 
 - The 2 patch series "sched/numa: add statistics of numa balance task
   migration" from Libo Chen adds more info into sysfs and procfs files to
   improve visibility into the NUMA balancer's task migration activity.
 
 - The 4 patch series "selftests/mm: cow and gup_longterm cleanups" from
   Mark Brown provides various updates to some of the MM selftests to make
   them play better with the overall containing framework.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTTMBEPP41GrTpTJgfdBJ7gKXxAjgUCaDzA9wAKCRDdBJ7gKXxA
 js8sAP9V3COg+vzTmimzP3ocTkkbbIJzDfM6nXpE2EQ4BR3ejwD+NsIT2ZLtTF6O
 LqAZpgO7ju6wMjR/lM30ebCq5qFbZAw=
 =oruw
 -----END PGP SIGNATURE-----

Merge tag 'mm-stable-2025-06-01-14-06' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull more MM updates from Andrew Morton:

 - "zram: support algorithm-specific parameters" from Sergey Senozhatsky
   adds infrastructure for passing algorithm-specific parameters into
   zram. A single parameter `winbits' is implemented at this time.

 - "memcg: nmi-safe kmem charging" from Shakeel Butt makes memcg
   charging nmi-safe, which is required by BFP, which can operate in NMI
   context.

 - "Some random fixes and cleanup to shmem" from Kemeng Shi implements
   small fixes and cleanups in the shmem code.

 - "Skip mm selftests instead when kernel features are not present" from
   Zi Yan fixes some issues in the MM selftest code.

 - "mm/damon: build-enable essential DAMON components by default" from
   SeongJae Park reworks DAMON Kconfig to make it easier to enable
   CONFIG_DAMON.

 - "sched/numa: add statistics of numa balance task migration" from Libo
   Chen adds more info into sysfs and procfs files to improve visibility
   into the NUMA balancer's task migration activity.

 - "selftests/mm: cow and gup_longterm cleanups" from Mark Brown
   provides various updates to some of the MM selftests to make them
   play better with the overall containing framework.

* tag 'mm-stable-2025-06-01-14-06' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (43 commits)
  mm/khugepaged: clean up refcount check using folio_expected_ref_count()
  selftests/mm: fix test result reporting in gup_longterm
  selftests/mm: report unique test names for each cow test
  selftests/mm: add helper for logging test start and results
  selftests/mm: use standard ksft_finished() in cow and gup_longterm
  selftests/damon/_damon_sysfs: skip testcases if CONFIG_DAMON_SYSFS is disabled
  sched/numa: add statistics of numa balance task
  sched/numa: fix task swap by skipping kernel threads
  tools/testing: check correct variable in open_procmap()
  tools/testing/vma: add missing function stub
  mm/gup: update comment explaining why gup_fast() disables IRQs
  selftests/mm: two fixes for the pfnmap test
  mm/khugepaged: fix race with folio split/free using temporary reference
  mm: add CONFIG_PAGE_BLOCK_ORDER to select page block order
  mmu_notifiers: remove leftover stub macros
  selftests/mm: deduplicate test names in madv_populate
  kcov: rust: add flags for KCOV with Rust
  mm: rust: make CONFIG_MMU ifdefs more narrow
  mmu_gather: move tlb flush for VM_PFNMAP/VM_MIXEDMAP vmas into free_pgtables()
  mm/damon/Kconfig: enable CONFIG_DAMON by default
  ...
2025-06-02 16:00:26 -07:00
Matthew Wilcox (Oracle)
acc53a0b4c mm: rename page->index to page->__folio_index
All users of page->index have been converted to not refer to it any more. 
Update a few pieces of documentation that were missed and prevent new
users from appearing (or at least make them easy to grep for).

Link: https://lkml.kernel.org/r/20250514181508.3019795-1-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-05-31 22:46:06 -07:00
Linus Torvalds
00c010e130 - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox
simplifies the act of creating a pte which addresses the first page in a
   folio and reduces the amount of plumbing which architecture must
   implement to provide this.
 
 - The 8 patch series "Misc folio patches for 6.16" from Matthew Wilcox
   is a shower of largely unrelated folio infrastructure changes which
   clean things up and better prepare us for future work.
 
 - The 3 patch series "memory,x86,acpi: hotplug memory alignment
   advisement" from Gregory Price adds early-init code to prevent x86 from
   leaving physical memory unused when physical address regions are not
   aligned to memory block size.
 
 - The 2 patch series "mm/compaction: allow more aggressive proactive
   compaction" from Michal Clapinski provides some tuning of the (sadly,
   hard-coded (more sadly, not auto-tuned)) thresholds for our invokation
   of proactive compaction.  In a simple test case, the reduction of a guest
   VM's memory consumption was dramatic.
 
 - The 8 patch series "Minor cleanups and improvements to swap freeing
   code" from Kemeng Shi provides some code cleaups and a small efficiency
   improvement to this part of our swap handling code.
 
 - The 6 patch series "ptrace: introduce PTRACE_SET_SYSCALL_INFO API"
   from Dmitry Levin adds the ability for a ptracer to modify syscalls
   arguments.  At this time we can alter only "system call information that
   are used by strace system call tampering, namely, syscall number,
   syscall arguments, and syscall return value.
 
   This series should have been incorporated into mm.git's "non-MM"
   branch, but I goofed.
 
 - The 3 patch series "fs/proc: extend the PAGEMAP_SCAN ioctl to report
   guard regions" from Andrei Vagin extends the info returned by the
   PAGEMAP_SCAN ioctl against /proc/pid/pagemap.  This permits CRIU to more
   efficiently get at the info about guard regions.
 
 - The 2 patch series "Fix parameter passed to page_mapcount_is_type()"
   from Gavin Shan implements that fix.  No runtime effect is expected
   because validate_page_before_insert() happens to fix up this error.
 
 - The 3 patch series "kernel/events/uprobes: uprobe_write_opcode()
   rewrite" from David Hildenbrand basically brings uprobe text poking into
   the current decade.  Remove a bunch of hand-rolled implementation in
   favor of using more current facilities.
 
 - The 3 patch series "mm/ptdump: Drop assumption that pxd_val() is u64"
   from Anshuman Khandual provides enhancements and generalizations to the
   pte dumping code.  This might be needed when 128-bit Page Table
   Descriptors are enabled for ARM.
 
 - The 12 patch series "Always call constructor for kernel page tables"
   from Kevin Brodsky "ensures that the ctor/dtor is always called for
   kernel pgtables, as it already is for user pgtables".  This permits the
   addition of more functionality such as "insert hooks to protect page
   tables".  This change does result in various architectures performing
   unnecesary work, but this is fixed up where it is anticipated to occur.
 
 - The 9 patch series "Rust support for mm_struct, vm_area_struct, and
   mmap" from Alice Ryhl adds plumbing to permit Rust access to core MM
   structures.
 
 - The 3 patch series "fix incorrectly disallowed anonymous VMA merges"
   from Lorenzo Stoakes takes advantage of some VMA merging opportunities
   which we've been missing for 15 years.
 
 - The 4 patch series "mm/madvise: batch tlb flushes for MADV_DONTNEED
   and MADV_FREE" from SeongJae Park optimizes process_madvise()'s TLB
   flushing.  Instead of flushing each address range in the provided iovec,
   we batch the flushing across all the iovec entries.  The syscall's cost
   was approximately halved with a microbenchmark which was designed to
   load this particular operation.
 
 - The 6 patch series "Track node vacancy to reduce worst case allocation
   counts" from Sidhartha Kumar makes the maple tree smarter about its node
   preallocation.  stress-ng mmap performance increased by single-digit
   percentages and the amount of unnecessarily preallocated memory was
   dramaticelly reduced.
 
 - The 3 patch series "mm/gup: Minor fix, cleanup and improvements" from
   Baoquan He removes a few unnecessary things which Baoquan noted when
   reading the code.
 
 - The 3 patch series ""Enhance sysfs handling for memory hotplug in
   weighted interleave" from Rakie Kim "enhances the weighted interleave
   policy in the memory management subsystem by improving sysfs handling,
   fixing memory leaks, and introducing dynamic sysfs updates for memory
   hotplug support".  Fixes things on error paths which we are unlikely to
   hit.
 
 - The 7 patch series "mm/damon: auto-tune DAMOS for NUMA setups
   including tiered memory" from SeongJae Park introduces new DAMOS quota
   goal metrics which eliminate the manual tuning which is required when
   utilizing DAMON for memory tiering.
 
 - The 5 patch series "mm/vmalloc.c: code cleanup and improvements" from
   Baoquan He provides cleanups and small efficiency improvements which
   Baoquan found via code inspection.
 
 - The 2 patch series "vmscan: enforce mems_effective during demotion"
   from Gregory Price "changes reclaim to respect cpuset.mems_effective
   during demotion when possible".  because "presently, reclaim explicitly
   ignores cpuset.mems_effective when demoting, which may cause the cpuset
   settings to violated." "This is useful for isolating workloads on a
   multi-tenant system from certain classes of memory more consistently."
 
 - The 2 patch series ""Clean up split_huge_pmd_locked() and remove
   unnecessary folio pointers" from Gavin Guo provides minor cleanups and
   efficiency gains in in the huge page splitting and migrating code.
 
 - The 3 patch series "Use kmem_cache for memcg alloc" from Huan Yang
   creates a slab cache for `struct mem_cgroup', yielding improved memory
   utilization.
 
 - The 4 patch series "add max arg to swappiness in memory.reclaim and
   lru_gen" from Zhongkun He adds a new "max" argument to the "swappiness="
   argument for memory.reclaim MGLRU's lru_gen.  This directs proactive
   reclaim to reclaim from only anon folios rather than file-backed folios.
 
 - The 17 patch series "kexec: introduce Kexec HandOver (KHO)" from Mike
   Rapoport is the first step on the path to permitting the kernel to
   maintain existing VMs while replacing the host kernel via file-based
   kexec.  At this time only memblock's reserve_mem is preserved.
 
 - The 7 patch series "mm: Introduce for_each_valid_pfn()" from David
   Woodhouse provides and uses a smarter way of looping over a pfn range.
   By skipping ranges of invalid pfns.
 
 - The 2 patch series "sched/numa: Skip VMA scanning on memory pinned to
   one NUMA node via cpuset.mems" from Libo Chen removes a lot of pointless
   VMA scanning when a task is pinned a single NUMA mode.  Dramatic
   performance benefits were seen in some real world cases.
 
 - The 2 patch series "JFS: Implement migrate_folio for
   jfs_metapage_aops" from Shivank Garg addresses a warning which occurs
   during memory compaction when using JFS.
 
 - The 4 patch series "move all VMA allocation, freeing and duplication
   logic to mm" from Lorenzo Stoakes moves some VMA code from kernel/fork.c
   into the more appropriate mm/vma.c.
 
 - The 6 patch series "mm, swap: clean up swap cache mapping helper" from
   Kairui Song provides code consolidation and cleanups related to the
   folio_index() function.
 
 - The 2 patch series "mm/gup: Cleanup memfd_pin_folios()" from Vishal
   Moola does that.
 
 - The 8 patch series "memcg: Fix test_memcg_min/low test failures" from
   Waiman Long addresses some bogus failures which are being reported by
   the test_memcontrol selftest.
 
 - The 3 patch series "eliminate mmap() retry merge, add .mmap_prepare
   hook" from Lorenzo Stoakes commences the deprecation of
   file_operations.mmap() in favor of the new
   file_operations.mmap_prepare().  The latter is more restrictive and
   prevents drivers from messing with things in ways which, amongst other
   problems, may defeat VMA merging.
 
 - The 4 patch series "memcg: decouple memcg and objcg stocks"" from
   Shakeel Butt decouples the per-cpu memcg charge cache from the objcg's
   one.  This is a step along the way to making memcg and objcg charging
   NMI-safe, which is a BPF requirement.
 
 - The 6 patch series "mm/damon: minor fixups and improvements for code,
   tests, and documents" from SeongJae Park is "yet another batch of
   miscellaneous DAMON changes.  Fix and improve minor problems in code,
   tests and documents."
 
 - The 7 patch series "memcg: make memcg stats irq safe" from Shakeel
   Butt converts memcg stats to be irq safe.  Another step along the way to
   making memcg charging and stats updates NMI-safe, a BPF requirement.
 
 - The 4 patch series "Let unmap_hugepage_range() and several related
   functions take folio instead of page" from Fan Ni provides folio
   conversions in the hugetlb code.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTTMBEPP41GrTpTJgfdBJ7gKXxAjgUCaDt5qgAKCRDdBJ7gKXxA
 ju6XAP9nTiSfRz8Cz1n5LJZpFKEGzLpSihCYyR6P3o1L9oe3mwEAlZ5+XAwk2I5x
 Qqb/UGMEpilyre1PayQqOnct3aSL9Ao=
 =tYYm
 -----END PGP SIGNATURE-----

Merge tag 'mm-stable-2025-05-31-14-50' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull MM updates from Andrew Morton:

 - "Add folio_mk_pte()" from Matthew Wilcox simplifies the act of
   creating a pte which addresses the first page in a folio and reduces
   the amount of plumbing which architecture must implement to provide
   this.

 - "Misc folio patches for 6.16" from Matthew Wilcox is a shower of
   largely unrelated folio infrastructure changes which clean things up
   and better prepare us for future work.

 - "memory,x86,acpi: hotplug memory alignment advisement" from Gregory
   Price adds early-init code to prevent x86 from leaving physical
   memory unused when physical address regions are not aligned to memory
   block size.

 - "mm/compaction: allow more aggressive proactive compaction" from
   Michal Clapinski provides some tuning of the (sadly, hard-coded (more
   sadly, not auto-tuned)) thresholds for our invokation of proactive
   compaction. In a simple test case, the reduction of a guest VM's
   memory consumption was dramatic.

 - "Minor cleanups and improvements to swap freeing code" from Kemeng
   Shi provides some code cleaups and a small efficiency improvement to
   this part of our swap handling code.

 - "ptrace: introduce PTRACE_SET_SYSCALL_INFO API" from Dmitry Levin
   adds the ability for a ptracer to modify syscalls arguments. At this
   time we can alter only "system call information that are used by
   strace system call tampering, namely, syscall number, syscall
   arguments, and syscall return value.

   This series should have been incorporated into mm.git's "non-MM"
   branch, but I goofed.

 - "fs/proc: extend the PAGEMAP_SCAN ioctl to report guard regions" from
   Andrei Vagin extends the info returned by the PAGEMAP_SCAN ioctl
   against /proc/pid/pagemap. This permits CRIU to more efficiently get
   at the info about guard regions.

 - "Fix parameter passed to page_mapcount_is_type()" from Gavin Shan
   implements that fix. No runtime effect is expected because
   validate_page_before_insert() happens to fix up this error.

 - "kernel/events/uprobes: uprobe_write_opcode() rewrite" from David
   Hildenbrand basically brings uprobe text poking into the current
   decade. Remove a bunch of hand-rolled implementation in favor of
   using more current facilities.

 - "mm/ptdump: Drop assumption that pxd_val() is u64" from Anshuman
   Khandual provides enhancements and generalizations to the pte dumping
   code. This might be needed when 128-bit Page Table Descriptors are
   enabled for ARM.

 - "Always call constructor for kernel page tables" from Kevin Brodsky
   ensures that the ctor/dtor is always called for kernel pgtables, as
   it already is for user pgtables.

   This permits the addition of more functionality such as "insert hooks
   to protect page tables". This change does result in various
   architectures performing unnecesary work, but this is fixed up where
   it is anticipated to occur.

 - "Rust support for mm_struct, vm_area_struct, and mmap" from Alice
   Ryhl adds plumbing to permit Rust access to core MM structures.

 - "fix incorrectly disallowed anonymous VMA merges" from Lorenzo
   Stoakes takes advantage of some VMA merging opportunities which we've
   been missing for 15 years.

 - "mm/madvise: batch tlb flushes for MADV_DONTNEED and MADV_FREE" from
   SeongJae Park optimizes process_madvise()'s TLB flushing.

   Instead of flushing each address range in the provided iovec, we
   batch the flushing across all the iovec entries. The syscall's cost
   was approximately halved with a microbenchmark which was designed to
   load this particular operation.

 - "Track node vacancy to reduce worst case allocation counts" from
   Sidhartha Kumar makes the maple tree smarter about its node
   preallocation.

   stress-ng mmap performance increased by single-digit percentages and
   the amount of unnecessarily preallocated memory was dramaticelly
   reduced.

 - "mm/gup: Minor fix, cleanup and improvements" from Baoquan He removes
   a few unnecessary things which Baoquan noted when reading the code.

 - ""Enhance sysfs handling for memory hotplug in weighted interleave"
   from Rakie Kim "enhances the weighted interleave policy in the memory
   management subsystem by improving sysfs handling, fixing memory
   leaks, and introducing dynamic sysfs updates for memory hotplug
   support". Fixes things on error paths which we are unlikely to hit.

 - "mm/damon: auto-tune DAMOS for NUMA setups including tiered memory"
   from SeongJae Park introduces new DAMOS quota goal metrics which
   eliminate the manual tuning which is required when utilizing DAMON
   for memory tiering.

 - "mm/vmalloc.c: code cleanup and improvements" from Baoquan He
   provides cleanups and small efficiency improvements which Baoquan
   found via code inspection.

 - "vmscan: enforce mems_effective during demotion" from Gregory Price
   changes reclaim to respect cpuset.mems_effective during demotion when
   possible. because presently, reclaim explicitly ignores
   cpuset.mems_effective when demoting, which may cause the cpuset
   settings to violated.

   This is useful for isolating workloads on a multi-tenant system from
   certain classes of memory more consistently.

 - "Clean up split_huge_pmd_locked() and remove unnecessary folio
   pointers" from Gavin Guo provides minor cleanups and efficiency gains
   in in the huge page splitting and migrating code.

 - "Use kmem_cache for memcg alloc" from Huan Yang creates a slab cache
   for `struct mem_cgroup', yielding improved memory utilization.

 - "add max arg to swappiness in memory.reclaim and lru_gen" from
   Zhongkun He adds a new "max" argument to the "swappiness=" argument
   for memory.reclaim MGLRU's lru_gen.

   This directs proactive reclaim to reclaim from only anon folios
   rather than file-backed folios.

 - "kexec: introduce Kexec HandOver (KHO)" from Mike Rapoport is the
   first step on the path to permitting the kernel to maintain existing
   VMs while replacing the host kernel via file-based kexec. At this
   time only memblock's reserve_mem is preserved.

 - "mm: Introduce for_each_valid_pfn()" from David Woodhouse provides
   and uses a smarter way of looping over a pfn range. By skipping
   ranges of invalid pfns.

 - "sched/numa: Skip VMA scanning on memory pinned to one NUMA node via
   cpuset.mems" from Libo Chen removes a lot of pointless VMA scanning
   when a task is pinned a single NUMA mode.

   Dramatic performance benefits were seen in some real world cases.

 - "JFS: Implement migrate_folio for jfs_metapage_aops" from Shivank
   Garg addresses a warning which occurs during memory compaction when
   using JFS.

 - "move all VMA allocation, freeing and duplication logic to mm" from
   Lorenzo Stoakes moves some VMA code from kernel/fork.c into the more
   appropriate mm/vma.c.

 - "mm, swap: clean up swap cache mapping helper" from Kairui Song
   provides code consolidation and cleanups related to the folio_index()
   function.

 - "mm/gup: Cleanup memfd_pin_folios()" from Vishal Moola does that.

 - "memcg: Fix test_memcg_min/low test failures" from Waiman Long
   addresses some bogus failures which are being reported by the
   test_memcontrol selftest.

 - "eliminate mmap() retry merge, add .mmap_prepare hook" from Lorenzo
   Stoakes commences the deprecation of file_operations.mmap() in favor
   of the new file_operations.mmap_prepare().

   The latter is more restrictive and prevents drivers from messing with
   things in ways which, amongst other problems, may defeat VMA merging.

 - "memcg: decouple memcg and objcg stocks"" from Shakeel Butt decouples
   the per-cpu memcg charge cache from the objcg's one.

   This is a step along the way to making memcg and objcg charging
   NMI-safe, which is a BPF requirement.

 - "mm/damon: minor fixups and improvements for code, tests, and
   documents" from SeongJae Park is yet another batch of miscellaneous
   DAMON changes. Fix and improve minor problems in code, tests and
   documents.

 - "memcg: make memcg stats irq safe" from Shakeel Butt converts memcg
   stats to be irq safe. Another step along the way to making memcg
   charging and stats updates NMI-safe, a BPF requirement.

 - "Let unmap_hugepage_range() and several related functions take folio
   instead of page" from Fan Ni provides folio conversions in the
   hugetlb code.

* tag 'mm-stable-2025-05-31-14-50' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (285 commits)
  mm: pcp: increase pcp->free_count threshold to trigger free_high
  mm/hugetlb: convert use of struct page to folio in __unmap_hugepage_range()
  mm/hugetlb: refactor __unmap_hugepage_range() to take folio instead of page
  mm/hugetlb: refactor unmap_hugepage_range() to take folio instead of page
  mm/hugetlb: pass folio instead of page to unmap_ref_private()
  memcg: objcg stock trylock without irq disabling
  memcg: no stock lock for cpu hot-unplug
  memcg: make __mod_memcg_lruvec_state re-entrant safe against irqs
  memcg: make count_memcg_events re-entrant safe against irqs
  memcg: make mod_memcg_state re-entrant safe against irqs
  memcg: move preempt disable to callers of memcg_rstat_updated
  memcg: memcg_rstat_updated re-entrant safe against irqs
  mm: khugepaged: decouple SHMEM and file folios' collapse
  selftests/eventfd: correct test name and improve messages
  alloc_tag: check mem_profiling_support in alloc_tag_init
  Docs/damon: update titles and brief introductions to explain DAMOS
  selftests/damon/_damon_sysfs: read tried regions directories in order
  mm/damon/tests/core-kunit: add a test for damos_set_filters_default_reject()
  mm/damon/paddr: remove unused variable, folio_list, in damon_pa_stat()
  mm/damon/sysfs-schemes: fix wrong comment on damons_sysfs_quota_goal_metric_strs
  ...
2025-05-31 15:44:16 -07:00
Linus Torvalds
ec71f661a5 soc: devicetree updates for 6.16
There are 11 newly supported SoCs, but these are all either new
 variants of existing designs, or straig reuses of the existing
 chip in a new package:
 
  - RK3562 is a new chip based on the old Cortex-A53 core, apparently
    a low-cost version of the Cortex-A55 based RK3568/RK3566.
 
  - NXP i.MX94 is a minor variation of i.MX93/i.MX95 with a different
    set of on-chip peripherals.
 
  - Renesas RZ/V2N (R9A09G056) is a new member of the larger RZ/V2 family
 
  - Amlogic S6/S7/S7D
 
  - Samsung Exynos7870 is an older chip similar to Exynos7885
 
  - WonderMedia wm8950 is a minor variation on the wm8850 chip
  - Amlogic s805y is almost idential to s805x
 
  - Allwinner A523 is similar to A527 and T527
 
  - Qualcomm MSM8926 is a variant of MSM8226
 
  - Qualcomm Snapdragon X1P42100 is related to R1E80100
 
 There are also 65 boards, including reference designs for the chips
 above, this includes
 
  - 12 new boards based on TI K3 series chips, most of them from
    Toradex
 
  - 10 devices using Rockchips RK35xx and PX30 chips
 
  - 2 phones and 2 laptops based on Qualcomm Snapdragon designs
 
  - 10 NXP i.MX8/i.MX9 boards, mostly for embedded/industrial uses
 
  - 3 Samsung Galaxy phones based on Exynos7870
 
  - 5 Allwinner based boards using a variety of ARMv8 chips
 
  - 9 32-bit machines, each based on a different SoC family
 
 Aside from the new hardware, there is the usual set of cleanups and
 newly added hardware support on existing machines, for a total of 965
 devicetree changesets.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmg5zYMACgkQmmx57+YA
 GNl1Ag/8CX35g42Gwxyr2X8wit+O2eU0axGoxM+SD1cmIcSnutZjMGu17lDGduOO
 8FC524yLE6Z9HxAUa2/cd+5fOiJcsd6Ggi5WXEFc+dHz0+P5End2DNsdIANbGcFU
 OAhCpuSB63/Mb5dcecoUULw+LIXIBffwt3FCJ0AaXFDi4RvWr0WatzQxHk/G63ci
 IoE5pAs/6W9mFvQ5R8Kt4jKISy1zF3JgqOmzy+JIsczPHlyMsbFosZRDxBWMRDza
 PenoULO/RSe3k37PGe8XCU1sja0lSCVEeJINUB11mSVGoIKRZ9Wxf57O9J81cEqF
 8HiqQ58vA/HpStPKfWZV3rXSlc3U3XGUj0lbG4iUSIOE4gMKnjWbPVuBTrr5mYsc
 cJ1pnzbZ0gbylufeS088GkCCKY/ej40aH0vLeoXEHwGh9LoWudI2xMrTJgwX5AlM
 H+X9kmP+JaC/woMmY7fr9XpMYuggraIMvDzI1j3qfohGnAUFCG7kh2IvfqkLNAEM
 o2dJkI/r/PY+fPeHBPw6EvsP6ZJhcorczwB7CxVEYJ8fqKOOunATs+aECa6HLPpv
 toh86d9rnKUrR9+hbuxacx5xxE/YT30muzh66lnV2p1rCS1RJcnzhAkFzeFNJEXf
 lpNLMauW1D3Elmk/qawKIxICazeuh4NJyQtNfdrCt/9hEpnmmeM=
 =ewvq
 -----END PGP SIGNATURE-----

Merge tag 'soc-dt-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC devicetree updates from Arnd Bergmann:
 "There are 11 newly supported SoCs, but these are all either new
  variants of existing designs, or straight reuses of the existing chip
  in a new package:

   - RK3562 is a new chip based on the old Cortex-A53 core, apparently a
     low-cost version of the Cortex-A55 based RK3568/RK3566.

   - NXP i.MX94 is a minor variation of i.MX93/i.MX95 with a different
     set of on-chip peripherals.

   - Renesas RZ/V2N (R9A09G056) is a new member of the larger RZ/V2
     family

   - Amlogic S6/S7/S7D

   - Samsung Exynos7870 is an older chip similar to Exynos7885

   - WonderMedia wm8950 is a minor variation on the wm8850 chip

   - Amlogic s805y is almost idential to s805x

   - Allwinner A523 is similar to A527 and T527

   - Qualcomm MSM8926 is a variant of MSM8226

   - Qualcomm Snapdragon X1P42100 is related to R1E80100

  There are also 65 boards, including reference designs for the chips
  above, this includes

   - 12 new boards based on TI K3 series chips, most of them from
     Toradex

   - 10 devices using Rockchips RK35xx and PX30 chips

   - 2 phones and 2 laptops based on Qualcomm Snapdragon designs

   - 10 NXP i.MX8/i.MX9 boards, mostly for embedded/industrial uses

   - 3 Samsung Galaxy phones based on Exynos7870

   - 5 Allwinner based boards using a variety of ARMv8 chips

   - 9 32-bit machines, each based on a different SoC family

  Aside from the new hardware, there is the usual set of cleanups and
  newly added hardware support on existing machines, for a total of 965
  devicetree changesets"

* tag 'soc-dt-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (956 commits)
  MAINTAINERS, mailmap: update Sven Peter's email address
  arm64: dts: renesas: rzg3e-smarc-som: Reduce I2C2 clock frequency
  arm64: dts: nuvoton: Add pinctrl
  ARM: dts: samsung: sp5v210-aries: Align wifi node name with bindings
  arm64: dts: blaize-blzp1600: Enable GPIO support
  dt-bindings: clock: socfpga: convert to yaml
  arm64: dts: rockchip: move rk3562 pinctrl node outside the soc node
  arm64: dts: rockchip: fix rk3562 pcie unit addresses
  arm64: dts: rockchip: move rk3528 pinctrl node outside the soc node
  arm64: dts: rockchip: remove a double-empty line from rk3576 core dtsi
  arm64: dts: rockchip: move rk3576 pinctrl node outside the soc node
  arm64: dts: rockchip: fix rk3576 pcie unit addresses
  arm64: dts: rockchip: Drop assigned-clock* from cpu nodes on rk3588
  arm64: dts: rockchip: Add missing SFC power-domains to rk3576
  Revert "arm64: dts: mediatek: mt8390-genio-common: Add firmware-name for scp0"
  arm64: dts: mediatek: mt8188: Address binding warnings for MDP3 nodes
  arm64: dts: mt6359: Rename RTC node to match binding expectations
  arm64: dts: mt8365-evk: Add goodix touchscreen support
  arm64: dts: mediatek: mt8188: Add missing #reset-cells property
  arm64: dts: airoha: en7581: Add PCIe nodes to EN7581 SoC evaluation board
  ...
2025-05-31 08:08:56 -07:00
Linus Torvalds
500af1defb ARM: soc updates for 6.16
The main update in size is the removal of the TI DaVinci DA830 SoC
 support. DA830 is similar to DA850, which remain supported, but
 only the reference board was ever supported, and we removed that
 one 3 years ago as it had never been converted to devicetree.
 
 There are some other cleanups for OMAP4 and a few boards using
 old GPIO interfaces.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmg532EACgkQmmx57+YA
 GNk1Wg/+LyNX9SX/OrHa0mIv8MpVd+JqJQccFRQ1M9Yt53xPbG+7iToQkRicMS6+
 1dUPypjt9dSh8dTxwZ4zMEZ/x6Pg8j5CxW74ye0s5ympq/EFCab07DTayZUmj0XL
 C2NDpCTec47uD8BjAf03wdsw34Qd5I9JIjWXoWo9o4MtUHenaMn86TCuCdWyclMi
 8JZLnyW+D+K2u1LAmh43L9JidHYCd90N6gDKpcWL37FrEcJR+8AI8XLNWViyOEq2
 ow7aj5KTtcmChslgxMtQcxOJ32g0u3RAUdf24OrptYA0RfYmxzscyWoTpCWYket6
 H9xnrz+OHejabVRa484FeHSQRRRgwdNR8eAKNs/NQIf5SM/SWuQy8vQu9wJEA9gm
 2iNF6c4vSl65xu/LwamlkIMBEM7XY+ABtkJ63LaLHQaQ2NB7Cc8OebQXRhUNS6Dm
 tdTdFz5aw+vN1r6zobQ3Lk4DpA0SUueTHOc9GYXdp0piKANWTUL/oYBEVR10gSto
 vtUOWHUeoeaTffqWTJvOXq9YsXOAk71bBHa+uqrYz2Q12zuohWfB82uPU4jgiWAK
 SaMCo27HKmTdEctzA0fSEfel26C4SephMmu7QiCtGgwCnR6F1nlztyjjYVzt5DtZ
 t9iXXIk8K5B7W7WARU8DnSQFHgc49SowbRhrV0EpC4j2grs8Ix0=
 =8hph
 -----END PGP SIGNATURE-----

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

Pull ARM SoC updates from Arnd Bergmann:
 "The main update in size is the removal of the TI DaVinci DA830 SoC
  support. DA830 is similar to DA850, which remain supported, but only
  the reference board was ever supported, and we removed that one 3
  years ago as it had never been converted to devicetree.

  There are some other cleanups for OMAP4 and a few boards using old
  GPIO interfaces"

* tag 'soc-arm-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  ARM: s3c: stop including gpio.h
  ARM: dts: davinci: da850-evm: Increase fifo threshold
  ARM: OMAP2+: Fix l4ls clk domain handling in STANDBY
  ARM: broadcom: MAINTAINERS: Cover bcm2712 files
  bus: ti-sysc: PRUSS OCP configuration
  ARM: davinci: remove support for da830
  ARM: omap: pmic-cpcap: do not mess around without CPCAP or OMAP4
  ARM: omap2plus_defconfig: enable I2C devices of GTA04
  ARM: s3c/gpio: use new line value setter callbacks
  ARM: scoop/gpio: use new line value setter callbacks
  ARM: sa1100/gpio: use new line value setter callbacks
  ARM: orion/gpio: use new line value setter callbacks
2025-05-31 08:03:09 -07:00
Linus Torvalds
297d9111e9 soc: drivers for 6.16
Updates are across the usual driver subsystems with SoC specific drivers:
 
  - added soc specicific drivers for sophgo cv1800 and sg2044, qualcomm
    sm8750, and amlogic c3 and s4 chips.
 
  - cache controller updates for sifive chips, plus binding changes for
    other cache descriptions.
 
  - memory controller drivers for mediatek mt6893, stm32 and cleanups for a
    few more drivers
 
  - reset controller drivers for T-Head TH1502, Sophgo sg2044 and
    Renesas RZ/V2H(P)
 
  - SCMI firmware updates to better deal with buggy firmware, plus better
    support for Qualcomm X1E and NXP i.MX specific interfaces
 
  - a new platform driver for the crypto firmware on Cznic Turris Omnia/MOX
 
  - cleanups for the TEE firmware subsystem and amdtee driver
 
  - minor updates and fixes for freescale/nxp, qualcomm, google, aspeed,
    wondermedia, ti, nxp, renesas, hisilicon, mediatek, broadcom and samsung
    SoCs
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmg51FsACgkQmmx57+YA
 GNnJ0w//Y2OzxBE/Mek7n7d4ibrdlSF9SX8JbL2W++o8Mb3YEJwCtGyhD7OQVYn3
 ZuaiY0aHi9PugoHYrfqT8Q6o0GgYrPMgWwHRH+cPvzRng1FKFObdPqpv2+xXdEcu
 zhMM0AkhQ3/kegXOydBWaDETSc9dc74RWegKAc2onxD51NkjbP1MJMOO+gdSnwGq
 +NeDe4omberJR/2He9K0XDxK0wtIsNVZ+CYXF0gQlGwmxkKcTgJQnUm6gqChYR9T
 KhZedI0f61XTk54LTX3OCcbMpdQHxl8l7qI25+HHnMaUuqUSNj+ZKm8YeboywkLW
 T8J0oS6Dyaiypv1oYrmtEPbtCniullSpfE7mrMljlljuLYMIWkFllSXAlC5EjjOG
 GkNcW0k13cRGZ0sBliWoorzXB5qQRkQhQn1KBPBA/n8fEuFFf+GTbmjE2Q+BixkN
 Jthhyk+PZbZIOid7Y7ecxTEs/RR8SLRmTYwWr/szVUW7WRp3NqWvyZl9X/nYylf8
 aw3ugwcRCNKd4ba35y0XR0x8jy4wRQtlQqqxpkiJgREAmS9U9WBWH8bxSj3i5jGu
 nvMMtHmcDZ3gDGdUT6is7susOZLRuc8E7Y5dyn+NB4UoAxUDqRAn8ZGSNiOCcjQa
 07vWhT4NTLEJeexm3gdfTU1sRtrIjas+qxNg8IpPvRyGOoefJ7w=
 =RhpA
 -----END PGP SIGNATURE-----

Merge tag 'soc-drivers-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC driver updates from Arnd Bergmann:
 "Updates are across the usual driver subsystems with SoC specific
  drivers:

   - added soc specicific drivers for sophgo cv1800 and sg2044, qualcomm
     sm8750, and amlogic c3 and s4 chips.

   - cache controller updates for sifive chips, plus binding changes for
     other cache descriptions.

   - memory controller drivers for mediatek mt6893, stm32 and cleanups
     for a few more drivers

   - reset controller drivers for T-Head TH1502, Sophgo sg2044 and
     Renesas RZ/V2H(P)

   - SCMI firmware updates to better deal with buggy firmware, plus
     better support for Qualcomm X1E and NXP i.MX specific interfaces

   - a new platform driver for the crypto firmware on Cznic Turris
     Omnia/MOX

   - cleanups for the TEE firmware subsystem and amdtee driver

   - minor updates and fixes for freescale/nxp, qualcomm, google,
     aspeed, wondermedia, ti, nxp, renesas, hisilicon, mediatek,
     broadcom and samsung SoCs"

* tag 'soc-drivers-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (133 commits)
  soc: aspeed: Add NULL check in aspeed_lpc_enable_snoop()
  soc: aspeed: lpc: Fix impossible judgment condition
  ARM: aspeed: Don't select SRAM
  docs: firmware: qcom_scm: Fix kernel-doc warning
  soc: fsl: qe: Consolidate chained IRQ handler install/remove
  firmware: qcom: scm: Allow QSEECOM for HP EliteBook Ultra G1q
  dt-bindings: mfd: qcom,tcsr: Add compatible for ipq5018
  dt-bindings: cache: add QiLai compatible to ax45mp
  memory: stm32_omm: Fix error handling in stm32_omm_disable_child()
  dt-bindings: cache: Convert marvell,tauros2-cache to DT schema
  dt-bindings: cache: Convert marvell,{feroceon,kirkwood}-cache to DT schema
  soc: samsung: exynos-pmu: enable CPU hotplug support for gs101
  MAINTAINERS: Add google,gs101-pmu-intr-gen.yaml binding file
  dt-bindings: soc: samsung: exynos-pmu: gs101: add google,pmu-intr-gen phandle
  dt-bindings: soc: google: Add gs101-pmu-intr-gen binding documentation
  bus: fsl-mc: Use strscpy() instead of strscpy_pad()
  soc: fsl: qbman: Remove const from portal->cgrs allocation type
  bus: fsl_mc: Fix driver_managed_dma check
  bus: fsl-mc: increase MC_CMD_COMPLETION_TIMEOUT_MS value
  bus: fsl-mc: drop useless cleanup
  ...
2025-05-31 07:53:30 -07:00
Linus Torvalds
724b03ee96 EFI updates for v6.16
- Add support for emitting a .sbat section into the EFI zboot image, so
   that downstreams can easily include revocation metadata in the signed
   EFI images
 
 - Align PE symbolic constant names with other projects
 
 - Bug fix for the efi_test module
 
 - Log the physical address and size of the EFI memory map when failing
   to map it
 
 - A kerneldoc fix for the EFI stub code
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQQm/3uucuRGn1Dmh0wbglWLn0tXAUCaDHdgwAKCRAwbglWLn0t
 XBqgAQDXm8RQQfY4E1ibSVn0zQKwdIM57uU+7vp+HMCJ88oNhwEAkndCq0rMv9qp
 aVOR/HWUzAZRUonPyftXiwXImze3lgY=
 =sj5+
 -----END PGP SIGNATURE-----

Merge tag 'efi-next-for-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi

Pull EFI updates from Ard Biesheuvel:
 "Not a lot going on in the EFI tree this cycle. The only thing that
  stands out is the new support for SBAT metadata, which was a bit
  contentious when it was first proposed, because in the initial
  incarnation, it would have required us to maintain a revocation index,
  and bump it each time a vulnerability affecting UEFI secure boot got
  fixed. This was shot down for obvious reasons.

  This time, only the changes needed to emit the SBAT section into the
  PE/COFF image are being carried upstream, and it is up to the distros
  to decide what to put in there when creating and signing the build.

  This only has the EFI zboot bits (which the distros will be using for
  arm64); the x86 bzImage changes should be arriving next cycle,
  presumably via the -tip tree.

  Summary:

   - Add support for emitting a .sbat section into the EFI zboot image,
     so that downstreams can easily include revocation metadata in the
     signed EFI images

   - Align PE symbolic constant names with other projects

   - Bug fix for the efi_test module

   - Log the physical address and size of the EFI memory map when
     failing to map it

   - A kerneldoc fix for the EFI stub code"

* tag 'efi-next-for-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi:
  include: pe.h: Fix PE definitions
  efi/efi_test: Fix missing pending status update in getwakeuptime
  efi: zboot specific mechanism for embedding SBAT section
  efi/libstub: Describe missing 'out' parameter in efi_load_initrd
  efi: Improve logging around memmap init
2025-05-30 12:42:57 -07:00
Ard Biesheuvel
293bb04938 ARM: 9446/1: Disallow kernel mode NEON when IRQs are disabled
Commit

  c79f816311 ("ARM: 9283/1: permit non-nested kernel mode NEON in softirq context")

relaxed the rules around the use of SIMD instructions in kernel mode on
ARM, to allow such use when serving a softirq. To avoid having to
preserve/restore kernel mode NEON state when such a softirq is taken,
softirqs are now disabled when using the NEON from task context.

However, the fact that the softirq API does not allow unmasking of
softirqs with interrupts disabled was overlooked, resulting in a WARN()
in some cases, as reported by Guenter:

  WARNING: CPU: 0 PID: 1145 at kernel/softirq.c:369 __local_bh_enable_ip+0x118/0x194
  Call trace:
   unwind_backtrace from show_stack+0x10/0x14
   show_stack from dump_stack_lvl+0x7c/0xac
   dump_stack_lvl from __warn+0x7c/0x1b8
   __warn from warn_slowpath_fmt+0x19c/0x1a4
   warn_slowpath_fmt from __local_bh_enable_ip+0x118/0x194
   __local_bh_enable_ip from crc_t10dif_arch+0xd4/0xe8
   crc_t10dif_arch from crc_t10dif_wrapper+0x14/0x1c
   crc_t10dif_wrapper from crc_main_test+0x178/0x360
   crc_main_test from kunit_try_run_case+0x78/0x1e0
   kunit_try_run_case from kunit_generic_run_threadfn_adapter+0x1c/0x34
   kunit_generic_run_threadfn_adapter from kthread+0x118/0x254
   kthread from ret_from_fork+0x14/0x28

While disabling softirqs is not really needed when running with IRQs
disabled (given that the only way a softirq can be delivered
asynchrously is over the back of an IRQ), let's not complicate this
logic more than needed, and simply disallow use of the NEON in kernel
mode when IRQs are disabled.

Another approach might be to only disable and re-enable softirqs if IRQs
are enabled, but other than the test case above, there are no clear use
cases for doing non-trivial arithmetic processing (hence using an
accelerated SIMD implementation) with IRQs disabled.

Reported-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/all/389b899f-893c-4855-9e30-d8920a5d6f91@roeck-us.net
Reviewed-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2025-05-29 11:22:25 +01:00
Linus Torvalds
48cfc5791d hardening updates for v6.16-rc1
- Update overflow helpers to ease refactoring of on-stack flex array
   instances (Gustavo A. R. Silva, Kees Cook)
 
 - lkdtm: Use SLAB_NO_MERGE instead of constructors (Harry Yoo)
 
 - Simplify CONFIG_CC_HAS_COUNTED_BY (Jan Hendrik Farr)
 
 - Disable u64 usercopy KUnit test on 32-bit SPARC (Thomas Weißschuh)
 
 - Add missed designated initializers now exposed by fixed randstruct
   (Nathan Chancellor, Kees Cook)
 
 - Document compilers versions for __builtin_dynamic_object_size
 
 - Remove ARM_SSP_PER_TASK GCC plugin
 
 - Fix GCC plugin randstruct, add selftests, and restore COMPILE_TEST
   builds
 
 - Kbuild: induce full rebuilds when dependencies change with GCC plugins,
   the Clang sanitizer .scl file, or the randstruct seed.
 
 - Kbuild: Switch from -Wvla to -Wvla-larger-than=1
 
 - Correct several __nonstring uses for -Wunterminated-string-initialization
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRSPkdeREjth1dHnSE2KwveOeQkuwUCaDUq9gAKCRA2KwveOeQk
 u+ZCAQDhqpOE/yn5gfjyplIvaTtzj9CaW6g11AmPYrimJCuj3QD9G+0o35kzlXOw
 f0ZIj2U7LFNgbLos+20hQwhMFf1Zhgg=
 =OYzD
 -----END PGP SIGNATURE-----

Merge tag 'hardening-v6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux

Pull hardening updates from Kees Cook:

 - Update overflow helpers to ease refactoring of on-stack flex array
   instances (Gustavo A. R. Silva, Kees Cook)

 - lkdtm: Use SLAB_NO_MERGE instead of constructors (Harry Yoo)

 - Simplify CONFIG_CC_HAS_COUNTED_BY (Jan Hendrik Farr)

 - Disable u64 usercopy KUnit test on 32-bit SPARC (Thomas Weißschuh)

 - Add missed designated initializers now exposed by fixed randstruct
   (Nathan Chancellor, Kees Cook)

 - Document compilers versions for __builtin_dynamic_object_size

 - Remove ARM_SSP_PER_TASK GCC plugin

 - Fix GCC plugin randstruct, add selftests, and restore COMPILE_TEST
   builds

 - Kbuild: induce full rebuilds when dependencies change with GCC
   plugins, the Clang sanitizer .scl file, or the randstruct seed.

 - Kbuild: Switch from -Wvla to -Wvla-larger-than=1

 - Correct several __nonstring uses for -Wunterminated-string-initialization

* tag 'hardening-v6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (23 commits)
  Revert "hardening: Disable GCC randstruct for COMPILE_TEST"
  lib/tests: randstruct: Add deep function pointer layout test
  lib/tests: Add randstruct KUnit test
  randstruct: gcc-plugin: Remove bogus void member
  net: qede: Initialize qede_ll_ops with designated initializer
  scsi: qedf: Use designated initializer for struct qed_fcoe_cb_ops
  md/bcache: Mark __nonstring look-up table
  integer-wrap: Force full rebuild when .scl file changes
  randstruct: Force full rebuild when seed changes
  gcc-plugins: Force full rebuild when plugins change
  kbuild: Switch from -Wvla to -Wvla-larger-than=1
  hardening: simplify CONFIG_CC_HAS_COUNTED_BY
  overflow: Fix direct struct member initialization in _DEFINE_FLEX()
  kunit/overflow: Add tests for STACK_FLEX_ARRAY_SIZE() helper
  overflow: Add STACK_FLEX_ARRAY_SIZE() helper
  input/joystick: magellan: Mark __nonstring look-up table const
  watchdog: exar: Shorten identity name to fit correctly
  mod_devicetable: Enlarge the maximum platform_device_id name length
  overflow: Clarify expectations for getting DEFINE_FLEX variable sizes
  compiler_types: Identify compiler versions for __builtin_dynamic_object_size
  ...
2025-05-28 07:47:10 -07:00
Linus Torvalds
11147c16a6 pwm: Changes for v6.16-rc1
This time around the pwm changes for the next release contain three new
 drivers (loongson, mc33xs2410 and rzg2l-gpt) and the usual collection of
 cleanups in both the core and drivers, support for new variants in
 existing drivers, conversion of dt bindings to yaml and documentation
 updates.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEP4GsaTp6HlmJrf7Tj4D7WH0S/k4FAmgzfgYACgkQj4D7WH0S
 /k5nJggAoGbk5rGkAMzTNvrQxJLkS2MFQclHyiW+QQu3pOmIcK9rDYP7GI7LNHl5
 PBfFGkeWmabdVyMwej87kNarrHLQxHvCfS8Ooc1rGYgaARhJhE2N2/xKLxNQPnhe
 ZL95O6jcubdllOdHpaWHGaMkPvw4QVMZD9uRuy7ikuf+EiuUhqsqdMQix3x6RXc4
 43XLJ1N5SNeHDdF8LVNEwnNwzYFjtLK94dEajPPw+EsiHQ/DyAEohl3vA6k4duxX
 OnN5BA39SadBWLD4zZLj8LWZC38/1mEx+FUat5ub2q/Buj2/2rxg60Gp+0jyrDMK
 44t3wlIM/VHpTzLN1Zh1UpY0bM8eIg==
 =Y7Ef
 -----END PGP SIGNATURE-----

Merge tag 'pwm/for-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux

Pull pwm updates from Uwe Kleine-König:
 "This time around the pwm changes for the next release contain three
  new drivers (loongson, mc33xs2410 and rzg2l-gpt) and the usual
  collection of cleanups in both the core and drivers, support for new
  variants in existing drivers, conversion of dt bindings to yaml and
  documentation updates.

  Thanks for contributions and reviews go to Alexey Charkov,
  AngeloGioacchino Del Regno, Bartosz Golaszewski, Biju Das, Binbin
  Zhou, Dan Carpenter, Dimitri Fedrau, Geert Uytterhoeven, George Stark,
  Huacai Chen, Juxin Gao, Krzysztof Kozlowski, Kuninori Morimoto,
  Laurent Pinchart, Neil Armstrong, Nuno Sá, Rob Herring, and Trevor
  Gamblin"

* tag 'pwm/for-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux: (39 commits)
  dt-bindings: timer: renesas,tpu: remove binding documentation
  pwm: adp5585: make sure to include mod_devicetable.h
  pwm: Tidyup PWM menu for Renesas
  pwm: Restore alphabetic ordering in Kconfig and Makefile
  pwm: Formally describe the procedure used to pick a hardware waveform setting
  pwm: Let pwm_set_waveform_might_sleep() return 0 instead of 1 after rounding up
  pwm: Let pwm_set_waveform_might_sleep() fail for exact but impossible requests
  ARM: shmobile: defconfig: Enable more support for RZN1D-DB/EB
  arm64: defconfig: Add Renesas MSIOF sound support
  arm64: defconfig: Enable Renesas RZ/G2L GPT config
  pwm: add support for NXPs high-side switch MC33XS2410
  dt-bindings: pwm: add support for MC33XS2410
  pwm: rzg2l-gpt: Accept requests for too high period length
  dt-bindings: pwm: vt8500-pwm: Convert to YAML
  dt-bindings: pwm: mediatek,pwm-disp: Add compatible for MT6893
  pwm: Fix various formatting issues in kernel-doc
  pwm: Add support for RZ/G2L GPT
  dt-bindings: pwm: Add RZ/G2L GPT binding
  pwm: Better document return value of pwm_round_waveform_might_sleep()
  pwm: loongson: Fix an error code in probe()
  ...
2025-05-27 15:01:47 -07:00
Linus Torvalds
2bd1bea5fa A set of cleanups for the generic interrupt subsystem:
- Consolidate on one set of functions for the interrupt domain code to
     get rid of pointlessly duplicated code with only marginal different
     semantics.
 
   - Update the documentation accordingly and consolidate the coding style
     of the irqdomain header.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmgzd+MTHHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYodTRD/0RmG5tngCbEJmTw6lPDQzRZH4OO3ja
 yRYlyBipemoRmvJRGjV4uHqN2QPrdOuoqMuyBO1aWcMdkpww5bAHcbgSFrlGM1lW
 kqtaxVMbufPiLQSGYe7OQf478CE1ykoBd5Va8whFKrtA73qEUdEMfWT0stspg780
 7BlmQOemL91p7Ytf03FbDdo8tZ5Xu9uXGAulwY9FZsFtsCNyvhl7nOv5Sk8ZQtGO
 xHRCeunjZLWR+IaK59hdakvQybXwSnjT6jODp96nlyKABEKSPShGSPFDWd3g9px7
 4911QwgnvTbcrsk6YmQEmPIOgXZzypjbnjpJr8tFpTbkVIy+6chi5cBJzXoqsUaM
 ylTwFcUQNvcP8yF447qb+nyPFKM5xsC07W0UpZMuJUDmhhPRtDm5pK0jpsif96GP
 l4aMsWe65PUmXHQqLdE89RJXAa8XQ2qspKVtNKq9DmEVgTviQ09Z9SSQIx4U0yIx
 w+YPde8kH2+O+YtMUn/MmfHhUP4MKya7j5zd8Bnv8wLBi7XGPPA5EKKh9I0dz9m+
 X94lweNXyH+Q8U9mt2cQf8VG8Yzgk0eeC0sliJIlybwRgEgRcQbVWw0VvZUA1ySa
 VBlaj3SinO90FEQ0CctT51ss2mUJ/XsGCnxpiGZXfqIZzFbyD1YfZQnXJH0H67DI
 CqdHw22I27Mu/A==
 =9nLp
 -----END PGP SIGNATURE-----

Merge tag 'irq-cleanups-2025-05-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq cleanups from Thomas Gleixner:
 "A set of cleanups for the generic interrupt subsystem:

   - Consolidate on one set of functions for the interrupt domain code
     to get rid of pointlessly duplicated code with only marginal
     different semantics.

   - Update the documentation accordingly and consolidate the coding
     style of the irqdomain header"

* tag 'irq-cleanups-2025-05-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
  irqdomain: Consolidate coding style
  irqdomain: Fix kernel-doc and add it to Documentation
  Documentation: irqdomain: Update it
  Documentation: irq-domain.rst: Simple improvements
  Documentation: irq/concepts: Minor improvements
  Documentation: irq/concepts: Add commas and reflow
  irqdomain: Improve kernel-docs of functions
  irqdomain: Make struct irq_domain_info variables const
  irqdomain: Use irq_domain_instantiate()'s return value as initializers
  irqdomain: Drop irq_linear_revmap()
  pinctrl: keembay: Switch to irq_find_mapping()
  irqchip/armada-370-xp: Switch to irq_find_mapping()
  gpu: ipu-v3: Switch to irq_find_mapping()
  gpio: idt3243x: Switch to irq_find_mapping()
  sh: Switch to irq_find_mapping()
  powerpc: Switch to irq_find_mapping()
  irqdomain: Drop irq_domain_add_*() functions
  powerpc: Switch irq_domain_add_nomap() to use fwnode
  thermal: Switch to irq_domain_create_linear()
  soc: Switch to irq_domain_create_*()
  ...
2025-05-27 08:07:32 -07:00
Linus Torvalds
c0f182c979 Update for interrupt chip drivers:
- Convert the generic interrupt chip to lock guards to remove copy &
     pasta boilerplate code and gotos.
 
   - A new driver fot the interrupt controller in the EcoNet EN751221 MIPS SoC.
 
   - Extend the SG2042-MSI driver to support the new SG2044 SoC
 
   - Updates and cleanups for the (ancient) VT8500 driver
 
   - Improve the scalability of the ARM GICV4.1 ITS driver by utilizing node
     local copies a VM's interrupt translation table when possible. This
     results in a 12% reduction of VM IPI latency in certain workloads.
 
   - The usual cleanups and improvements all over the place
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmgzfSwTHHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYoc4lD/0U24B8okpp2PxVVZOtNzWgl7kcAQSJ
 2U834ep1DhqJPNW0JjT+5Lb55NfAEN/uCuirjLZDsKYNNel4LXhAY951BCJMytYX
 ebH/J7wGjEphRogxn9QTGGC/mguThwFnOiqOLq4aU0Sq/oRH6Uj+P6hMod7ym9bn
 P+bZv9WWhLQQ3x/RimcauReCEDW6pW2soQV+zhN+xTxTW+R1zRcksz1x4+b/B7Vk
 ZH6KFBpZJyC34T0aXOJFhrEo01z2iZWifgmX1zz2ZgZjeUklFxtW9vGqBRS0mU2P
 9bW/qXDsSdOStyfuXbG7Q3s2z9s5Voj9okgBiA5DUD3DuplVHG/3x8do8ZHrvMoV
 k59ORecx29g0nBaVMjT13gH1XfaqI3W52qff6yksqqByh+5urhGXeYzvQ07M9ldm
 eUA8NxNad+6Gir6AcMN+COA+W8oOP17gvoSuFlUhdM/MZvPP0Gb8GkNk3o2Kfil/
 JjvcHJHCAZv6x1L7jhFhAmTUvR9ibmMJDmXJM2tIHvS1HrHNfKAIyxy00GAVg7TN
 f5Iv0+vqB7C6PHzMYIIQpZ3hrJL2GR6jdToPdAWIfr5BzugglDIRUlhEIsxhSXQn
 WMmoif5bKS8wxQRyP2F3FPv+eKYT2XVlVri3LHBkqKbkJW/sqJWHHFGIdaDrwVhX
 vZlmkT07PD3jbQ==
 =OS2H
 -----END PGP SIGNATURE-----

Merge tag 'irq-drivers-2025-05-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq controller updates from Thomas Gleixner:
 "Update for interrupt chip drivers:

   - Convert the generic interrupt chip to lock guards to remove copy &
     pasta boilerplate code and gotos.

   - A new driver fot the interrupt controller in the EcoNet EN751221
     MIPS SoC.

   - Extend the SG2042-MSI driver to support the new SG2044 SoC

   - Updates and cleanups for the (ancient) VT8500 driver

   - Improve the scalability of the ARM GICV4.1 ITS driver by utilizing
     node local copies a VM's interrupt translation table when possible.
     This results in a 12% reduction of VM IPI latency in certain
     workloads.

   - The usual cleanups and improvements all over the place"

* tag 'irq-drivers-2025-05-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
  irqchip/irq-pruss-intc: Simplify chained interrupt handler setup
  irqchip/gic-v4.1: Use local 4_1 ITS to generate VSGI
  irqchip/econet-en751221: Switch to of_fwnode_handle()
  irqchip/irq-vt8500: Switch to irq_domain_create_*()
  irqchip/econet-en751221: Switch to irq_domain_create_linear()
  irqchip/irq-vt8500: Use fewer global variables and add error handling
  irqchip/irq-vt8500: Use a dedicated chained handler function
  irqchip/irq-vt8500: Don't require 8 interrupts from a chained controller
  irqchip/irq-vt8500: Drop redundant copy of the device node pointer
  irqchip/irq-vt8500: Split up ack/mask functions
  irqchip/sg2042-msi: Fix wrong type cast in sg2044_msi_irq_ack()
  irqchip/sg2042-msi: Add the Sophgo SG2044 MSI interrupt controller
  irqchip/sg2042-msi: Introduce configurable chipinfo for SG2042
  irqchip/sg2042-msi: Rename functions and data structures to be SG2042 agnostic
  dt-bindings: interrupt-controller: Add Sophgo SG2044 MSI controller
  genirq/generic-chip: Fix incorrect lock guard conversions
  genirq/generic-chip: Remove unused lock wrappers
  irqchip: Convert generic irqchip locking to guards
  gpio: mvebu: Convert generic irqchip locking to guard()
  ARM: orion/gpio:: Convert generic irqchip locking to guard()
  ...
2025-05-27 08:00:46 -07:00
Linus Torvalds
14418ddcc2 This update includes the following changes:
API:
 
 - Fix memcpy_sglist to handle partially overlapping SG lists.
 - Use memcpy_sglist to replace null skcipher.
 - Rename CRYPTO_TESTS to CRYPTO_BENCHMARK.
 - Flip CRYPTO_MANAGER_DISABLE_TEST into CRYPTO_SELFTESTS.
 - Hide CRYPTO_MANAGER.
 - Add delayed freeing of driver crypto_alg structures.
 
 Compression:
 
 - Allocate large buffers on first use instead of initialisation in scomp.
 - Drop destination linearisation buffer in scomp.
 - Move scomp stream allocation into acomp.
 - Add acomp scatter-gather walker.
 - Remove request chaining.
 - Add optional async request allocation.
 
 Hashing:
 
 - Remove request chaining.
 - Add optional async request allocation.
 - Move partial block handling into API.
 - Add ahash support to hmac.
 - Fix shash documentation to disallow usage in hard IRQs.
 
 Algorithms:
 
 - Remove unnecessary SIMD fallback code on x86 and arm/arm64.
 - Drop avx10_256 xts(aes)/ctr(aes) on x86.
 - Improve avx-512 optimisations for xts(aes).
 - Move chacha arch implementations into lib/crypto.
 - Move poly1305 into lib/crypto and drop unused Crypto API algorithm.
 - Disable powerpc/poly1305 as it has no SIMD fallback.
 - Move sha256 arch implementations into lib/crypto.
 - Convert deflate to acomp.
 - Set block size correctly in cbcmac.
 
 Drivers:
 
 - Do not use sg_dma_len before mapping in sun8i-ss.
 - Fix warm-reboot failure by making shutdown do more work in qat.
 - Add locking in zynqmp-sha.
 - Remove cavium/zip.
 - Add support for PCI device 0x17D8 to ccp.
 - Add qat_6xxx support in qat.
 - Add support for RK3576 in rockchip-rng.
 - Add support for i.MX8QM in caam.
 
 Others:
 
 - Fix irq_fpu_usable/kernel_fpu_begin inconsistency during CPU bring-up.
 - Add new SEV/SNP platform shutdown API in ccp.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEn51F/lCuNhUwmDeSxycdCkmxi6cFAmgz47AACgkQxycdCkmx
 i6fvKRAAr4Xa903L0r1Q1P1alQqoFFCqimUWeH72m68LiWynHWi0lUo0z/+tKweg
 mnPStz7/Ha9HRHJjdNCMPnlJqXQDkuH3bIOuBJCwduDuhHo9VGOd46XGzmGMv3gb
 HKuZhI0lk7pznK3CSyD/2nHmbDCHD+7feTZSBMoN9mm875+aSoM6fdxgak8uPFcq
 KbB1L+hObTn2kAPSqRrNOR8/xG2N7hdH8eax7Li+LAtqYNVT5HvWVECsB/CKRPfB
 sgAv3UTzcIFapSSHUHaONppSeoqPAIAeV7SdQhJvlT+EUUR/h/B6+D9OUQQqbphQ
 LBalgTnqMKl0ymDEQFQ6QyYCat9ZfNmDft2WcXEsxc8PxImkgJI1W3B8O51sOjbG
 78D8JqVQ96dleo4FsBhM2wfG0b41JM6zU4raC4vS7a3qsUS+Q1MpehvcS1iORicy
 SpGdE8e7DLlxKhzWyW1xJnbrtMZDC7Sa2hUnxrvP0/xOvRhChKscRVtWcf0a5q7X
 8JmuvwVSOJuSbQ3MeFbQvpo5lR9+0WsNjM6e9miiH6Y7vZUKmWcq2yDp377qVzeh
 7NK6+OwGIQZZExrmtPw2BXwssT9Eg+ks6Y7g2Ne7yzvrjVNfEPY7Cws/5w7p8mRS
 qhrcpbJNFlWgD7YYkmGZFTQ8DCN25ipP8lklO/hbcfchqLE/o1o=
 =O8L5
 -----END PGP SIGNATURE-----

Merge tag 'v6.16-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

Pull crypto updates from Herbert Xu:
 "API:
   - Fix memcpy_sglist to handle partially overlapping SG lists
   - Use memcpy_sglist to replace null skcipher
   - Rename CRYPTO_TESTS to CRYPTO_BENCHMARK
   - Flip CRYPTO_MANAGER_DISABLE_TEST into CRYPTO_SELFTESTS
   - Hide CRYPTO_MANAGER
   - Add delayed freeing of driver crypto_alg structures

  Compression:
   - Allocate large buffers on first use instead of initialisation in scomp
   - Drop destination linearisation buffer in scomp
   - Move scomp stream allocation into acomp
   - Add acomp scatter-gather walker
   - Remove request chaining
   - Add optional async request allocation

  Hashing:
   - Remove request chaining
   - Add optional async request allocation
   - Move partial block handling into API
   - Add ahash support to hmac
   - Fix shash documentation to disallow usage in hard IRQs

  Algorithms:
   - Remove unnecessary SIMD fallback code on x86 and arm/arm64
   - Drop avx10_256 xts(aes)/ctr(aes) on x86
   - Improve avx-512 optimisations for xts(aes)
   - Move chacha arch implementations into lib/crypto
   - Move poly1305 into lib/crypto and drop unused Crypto API algorithm
   - Disable powerpc/poly1305 as it has no SIMD fallback
   - Move sha256 arch implementations into lib/crypto
   - Convert deflate to acomp
   - Set block size correctly in cbcmac

  Drivers:
   - Do not use sg_dma_len before mapping in sun8i-ss
   - Fix warm-reboot failure by making shutdown do more work in qat
   - Add locking in zynqmp-sha
   - Remove cavium/zip
   - Add support for PCI device 0x17D8 to ccp
   - Add qat_6xxx support in qat
   - Add support for RK3576 in rockchip-rng
   - Add support for i.MX8QM in caam

  Others:
   - Fix irq_fpu_usable/kernel_fpu_begin inconsistency during CPU bring-up
   - Add new SEV/SNP platform shutdown API in ccp"

* tag 'v6.16-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (382 commits)
  x86/fpu: Fix irq_fpu_usable() to return false during CPU onlining
  crypto: qat - add missing header inclusion
  crypto: api - Redo lookup on EEXIST
  Revert "crypto: testmgr - Add hash export format testing"
  crypto: marvell/cesa - Do not chain submitted requests
  crypto: powerpc/poly1305 - add depends on BROKEN for now
  Revert "crypto: powerpc/poly1305 - Add SIMD fallback"
  crypto: ccp - Add missing tee info reg for teev2
  crypto: ccp - Add missing bootloader info reg for pspv5
  crypto: sun8i-ce - move fallback ahash_request to the end of the struct
  crypto: octeontx2 - Use dynamic allocated memory region for lmtst
  crypto: octeontx2 - Initialize cptlfs device info once
  crypto: xts - Only add ecb if it is not already there
  crypto: lrw - Only add ecb if it is not already there
  crypto: testmgr - Add hash export format testing
  crypto: testmgr - Use ahash for generic tfm
  crypto: hmac - Add ahash support
  crypto: testmgr - Ignore EEXIST on shash allocation
  crypto: algapi - Add driver template support to crypto_inst_setname
  crypto: shash - Set reqsize in shash_alg
  ...
2025-05-26 13:47:28 -07:00
Linus Torvalds
15d90a5e55 CRC updates for 6.16
Cleanups for the kernel's CRC (cyclic redundancy check) code:
 
 - Use __ro_after_init where appropriate
 - Remove unnecessary static_key on s390
 - Rename some source code files
 - Rename the crc32 and crc32c crypto API modules
 - Use subsys_initcall instead of arch_initcall
 - Restore maintainers for crc_kunit.c
 - Fold crc16_byte() into crc16.c
 - Add some SPDX license identifiers
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQSacvsUNc7UX4ntmEPzXCl4vpKOKwUCaDNd3xQcZWJpZ2dlcnNA
 Z29vZ2xlLmNvbQAKCRDzXCl4vpKOKz0tAQCDqDA4Jd/54nnKpChMlKH8MTQDuwfz
 8GHZi50mn4Rw5gD/f+hOGItPfswBId/+MZy+rKWL7bE2e9DdJdtoqRRtwA4=
 =RWFl
 -----END PGP SIGNATURE-----

Merge tag 'crc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux

Pull CRC updates from Eric Biggers:
 "Cleanups for the kernel's CRC (cyclic redundancy check) code:

   - Use __ro_after_init where appropriate

   - Remove unnecessary static_key on s390

   - Rename some source code files

   - Rename the crc32 and crc32c crypto API modules

   - Use subsys_initcall instead of arch_initcall

   - Restore maintainers for crc_kunit.c

   - Fold crc16_byte() into crc16.c

   - Add some SPDX license identifiers"

* tag 'crc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux:
  lib/crc32: add SPDX license identifier
  lib/crc16: unexport crc16_table and crc16_byte()
  w1: ds2406: use crc16() instead of crc16_byte() loop
  MAINTAINERS: add crc_kunit.c back to CRC LIBRARY
  lib/crc: make arch-optimized code use subsys_initcall
  crypto: crc32 - remove "generic" from file and module names
  x86/crc: drop "glue" from filenames
  sparc/crc: drop "glue" from filenames
  s390/crc: drop "glue" from filenames
  powerpc/crc: rename crc32-vpmsum_core.S to crc-vpmsum-template.S
  powerpc/crc: drop "glue" from filenames
  arm64/crc: drop "glue" from filenames
  arm/crc: drop "glue" from filenames
  s390/crc32: Remove no-op module init and exit functions
  s390/crc32: Remove have_vxrs static key
  lib/crc: make the CPU feature static keys __ro_after_init
2025-05-26 13:32:06 -07:00
André Draszik
680ef57915 mfd: sec: Split into core and transport (i2c) drivers
As a preparation for adding support for Samsung's S2MPG10, which is
connected via SPEEDY / ACPM rather than I2C, split out (move) all
I2C-specific driver code into its own kernel module, sec-i2c, and
make the existing sec-core module be just the transport-agnostic core
driver kernel module.

At the same time, update all defconfigs that reference the old kconfig
symbol name.

While at it, also update file header comments and module description(s)
to drop references to 'mfd', and update comments to be C-style, not
C++.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: André Draszik <andre.draszik@linaro.org>
Link: https://lore.kernel.org/r/20250409-s2mpg10-v4-8-d66d5f39b6bf@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
2025-05-23 08:48:23 +01:00
Arnd Bergmann
e32697dec4 TI DaVinci updates for v6.16-rc1
- remove support for the da830 SoC
 - increase the panel FIFO threshold in da850-evm
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEFp3rbAvDxGAT0sefEacuoBRx13IFAmgq8cIACgkQEacuoBRx
 13K/yg//RHQ3uCpT3ljnsNxw8eSIytl2dQB0K+2WBLYv/gmfYVaP5piPMxjeP382
 GYBO88vV6rNPlIoDKcFa916KOlCnU/DU2XrHjohZbmKDSwvc3iiQ+8Q7tDNvqzzG
 vrs66kGSVxVzNj3ANOz1nQp21lzFsFANPe3L/sA4L+pdTt7em/Qyi5Lad4iHFmi2
 WvAtCe7AKgpjl3w+mu6QgnpgBiSDvrPefHiJMoEzc1myfECNoGa8pWiZ381ipJOP
 1W2TDTvJpWvIDKxzBVyeJke/nyisAxjqKqL/U0lQISo1qxLpBOeTOGT20eCD3AXG
 jL6R9DHapdL9WAbo/IosZ+L4lEUIx69Yflfj4zg/Qk9chlZ+UX2r7OwyVaF40ObU
 sxlt51SGxX7ulVSAbWzO+Ru5emkTqqVQ03j87Y/bLAhKzQs4v3mHknY9ilRvLt9X
 6+Rp+UV8eD3M7kF42sda2igsXiJM1rG7HXxZO8kK8ycLxMB1scerDFvXUeh25F8Y
 28WUVyq6zqweZEJa0Hy57/q2ZV5J+rmyitbZ+CPQEx8xFA44PX6edk3mfFTKLnLu
 +T1RKFBRVr3AwnyMqw3hRq1LfUBJvUG1xErPzGvQgvl7vVV4V8Yr+zp8TdM+lt4P
 c3cBlostILTcyAyEugfRvH7hyHb51iosFX6T4NCTVHX5Jvqt91Y=
 =7gno
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmgvBPwACgkQmmx57+YA
 GNl5QxAAi7iE/43FyEOhxJcgKNFvSLX5i4M/hqlGm0F03Zb0MtC2KghsgPt6Wuxp
 Zy79dfo1IA5UunVlXMmFimXynB11jyZg4RA1Il38XtW12YkofMLooMmlZuKIms50
 9bwETd4MrUIpw9VLFsOmgeZ5ntfT34auObxwKZG3zTgXx8pT/trrXbSctgd4N13l
 J/cbYDPBNAm7NS/Z3KX9C2aeJoY3TgkRgKkSizC+6xSGMl4PVEZChe42rbXP7ZnH
 EtE/6JqgqjbyNB8wTvX525GxK5t0dh0v24d7pVukBCSPkqOO1L0i6ia0INlQ31Pb
 Y7ktvDrPvr3bIxzkUiaqiv0TuoARnpakO5l6H6zyrbmxKiSAKQS8W/KTNEhWGUkn
 oSbmYofanQf3O3s7TClhCngKUvzwpYSl2DmFRsdkj5RozkAeCwrPMY0qFRIjYfej
 X4yv5yZMTgQrlOWKV+2QSP1gjhSL3tKYhYcRoG3PmQJOTbCRuXocvwuCKZIDYw/s
 fwKdaBqt3M8BPCqNLs8qq3J0uM0P9pghC3bUHTfzYnuSBqvcYpvF+LP8eoEsrfuX
 IfkjanpazE8bDSj8myUPgB9izsKP8hBBlWYXXx5QvD0hlQn1RTbktB/qxDWJ3oBy
 vJ+lKXN1w4KrhsbGaWTr8AFO5cX3BMUbJQIqwQuWpz/6SqUzVTg=
 =CNS3
 -----END PGP SIGNATURE-----

Merge tag 'davinci-updates-for-v6.16-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into soc/arm

TI DaVinci updates for v6.16-rc1

- remove support for the da830 SoC
- increase the panel FIFO threshold in da850-evm

* tag 'davinci-updates-for-v6.16-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  ARM: dts: davinci: da850-evm: Increase fifo threshold
  ARM: davinci: remove support for da830

Link: https://lore.kernel.org/r/20250519090232.13147-1-brgl@bgdev.pl
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-22 13:05:32 +02:00
Arnd Bergmann
13649a41be More Arm32 DeviceTree updates for v6.16
This adds missing LVDS clocks to APQ8064 display controller. The unused HDMI HPD
 gpio on ifc6410 is dropped (chip uses pinmuxed hpd function).
 
 Missing timer clocks are added to MSM8960 to address bindings warning.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmgr7RUVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FMd4P/29J4Rrx0moQyd9Juu0fXPkWdBeC
 3ukVd3YQBO9npY9JgiqlND5fC4hecjybiPReQIr6aDik5aeH3+aJOvnp9RoWoYO2
 jYjQgUeryQNB3fBjyWkIQs700k1LlHV0tw0yA4k83Vbf2BOnyWdUgzETSvJEzuFb
 OrsiLIcIhyrz/3hSaQzbIhh/m2okl5u5dzfWL1yF5PMYOQOy58//qWOzriJ260Pl
 5wveLkBnztp7lsPVVeJvoAyHTu2xirgqTA+6JXUEoV5WbZC6fPd6T4zHZyLLs1UD
 kV5NiLUF0+0QLxhx4AatDpxyxAsTX6rFOhaoML4zdt9cKsLDPDY2W/tZNnRj5zLl
 ACtZy8JuY6l2pbcQiTSIeM1WqqmvkjMnf83sq9TnAWtB/aFIT9YRLmW97Zgztwgo
 NMQtWShCs0wIzecsbnr37byzXLUTITtBoNEEGttD/wXQf2BtoY/YTqAf1MUzIpCi
 y0+AA4JNbA8XFS/Djm0ZB/pCec8P6pVd9oPou+ykO3G3EN1oitTpJERkWC4fXJmB
 pQ5kPKxpLMZDownN9fYfO+FeAeGuARSXvqPeYuRZ+zQucDBf1TNOZ6shGxscXlaD
 W2/VIKBOLt2bJFJCTZMohOnmF86G82+SRA2b1hFz3NHvJdq0mbsUX/OraStjArlw
 kqJMWP3n1iw4gYhO
 =C2G2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguUEwACgkQmmx57+YA
 GNnu8w/+KCssT7+odlNr159HVRygcHnzrJRJyb/PT8u8Xqtv3HwHiNaJm/zlSwdw
 bFBHEpTG4NeTzzwUObvJvcBcWGPoGP7MsQ0k5WWo0UeAhuha/B9Vt3hIwUk61MxI
 7Ni8E9V5e+4TWFu99giQGmWM/J6yT4xjOyWQwyJAneB5q6KXgLGo0JVuMPQJ4c44
 IFVplrnJTCbCQ7Ljc+U2yE22YaJKJB6hM8gexzpuGjzcaI7PRn5z8FoUXZ8a/Bbf
 o5w7cPyG/e9uW5MRjvEfe8bs4tKF6+zsKOns7oPLb73q5yQur36cZrq72OmklHn3
 /BRQ7UmG7UYdDAO/fKUtjRQTwHMmoc8JLdlcT2evj1tX2TCsdHNTmyzsnDJe6yMW
 opfeeb+FwQA5TVgeIaM4YEE5EkgR3IwMtw8Zjd12f4w80wnwda/kA2L42QUD6Yqv
 Cyzvo8c/JE9PhDBVxjM/vkpzD9/bbw7OmNralmLe1lx6RGPr51tNXlNHyL0Gjt7l
 +ukztqS9o2P0CuKpe006uSFFX7Sp2wIbcO2ripqKGl+FFG3jCqld/18ZH0rrIZXX
 7U8pZwKeLTI4Lf9I7gUj5GSULIgr6/0p+J/ovF8gaFN7tCc6mJ1f+yvZFu/Aal48
 sf52nBEutyUNFnbAXsS2nuwH3QmC86swqormMvzOBywluoZjLjo=
 =xV9I
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm32-for-6.16-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt

More Arm32 DeviceTree updates for v6.16

This adds missing LVDS clocks to APQ8064 display controller. The unused HDMI HPD
gpio on ifc6410 is dropped (chip uses pinmuxed hpd function).

Missing timer clocks are added to MSM8960 to address bindings warning.

* tag 'qcom-arm32-for-6.16-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  ARM: dts: qcom: apq8064-ifc6410: drop HDMI HPD GPIO
  ARM: dts: qcom: apq8064: link LVDS clocks
  ARM: dts: qcom-msm8960: add missing clocks to the timer node

Link: https://lore.kernel.org/r/20250520024716.39418-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-22 00:14:36 +02:00
Arnd Bergmann
9896dde15a Additional MediaTek ARM64 DTS updates for v6.16
This addresses devicetree binding warnings happening on	the
 MDP3 nodes in mt8188 dts, reverts the commit adding the SCP
 firmware-name as strongly suggested by Arnd, and also adds
 some more late commits.
 
 In particular:
  - MT6359 PMIC
    - Renamed PMIC RTC node to fix dtbs_check warning
  - MT7988(A)
    - Support for SPI controllers was added to SoC and BPI-R4
    - Support for XSPHY, USB and	PCIe2 was added	as well
    - Fan and cooling maps were added to	BPI-R4 machine
    - Added BananaPi R4 2G5 machine variant
  - MT8365
    - Added touchscreen support to MT8365 Genio EVK
  - MT8188
    - Addressed dtbs_check warnings for MDP3 nodes
  - MT8390 (Genio)
    - Reverted SCP firmware-name	addition
 -----BEGIN PGP SIGNATURE-----
 
 iJ4EABYKAEYWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCaCxnIigcYW5nZWxvZ2lv
 YWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tAAoJEJo2BM+tl4R4FhUBANQb
 sZRLA0B51ZrM9PgXBDsWo6KxPM44bEKcScUfuE70AP4migjQhq6e6v90+MzsWW1L
 fbY1/Y37shh5OzPNBPKvAg==
 =yqrC
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguT+YACgkQmmx57+YA
 GNnzAQ//cRfTFsLHjvYhbzgfYT9FNBjYyckeR/2sTYk3UJrZHjS00e8HQbCBOf/p
 y62gGH5WJ37Zf9GW2IFQvnBCtzFZyqWIp4zA714BHc+G65igsCv4Ke7p01GWyxKL
 REymONqI3fS+Oxzna5OL/n3OCl89RWeI/Nw95ekaPZ4YV/cDCQWagBrHjb4qQxym
 PTzdnhrWVfGNUNnunmXznWwcoK2+9pAqkqvQqRG6impW8ZuGemZZB+l172343nVX
 3Oq2sTteEqKS0Riyp3ZtxfFPTJL84aMW7PKN7OI3A34Pp1+gh1eEWdRlRoI3p7DL
 7cupzPz+7XQn43Q2c68U06L5fSUay4dm2mgyNHML19P61wq10xKsyqlfonResGLw
 bhHfrkvF74S/WFvjdtYrs1sYutucGbmASxG1RST4HRU/jxaevahnw9uYxbhKFToI
 1DiA8x6CUGxDASG1n+cT1CJYubti3fbzM5B6j4nu9tHXR4TW10YkVmhDIpyYpyO8
 pmsIz95BML4mPihtECoWq6VPrnCNwBut1eBf04tMWvy8lNzwjEoL4+DmtzrxsZB9
 Gqjtm99V9r2LG4NOqNtdYuOZnmNasVapnd71hwpFc6pKPMLDRuFPDNfzgQ89RRFe
 KlSmH/6fTj92eyOuKfB0Jfm5vNeqQP1keNyLq65KSytJBNmejNQ=
 =t+j+
 -----END PGP SIGNATURE-----

Merge tag 'mtk-dts64-for-v6.16-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt

Additional MediaTek ARM64 DTS updates for v6.16

This addresses devicetree binding warnings happening on	the
MDP3 nodes in mt8188 dts, reverts the commit adding the SCP
firmware-name as strongly suggested by Arnd, and also adds
some more late commits.

In particular:
 - MT6359 PMIC
   - Renamed PMIC RTC node to fix dtbs_check warning
 - MT7988(A)
   - Support for SPI controllers was added to SoC and BPI-R4
   - Support for XSPHY, USB and	PCIe2 was added	as well
   - Fan and cooling maps were added to	BPI-R4 machine
   - Added BananaPi R4 2G5 machine variant
 - MT8365
   - Added touchscreen support to MT8365 Genio EVK
 - MT8188
   - Addressed dtbs_check warnings for MDP3 nodes
 - MT8390 (Genio)
   - Reverted SCP firmware-name	addition

* tag 'mtk-dts64-for-v6.16-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (42 commits)
  Revert "arm64: dts: mediatek: mt8390-genio-common: Add firmware-name for scp0"
  arm64: dts: mediatek: mt8188: Address binding warnings for MDP3 nodes
  arm64: dts: mt6359: Rename RTC node to match binding expectations
  arm64: dts: mt8365-evk: Add goodix touchscreen support
  arm64: dts: mediatek: mt8188: Add missing #reset-cells property
  arm64: dts: airoha: en7581: Add PCIe nodes to EN7581 SoC evaluation board
  arm64: dts: airoha: en7581: Add gpio-ranges property for gpio controller
  arm64: dts: mediatek: mt7988a-bpi-r4: configure spi-nodes
  arm64: dts: mediatek: mt7988a-bpi-r4: Add fan and coolingmaps
  arm64: dts: mediatek: mt7988: add phy calibration efuse subnodes
  arm64: dts: mediatek: mt7988: move uart0 and spi1 pins to soc dtsi
  arm64: dts: mediatek: mt7988: add spi controllers
  arm64: dts: mediatek: mt7988a-bpi-r4: enable xsphy
  arm64: dts: mediatek: mt7988: Add xsphy for ssusb0/pcie2
  arm64: dts: mediatek: mt7988a-bpi-r4: allow hw variants of bpi-r4
  dt-bindings: arm: mediatek: add bpi-r4 2g5 phy variant
  arm64: dts: mt6359: Add missing 'compatible' property to regulators node
  arm/arm64: dts: mediatek: Add missing "#sound-dai-cells" to linux,bt-sco
  arm64: dts: mediatek: mt8390-genio-common: Set ssusb2 default dual role mode to host
  arm64: dts: mediatek: mt8395-genio-1200-evk: Disable unused backlight
  ...

Link: https://lore.kernel.org/r/20250520114356.1194450-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-22 00:12:54 +02:00
Arnd Bergmann
1e1ce25fb7 RK3036 usbphy addition and two Sonoff iHost adjustments.
-----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmgo3c0QHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgVnsCACZKgutcNF8nYQXWJ5cnuRI+EekrdRsYVNm
 1cPJVSx34bBrnZASM/fXcKj5GjHHXsMkNg7DLdHdtouUgYAeYr75DWFQ3kYbSEYB
 Dm7ZdMlJY+L82olU32gwv3lWMtFiZuZBFulcopFdsjJ2R0mS2vl3u3MsxSb4jd52
 MkXSNHnKHsOqiPd6IMnVV7Cu1dC4tm5XG4UDYcCFFB3GXd6I0XfxjcWiosuSXuLa
 xc/JhrIEClndliSkZCn4CgFtIf+uy7xauNFxisZfPHdgSXL/xxhIbbD+WL6wT+g7
 Sqd/QN1kwqZpnsJxvsXUOUGaJhGmfomVfrEFRvqxvyT0CoGpc4JB
 =rn5c
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguT4QACgkQmmx57+YA
 GNlpRg//RW6651qaOSezbfjVXBodndXmA+YUn8/gi4U3UQwhKOw66aS6COoPHKOO
 iwcFhTUlHeOTTYvUk3YLFaeNhMV95uobG9iQ7PaQgmRejPPds2ep5RePtLglN3Dy
 VhP9VHpo/UywqH6S1M8ErQKPgpCmja2ZHTWlSEIuETEwFA9aMUpm4DXEkdIsxx+A
 XePIHI77RiA7Qq2rueW1j0AXQ7DiDBFFOmGRVW/3F93Xg2CspDRBkOKjQxOnJlTA
 8Kmecoo4YPUz2jMnpsMHPLVbNKmtIliSf8V/KV9uQawMpctmGBYBKkwZeimsrFGe
 tBvi53jVQBfnYE47j+cuBDp7/YKzJOjbOULjqEayth5Fpy51iqt4S6QdF1po9TCJ
 4FnPHKiD/I4YQsnEjr3eqJSwjCj0Zm3GPx/Rcmcev7XL21NHBH/ywurDfCo7PLFj
 tZiFrvQgb12ErtDkP1BTAn1gJqYFG9pCcjb65BVLbMfcbb+KdulyMPJoVga3E9/0
 Eh2SZx+RReVp0UTnYmBK32hgHN//1n6whzMycbYn/yaTSoDgB9pXR9oIrpwzngw8
 u6ED1Bn4pwgCPKzUD6RmQhBCkrIwpFLdLmpFfJcQkRRidif1eyqQQwjNItmWXyqX
 mBCTV7UfOxITw2XttmMBpQ3LlyZ0OAicNei/+K6lgoma0aVyypg=
 =IfpT
 -----END PGP SIGNATURE-----

Merge tag 'v6.16-rockchip-dts32-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

RK3036 usbphy addition and two Sonoff iHost adjustments.

* tag 'v6.16-rockchip-dts32-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: add rk3036 usb2phy nodes and enable them on kylin
  ARM: dts: rockchip: Sonoff-iHost: correct IO domain voltages
  ARM: dts: rockchip: Sonoff-iHost: adjust SDIO for stability

Link: https://lore.kernel.org/r/3652020.5fSG56mABF@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-22 00:11:16 +02:00
Arnd Bergmann
ea15963b26 Microchip AT91 device tree updates for v6.16
This update includes:
 - more controllers enabled for SAMA7D65 SoC (Ethernet, Flexcoms,
   SRAM, DRAM, RTC, RTT, GBPR)
 - cleanups and fixes for Calao boards
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCaCbPFgAKCRCejrg/N2X7
 /YTwAP4lzxCNkodc/imWk8AaVMwmj9KjCt+8nlg3qg/CMvunvAEA6RSfBYndGJLA
 ll99NBekc6/PWboAAlcEj3pQlzhF9g8=
 =8Rwa
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguS8EACgkQmmx57+YA
 GNn17g//VkM+La/DS4N9Lm83/g9JulW4lRxn/HkX/M0tvBdOPwtPLdtQqwD5bScc
 RUO18pze4sO1o0Chg9yaDqADpMFx7zCO+WJBApyUxEaiqYHynkB2FzSB5EoH6O40
 71jDM47w4dUY6AGOCWASzlIjKZAFAu4FpxC8J/8yoGMrBc1g5cyDwzaRPdG0D9q7
 dPAtzNTlsCGN/Pqk2tlDhHwVLY7Dd5LmDgTGcsbiajjDIbBc3j0QAwY1M5pZEWfK
 DD7WpkSP51fr9dv9FPE3yl2XE9UhH4xKVzuoytPtdCeOKaSysATIuIwVlzDg2Jzc
 1lQ1JGe39sP05KVSMBC3SsMWi5pAA/4XVurZTnXBsJJPL9/tOcuxLQy2179IzmXa
 cwvdY6XfxHDt/PeWg0VjKpnDOYNme92voIHASiUO3ki6p7yJ/NvXEU92MRMYrUCu
 OymRSqWBnQT+t1wcvLeEGCDb0kMayk9bmXZVG54eVp3mQMhRiJC6bFMHVpx5amvn
 P9utH0LGWJPu4PalBCBw5p0lDtYeVSfej7qc0X+lbbY0mwp/S8AmBV9jQ8C56nIZ
 luaLU57SX9ghN0RkXPePv4dwGugi/lMMbd483G7pmFQcw+Nx1tj/82ODuyvbWFhe
 ++HCukg8OhNS4EpDHI58cM5HUv6hCLvmMOry3EJfflD/nrcIAiU=
 =BhDQ
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

Microchip AT91 device tree updates for v6.16

This update includes:
- more controllers enabled for SAMA7D65 SoC (Ethernet, Flexcoms,
  SRAM, DRAM, RTC, RTT, GBPR)
- cleanups and fixes for Calao boards

* tag 'at91-dt-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: microchip: sama7g54_curiosity: Add fixed-partitions for spi-nor flash
  ARM: dts: microchip: sama7d65: Add RTT timer to curiosity board
  ARM: dts: microchip: sama7d65: Add RTT and GPBR Support for sama7d65 SoC
  ARM: dts: microchip: sama7d65: Add SRAM and DRAM components support
  ARM: dts: microchip: sama7d65_curiosity: add EEPROM
  ARM: dts: microchip: sama7d65: Add MCP16502 to sama7d65 curiosity
  ARM: dts: microchip: sama7d65: Enable GMAC interface
  ARM: dts: microchip: sama7d65: Add FLEXCOMs to sama7d65 SoC
  ARM: dts: microchip: sama7d65: Add gmac interfaces for sama7d65 SoC
  ARM: dts: at91: at91sam9263: fix NAND chip selects
  ARM: dts: at91: usb_a9g20: move wrong RTC node
  ARM: dts: at91: calao_usb: simplify chosen node
  ARM: dts: at91: usb_a9260: use 'stdout-path'
  ARM: dts: at91: calao_usb: simplify memory node
  ARM: dts: at91: usb_a9263: fix GPIO for Dataflash chip select
  ARM: dts: at91: usb_a9g20: add SPI EEPROM

Link: https://lore.kernel.org/r/20250516055330.10852-1-claudiu.beznea@tuxon.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 23:55:13 +02:00
Arnd Bergmann
0feaf3c056 Allwinner device tree changes for 6.16
Introduce Allwinner A523 / A527 / T527 SoC family w/ three new devices:
 - Radxa Cubie A5E
 - X96Q-Pro+
 - Avaota-A1
 
 Also enable EMAC0 ethernet MAC on A523 family for Cubie A5E & Avaota-A1.
 Note: the SoC has two different ethernet controllers.
 
 Changes to existing SoCs:
 - Enable GPU on H616 with all boards enabled
 - Set maximum MMC frequency for the A100
 
 Changes to existing boards:
 - Add WiFi/BT header on PINE64 A64 boards
 - Add hp-det-gpios for Anbernic RG35XX
 - Add support for PHY LEDs on Bananapi (the original one)
 
 Add new devices for existing SoCs:
 - YuzukiHD Chameleon based on H6
 - Liontron H-A133L based on A133 (compatible with A100)
 
 Tree wide cleanups:
 - Use preferred node names for cooling maps
 - Align wifi node name with bindings
 - Drop spurious 'clock-latency-ns' properties for H5 & H6
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCgAsFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmgmm8kOHHdlbnNAY3Np
 ZS5vcmcACgkQOJpUIZwPJDCeKw//dU9nOV3IL027SSzBc/1acvGD7t+o3O9neNlt
 4W02QAwTeANCCUM4OYIUCmNn71gFlcEOfVmLlJXAEFJCz6kPP8RSh+IL1LdSQydf
 NJMFnnvpVScwUjDSOPAowuqR91OQIHm7nWJvVzo022c8zsQE1iNv7Aeg66Swf0ai
 HRuwLveOjVRrVLe4mwwa5/LHTNSZLk1e5si441C86PHHf5+s3x4JnJzTMvYosZbM
 3ekjGc6f9evx+7k7bAfQ9UrJ6avtoq5ars+Js+RFjMx0bW6dCLa1EvLa3V2JcEcR
 tSI7dwiqLyD2q9tulxVG5kFLTNPdXK+BI9tO96xCbkJ/j0V9ubNToq23ltyuzOVJ
 ha8n8e1kb1tOg7HR8B5eV1xN+ZSZL6NvvZoiyPPklML0hmT95Lwi0uVhfnNT0EC9
 VjiBBBeP26U0y9005nAzblLUTeKv4pFaRHD7j+MVtDk6IsNwMxGo27KPrkpf6FMM
 UgbXSiurdQIXToUuQL+DuGFZZwnu1MN008ZUV/hqEfzWpeH/GQxN+YMbEuuvaKJk
 3r0nDM9Wbnjdvs/qhrDZRwKccQOBLMwkZN8JKWyKAoe1mVoFZa9VyyKWuT5qXOee
 5E5rwxwFne8BpkDyfmCyHXKVjeGGiVky11roO9/9IchjgJe9j+4hLaCvr8mhTvl2
 p4tiVxQ=
 =4JrL
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguSzAACgkQmmx57+YA
 GNnCIA//R7syl7Mu+cJ88VxKhrInFf5F5vngrtrh+o9w5Jk50BY87WX0qT16Zgt6
 /jHLLYkjXiv0FA0PJQmeZQKxhYQnGqRqzAgBG41Db6ulbot8cHDNCwbc2J+HPvXe
 DibTOayckm23HJQyPXgTBhFC8GnjCOxzpt7mSP7+NlL2QcHGuNABP/Z0R8ra4Evr
 rw7GYpmCCuc0O7LdhnGzUpy+QT3SRedq0MPhj59mFn4VYQUCFRnHiYfPUjMjPw4m
 dfFAPE6PaZlgIfPLH0s5t8hwZCbOtLkuMUriZPw9iYLN+KXLHRrbprNlPqVH+LC3
 VuCUXsokwjr/yeWJ9pzmuRi6kCg2MDooY1i0T2GHfoIr2Sb3cOc7lrjyczMp4ovn
 snk370g2qZ9jYOgCOUlNSpI76/OF04/MTOm/IF8yAuWtr2Qkqa7sqwf0dgP1gcQc
 FuDgRw/uh2dG51tPV8xYfFvNG0+rSJh7y7M2m76cNG6A/OmI1WJOoRT/WNqvqTxN
 y7iZY7aKnML8pDQgoRFeferR5oUfEx4yAIFTA2130U+KtVDiq8/+3pv5DCyGx9/6
 dXs0T2LndrDV9DRaSQZ45spHP8sMSFbWbBX3qvQEj9Q8j2QdTSNu4hSi4/P3jQ0U
 W5azgGfeL2dH1m+RhJaqpZQTwZH1lVUfIcj2Dpdbk768xkD+UKM=
 =/9N8
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt

Allwinner device tree changes for 6.16

Introduce Allwinner A523 / A527 / T527 SoC family w/ three new devices:
- Radxa Cubie A5E
- X96Q-Pro+
- Avaota-A1

Also enable EMAC0 ethernet MAC on A523 family for Cubie A5E & Avaota-A1.
Note: the SoC has two different ethernet controllers.

Changes to existing SoCs:
- Enable GPU on H616 with all boards enabled
- Set maximum MMC frequency for the A100

Changes to existing boards:
- Add WiFi/BT header on PINE64 A64 boards
- Add hp-det-gpios for Anbernic RG35XX
- Add support for PHY LEDs on Bananapi (the original one)

Add new devices for existing SoCs:
- YuzukiHD Chameleon based on H6
- Liontron H-A133L based on A133 (compatible with A100)

Tree wide cleanups:
- Use preferred node names for cooling maps
- Align wifi node name with bindings
- Drop spurious 'clock-latency-ns' properties for H5 & H6

* tag 'sunxi-dt-for-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (27 commits)
  arm64: dts: allwinner: a100: add Liontron H-A133L board support
  dt-bindings: arm: sunxi: Add Liontron H-A133L board name
  dt-bindings: vendor-prefixes: Add Liontron name
  ARM: dts: bananapi: add support for PHY LEDs
  arm64: dts: allwinner: a100: set maximum MMC frequency
  arm64: dts: allwinner: t527: add EMAC0 to Avaota-A1 board
  arm64: dts: allwinner: a527: add EMAC0 to Radxa A5E board
  arm64: dts: allwinner: a523: Add EMAC0 ethernet MAC
  dt-bindings: sram: sunxi-sram: Add A523 compatible
  arm64: dts: allwinner: a64: Add WiFi/BT header on SOPINE Baseboard
  arm64: dts: allwinner: a64: Add WiFi/BT header on PINE A64
  arm64: dts: allwinner: correct the model name for Radxa Cubie A5E
  ARM: dts: allwinner: Align wifi node name with bindings
  arm64: dts: allwinner: Align wifi node name with bindings
  arm64: dts: allwinner: h616: enable Mali GPU for all boards
  arm64: dts: allwinner: h616: Add Mali GPU node
  arm64: dts: allwinner: h700: Add hp-det-gpios for Anbernic RG35XX
  arm64: dts: allwinner: h5/h6: Drop spurious 'clock-latency-ns' properties
  arm/arm64: dts: allwinner: Use preferred node names for cooling maps
  arm64: dts: allwinner: h616: add YuzukiHD Chameleon support
  ...

Link: https://lore.kernel.org/r/aCaeZJ2t4S_xhgjp@wens.tw
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 23:52:48 +02:00
Arnd Bergmann
38181494e4 STM32 DT for v6.16, round 1
Highlights:
 ----------
 
 - MCU:
   - Add low power timer on STM32F746
   - Add STM32H747 High end MCU support. It embeds:
     - dual-core (Cortex-M7 + Cortex-M4)
     - up to 2 Mbytes flash
     - 1 Mbyte of internal RAM
   - Add STM32H747i-disco board support. Detailed information can be
     found at:
     https://www.st.com/en/evaluation-tools/stm32h747i-disco.html
 
 - MPU:
   - STM32MP13:
     - Add VREFINT calibration support based on ADC.
 
   - STMP32MP15:
     - Add new Ultratronik Fly board support:
       - based on STM32MP157C SoC
       - 1GB of DDR3
       - Several connections are available on this boards:
         2*USB2.0, 1*USB2.0 MiniUSB, Debug UART, 1*UART, 1*USART,
 	SDcard, RJ45, ...
 
   - STM32MP25:
     - Add OCTOSPI support on STM32MP25 SoCs
     - Add SPI NOR flash support on STM32MP257F-EV1 connected to OSPI1
     - Add Low power timer TIMER (LPTIM) on STM32MP25 SoCs and use
       LPTIM3 as low power broadcast timer on STM32MP257F-EV1.
 -----BEGIN PGP SIGNATURE-----
 
 iQJRBAABCgA7FiEEctl9+nxzUSUqdELdf5rJavIecIUFAmgkXoEdHGFsZXhhbmRy
 ZS50b3JndWVAZm9zcy5zdC5jb20ACgkQf5rJavIecIU7DQ/5AVX4QZoSJunoS/Um
 QtQku5tyAiQD/RupkUitkB0BPSV4XoipWM6f2MVlBnIblRe8esKVDo2AntiDte/E
 mOQ0HwP6nFiRL90DdLGqQ0ySwD9pjnUPn7c8ZkEZw2X8hAhTgTCXAVgDJ5tRKAiz
 3M5aFw1J3h4dPlSObuCUbQouTIYwvC7Gn80b92Ppo8Sbt2tcfyWGweTzBKtw+InK
 Zo8p36Oz1w/Ful/pIO8YWlcQK8myD18KiCKAYR5tCfTGIjOOp+wpaFl/xIWFRcWL
 1RPOS38l3SPUzEB6otfK5vIi9JxQDAm/AAsgbTBLcSQmEXpyn3M8ZjQP1KI/KMG9
 68lhTHKbTaEeo16jr3aKeThecYdszNt4zmNlZ8vCDzr9o0gpC282VgH31Do8g6vu
 b4fRkDn2x1y90GNAOCEPufLS9xwQboRw6Ngc4gHyZjuPvPKw+/SwpoCyulJgiCuC
 p+R6ZCf5E+dmE5V762PJ+o0BWO09anP6vBVXd0vakK3NH+T964jkiVbaqgBz374v
 o58ysq+e3URN7olJkY5QaKwTUE2N6XAUJn3zmtJYw2gYfzXZdBDPjRCmXBvtAHTw
 AwLGeMOuf/NmphLhJecVHRmAMmJpnwFuxPjU3dd1sFGgAXeCw+hvGXei3wgwG+fU
 D9kfbRofrV3Tl9YhHl57ocIanm8=
 =lBee
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguStcACgkQmmx57+YA
 GNl5Zg/9GewrqmsiYWjzNC2klAdaB4SL15eXQ0V5REg8S0Hc9EFJI5G20n2PF0sX
 ciEDR+azrsZ6qXCiWA7ZmqCheQK6dPmojIX6zWgNONCqq8sUipCyK3uplIGLC2Nu
 QjKHixQuD0fg73mlNwF7LaaFf0riY+B09A2HPuFlAYCt8bCaFuIOjMLWNbUyVPcI
 sx5tUU1GYRRupqEwnoKrXNp0UJGLRRgscdMUKn5ZLE5sMUEoWIPppIS2/hWoUi48
 LC0C9pn9Xm4FTbwVp05X7qooJn3lzjR2ZogqUqGwzn+qmLgulKMUepr0GVRzvOEh
 0zT7HIwxiRYuLfI/EymPxwDrUUxPJNi0nQiJhJxM08iHwkmhEi86d417ZcdYPESt
 JCSxXFzWMWatnQqA7f0ijBRN4SbNsH75jPkrEjOgu9mO9/OwQtiL+I56C5K2g+ge
 JBIRKPC03vG47wHFREzCXFRmeGzkn0Jz03CqvGJnDnPGS8FvzkE/kSw7Gv9D8crU
 flgqmYUezxtykE2zhgPB7Cl0lcjCbWGUDeZUXNjbH5ulyKG/+keAu72cdmuikABy
 8A9L7YK+QTehHfzuFY1krj4RJwoxEQgBmx+ZlnJxniAo5VE4IenzamIAjZX2UZ97
 oZr6EqcFT2WMh0Cr8p30B0lVSnowkclOlvZ5E525mLwCQ2Un0bE=
 =KRaD
 -----END PGP SIGNATURE-----

Merge tag 'stm32-dt-for-v6.16-1' of https://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into soc/dt

STM32 DT for v6.16, round 1

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

- MCU:
  - Add low power timer on STM32F746
  - Add STM32H747 High end MCU support. It embeds:
    - dual-core (Cortex-M7 + Cortex-M4)
    - up to 2 Mbytes flash
    - 1 Mbyte of internal RAM
  - Add STM32H747i-disco board support. Detailed information can be
    found at:
    https://www.st.com/en/evaluation-tools/stm32h747i-disco.html

- MPU:
  - STM32MP13:
    - Add VREFINT calibration support based on ADC.

  - STMP32MP15:
    - Add new Ultratronik Fly board support:
      - based on STM32MP157C SoC
      - 1GB of DDR3
      - Several connections are available on this boards:
        2*USB2.0, 1*USB2.0 MiniUSB, Debug UART, 1*UART, 1*USART,
	SDcard, RJ45, ...

  - STM32MP25:
    - Add OCTOSPI support on STM32MP25 SoCs
    - Add SPI NOR flash support on STM32MP257F-EV1 connected to OSPI1
    - Add Low power timer TIMER (LPTIM) on STM32MP25 SoCs and use
      LPTIM3 as low power broadcast timer on STM32MP257F-EV1.

* tag 'stm32-dt-for-v6.16-1' of https://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: (22 commits)
  ARM: dts: stm32: add initial support for stm32mp157-ultra-fly-sbc board
  MAINTAINERS: Add entry for ULTRATRONIK BOARD SUPPORT
  dt-bindings: arm: stm32: Document Ultratronik's Fly board DT binding
  dt-bindings: vendor-prefixes: Add Ultratronik
  arm64: dts: st: use lptimer3 as tick broadcast source on stm32mp257f-ev1
  arm64: dts: st: add low-power timer nodes on stm32mp251
  arm64: defconfig: enable STM32 LP timer clockevent driver
  arm64: dts: st: Add SPI NOR flash support on stm32mp257f-ev1 board
  arm64: dts: st: Add ospi port1 pinctrl entries in stm32mp25-pinctrl.dtsi
  arm64: dts: st: Add OMM node on stm32mp251
  ARM: dts: stm32: support STM32h747i-disco board
  ARM: dts: stm32: add an extra pin map for USART1 on stm32h743
  ARM: dts: stm32: add pin map for UART8 controller on stm32h743
  ARM: dts: stm32: add uart8 node for stm32h743 MCU
  dt-bindings: clock: stm32h7: rename USART{7,8}_CK to UART{7,8}_CK
  ARM: stm32: add a new SoC - STM32H747
  dt-bindings: arm: stm32: add compatible for stm32h747i-disco board
  ARM: dts: stm32h7-pinctrl: add _a suffix to u[s]art_pins phandles
  ARM: dts: st: stm32: Align wifi node name with bindings
  ARM: dts: stm32: add low power timer on STM32F746
  ...

Link: https://lore.kernel.org/r/2f101efb-6d58-48d8-983a-57e30a34827c@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 23:51:19 +02:00
Arnd Bergmann
759dd3fea1 Qualcomm Arm32 DeviceTree updates for v6.16
Introduce support for the AP8064-based LG Nexus 4. MSM8226 is extended
 with modem-related features, the LTE-capable variant MSM8926 is
 introduced, and modem support is enabled on Samsung Galaxy Tab 4.
 
 Display-related clocks and power-domains are defined for the simple
 framebuffer of Motorola Moto G, to allow booting without
 clk_ignore_unused and pd_ignore_unused.
 
 On MSM8960 SDCC BAM and thermal sensor (tsens) is introduced.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmgju+QVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FH7oQAMuLGyWTReLqQ3FCdnlI/kXWH2qF
 Fg4VJb2zM0eYpaBPXS8fkD0BlxXPHy/CD9A/yKWpHMkD706J4PlsCfMLzj6pzbJJ
 tzP9fA/v2deGl/G/OKsM+Yp7a6Ocl2VzXU2eOakWMBlWQUcTv020jz+4wNwKDwx3
 85BESrpr6yCG55dOddZI1etKb2oVXKuvZAvYSELNb4l2PkIN+stJ0HoMykTWn9XD
 WD7QvD1LONi8eldt65O2Dz7cwN5eHybD4QPpYvW41OudP6reqTyTlE/NQSdP4eg5
 RyKXevjYemZTGX5YsNFR2p/y3zhLU95LH8+MSIm0d7DlpLMPNz88hedCEM+Mr+fp
 egHAfH+smWNki5xlaWUZwbRCIKZVz6SR5utnzudcC9obJMOrtajvBjaQ1WbsrzS3
 l4nka/Csn9KY/E0X6wKHXGzJlSOe87XlnF7HUlsfbzs1AQpNADgCtwFM5eJZLhhb
 TcxbjKh1ZOrznuPxCRA0na0zuH/kEgdchs4F4dsJ3/I42tDAXFYBmjw97R07J/Xx
 fJEtqhfvxTQSv5RR6cfbbayXPEJpvJ6uygmJCOx+ZzhRWroOqB7dlWp1/kForhAn
 FZYdu/4rZn9IWOJJEc0QcRLKyeekFca4pXMZfLk3nN6iGu7IwlWtzFr0wbgkVDBk
 m18POm/F0EA1BeG8
 =kQf8
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguSekACgkQmmx57+YA
 GNkaQxAAs+kfGjBKytJDybAG4Eh6EJ0UrMAMyPLqNx/DaXxM+QZ+ZLzFvMdNMz8i
 srLipwPQKyqN2EvYB0vWzx/3uAabVG8ZhIFYFFVVIpsy9jZkWF27Yw7ybAQg935P
 U+X5M26AdZv/Dkf1LYRcDZnSObtRL/Q8Hl+MxWjnt0GQDAtOX1DA3oksNvmdS7pQ
 pJEM0KX/PShZibpj0iGugGMMTBwvwHlj2hLpNrBCjISuHXwhbufXs6bEyoXcV5SL
 FuS8aK3eOvr2PntZsrHArJxRZMXKPBA17F2NsifCnucmt0Lqmz8V92lObGiORkHr
 kTvrJmIc1CSwSZrFyhq1C+azs2rx++BvCl7mFElK1tn9czod7LT7wUasDRu185wY
 qGGtg1dvfotxAI1ctt3ogtKu4pBONwbnb5cNjxPTHy0pNPIOBiCWy4NGxM3wJ7wJ
 zKukpczNwk7H1NFAd+0sx0XnGebGhz3Qs9jV3VD7sjdYdMZlIBYce13Rl9j70nWV
 OKcMjW0NYC+SNa/1vNE4ZpUqKjIiOvVXi9MPKnR2DPKKXXO1B8lT4pMcgr06wysL
 60fqIcqghsoeQEAwc20geimkgJkxusbpAXNqX9eY/kZOy7s2eVdzoXPLeCt0FEWV
 x2jNix94bPZLujFKb9jhpYZl4dz6/6RK/yYZwm+x4klJKxO+Z/c=
 =2aVB
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm32-for-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt

Qualcomm Arm32 DeviceTree updates for v6.16

Introduce support for the AP8064-based LG Nexus 4. MSM8226 is extended
with modem-related features, the LTE-capable variant MSM8926 is
introduced, and modem support is enabled on Samsung Galaxy Tab 4.

Display-related clocks and power-domains are defined for the simple
framebuffer of Motorola Moto G, to allow booting without
clk_ignore_unused and pd_ignore_unused.

On MSM8960 SDCC BAM and thermal sensor (tsens) is introduced.

* tag 'qcom-arm32-for-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  ARM: dts: qcom: apq8064: move replicator out of soc node
  ARM: dts: qcom: apq8064: use new compatible for SPS SIC device
  ARM: dts: qcom: apq8064: use new compatible for SFPB device
  ARM: dts: qcom: apq8064 merge hw splinlock into corresponding syscon device
  ARM: dts: qcom: apq8064: add missing clocks to the timer node
  ARM: dts: qcom: apq8064-lg-nexus4-mako: Enable WiFi
  ARM: dts: qcom: msm8226-motorola-falcon: specify vddio_disp output voltage
  ARM: dts: qcom: msm8226-motorola-falcon: limit TPS65132 to 5.4V
  ARM: dts: qcom: msm8226-motorola-falcon: add I2C clock frequencies
  ARM: dts: qcom: msm8226-motorola-falcon: add clocks, power-domain to simpleFB
  ARM: dts: qcom: ipq4019: Drop redundant CPU "clock-latency"
  ARM: dts: qcom: sdx55/sdx65: Fix CPU power-domain-names
  ARM: dts: qcom: msm8974: Use the header with DSI phy clock IDs
  ARM: dts: qcom: msm8226: Use the header with DSI phy clock IDs

Link: https://lore.kernel.org/r/20250513214111.43401-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 23:47:21 +02:00
Arnd Bergmann
2b183108bc VT8500 DTS ARM changes for v6.16
1. New board: VIA APC Rock/Paper.
 2. Add SCC ID register/socinfo node.
 3. List all timer interrupts.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmgjIKwQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1yZWD/4hbdPRMYcnuokiDVpBNJqdY82OJCYcnMaC
 MtXyEgshHC97BYMPF6sQox09fg4IpJlAcRsEXsjh3vSQl5LvX7tqQwrckiOJvhXP
 LUH7XVEtL5fKgYf3THaFCDCjcwXxjcsiEyT6KD5ET37Z0czqMAl28ovRAV0kNuXM
 3x9TWkHKI/qlsYIRpRCl3cHQkqjFEXgfi6HNoIroIvR1wRBXxjJDiMnUEBHgEl7E
 xAgvNglD/fAubcbYjr+Kx0XMhMryBl4PoSgeP4OnTK05gIW81l7RrxuKMm+a2pb3
 aX+xtqs2sXBPykzp5lyosa0Nje9/5x31supSjF7I9pEA2OA9UPJjchkyRkqs8Inj
 tO8s7JrIZklOvB4Lp5Sc4sqylgH2HeWxr5yu4EH9ga9C+2KpdSgSktVF69SvmHII
 Zk+akeIyxd3hj/zGrqBwwrEP6udg/7PVlSqVKgwiJ71Zx8Xs6rrdtw0vZ5j49Bq4
 elTg/pvz1uVkhQ0nxWFYhZSFNDB/sx52TRV8Y0W/vk/QaHAZrBcQte4T7XSWlGAb
 KmgbIDJ9Osdl7iJN5gUxF+u8IwpA/u4vfORl3sgIs3vVez3wbthFA7fggwas+a8u
 boS6ooca3sBVzp/6qOs3IRZ+D68r6hQhFCSU4/rPw1o2NHveGCyZbZcC2Ahx7+Gi
 iFztjGc71w==
 =nARy
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguSZoACgkQmmx57+YA
 GNngDBAAjDXbkuUaMbteNtBQVDPnhkrmQ/SZngb059p9RCzU94IHOgn2I8y3iIcH
 13XWOqxMRFXOdMlPbEr3krN0KOwWtRpPALE4S+/MqAoa5xlV3ul73R64oEBC4qy5
 5yPHrV6IOYNDn2o+aYUHanZuWVPuBdwIIzphjTudEf1Fpi1joL+JYaMLNwYIPLAT
 H97ORt/fJiYXbGfO8YpZEC2BTv2F0ym5aCJAkWGD1V3zj5hDw+kf8qQvZHEAtQGe
 Jbvgo9XdDUWrd7SJnn9uDSOA93bInCeEFTuPJlW4TEPGNSTF3YA1ZAnpcFYrjmux
 T/LY3HAT3gwUY+eJlttOmpuf/YQ2dUvU2+LJCanunlsAxiwqRLJij0d5IyAjdKzq
 d6XXtLTs5Nf4dh1p/E2BhRSNrnriP1ky5m1mDYvAHfJeEDFczc7Rpymppfo9aOlw
 ymV1U2LE2MxraLr9ty1l9EMJfBnPPTUkd1FomG/1ZfGi7Bt5GI71wsO+TRCRJN2M
 rhVSa3/cMealxvTTYZiMqJjo633HScCeuHKZkInx6xiBXB89x50DfkFw3GlYvSX5
 pN4xZ0QCfMTG6bbcxlQVKqAyEWIxB+JdsFU9S/Yh1Qn+M8hjvhZXDZXlqnip8gel
 nxhILM1cAic/aaUnGMO3rSDRwMU+XlHoe1xuhDfkMCwa8hZKY5Y=
 =bDf0
 -----END PGP SIGNATURE-----

Merge tag 'dt-vt8500-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt

VT8500 DTS ARM changes for v6.16

1. New board: VIA APC Rock/Paper.
2. Add SCC ID register/socinfo node.
3. List all timer interrupts.

* tag 'dt-vt8500-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  ARM: dts: vt8500: list all four timer interrupts
  ARM: dts: vt8500: add DT nodes for the system config ID register
  ARM: dts: vt8500: Add VIA APC Rock/Paper board
  dt-bindings: arm: vt8500: Add VIA APC Rock/Paper boards

Link: https://lore.kernel.org/r/20250513104216.25803-5-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 23:46:02 +02:00
Arnd Bergmann
12a75f2d9f Qualcomm Arm64 DeviceTree updates for v6.16
The Snapdragon X Plus platform and related reference device is
 introduced. Devicetree for the Xiaomi Redmi Note 8 is added.
 
 Tsens and thermal zones are added for IPQ5332 and IPQ5424. IPQ6018 gains
 1.2GHz and 1.5GHz CPU frequencies. The IPQ5424 gains MMC, LEDs and
 buttons, while the IPQ9574 gains NSS clock controller and SPI NAND
 support.
 
 IPQ6018 SMEM is transitioned to be described directly in the
 reserved-memory node.
 
 Display and GPU are enabled in the QCM6490-based Fairphone FP5. On
 QCS6490 Rb3Gen2 ADC channels for thermal profiling are added and
 Bluetooth is enabled. The USB Type-C orientation GPIO is added on the
 QCS6490 Rb3Gen2 and the vision mezzanine is described.
 The Fairphone FP5 gains touchscreen and USB Type-C display support, and
 the QCM6490 IDP board gains a required listed of protected clocks.
 
 The camera subsystem in SC7280 is described and UFS is transitioned to
 use operating points.
 
 On MSM8916, MSM8919 and MSM8939, and devices on these platforms, the
 UART pinctrl state is cleaned up.
 
 The MSM8953 platform gains another UART and interconnects.
 
 On SA8775P CTCU and ETR nodes are added, and the CPUfreq throttling
 interrupts are added.
 
 Samsung Galaxy S9 SM-G9600 gains a description of the MAX77705 used for
 charging, fuel gauge, haptic, and LED, as well as the PMIC used for
 display and touchscreen, which then is used to enable the touchscreen.
 
 The LPG/PWM node is added to PM8937 and Xiaomi Redmi 5A gains display
 backlight control.
 
 Display and GPU are enabled for the Nothing Phone (1).
 
 QCS615 platform gains command DB definition.
 
 The QCS8300 platform gains description of more QUP instances, CPUfreq,
 PCIe SMMU and the SPMI controller.
 
 On SAR2130P PCIe EP device nodes are added.
 
 On SDM630 missing resets are added for SDCC. Then on Fairphone FP3 modem
 is enabled, and firmware-path are defined on ADSP and WCNSS.
 
 The SDM845 RB3/DragonBoard845c and the QRB5165 RB5 has the sensors DSP
 enabled, and the vision mezzanine on both gets their CMA configuration
 cleaned up. Xiaomi Pocophone F1 gains touchscreen support.
 
 On the SM7325 Nothing Phone (1), display, GPU, and camera EEPROMs are
 described.
 
 On SM8450 the PCIe endpoint controller is described.
 
 For SM8550 OPP tables are described for PCIe and QUP. SM8750 gains RPMh
 sleep stats.
 
 SM8650 gians OSM L3 scaling and variety of OPP tables and missing
 interconnect definitions. The thermal trip points for CPU cores and GPU
 are raised in reliance on hardware throttling.
 SM8650 is also transitioned to per-CPU interrupt partitions, in order to
 properly describe the PMU interrupts. Missing Coresight ETE instances
 are added.
 
 On SM8750 the cluster idle states are corrected, then audio and compute
 DSPs are introduced, together with the crypto and rng blocks. Modem
 support is added and enabled on MTP and QRD devices.
 
 On SC8280XP overlays are introduced for those running Linux at EL2 on
 these devices. A few more temp-alarm instances are added for the PMICs.
 
 On the X Elite platform GPU cooling and watchdog is introduced, together
 with a number of smaller fixes. Dell XPS13 gains support for USB Type-C
 display, the QCP gains WiFi/BT power sequence, and a few devices learns
 about HBR3. The RTC support is enabled and regulators that are feeding
 resources that should be always on is marked as such on a variety of
 boards.
 The Lenovo Thinkpad T14s DeviceTree is split in two, in order to
 describe the LCD and OLED variants.
 
 Missing properties for the crypto BAM is introduced on a variety of
 platforms, taking care of a long standing error message in the kernel
 log during boot.
 
 DSI phy clock ids are transitioned to use identifiers from the PHY
 header file and VBIF region size is corrected, across a large number of
 platforms.
 
 A couple of DWC3 quirks are added across a lot of platforms.
 
 The arm32-for-6.15 pull request was accidentally merged into the
 arm64-for-6.16 branch and this wasn't discovered until a significant
 number of commits would have to be rebased. As such this is kept here as
 well.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmghN+AVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FYTQP/1ZyOvGFKBIxRrlvag4Z8hsU2YxM
 n97+i6AElnCE8YAzCC/Ig/zAxyOLuTlPcJeCSnZlpQr8I0uEKktkr1M76GdlOOTM
 49XcsT/rnBxh0bRtJssl/Tbl85hQJAfbZ8rp1x0lCn9e2Ef4A2KlbAWmNbA9Rgai
 QInLKF1owcpwDhMceWFfakMr7qG5CXRgwA6CWmszn/kpdfI7hhoNUGUidsY3mg//
 FfkOInsnh3yetocpp3GmlHs7Mi7puYq0XaKaIAoruyL+MkGAk1+9DY/OFbbhMEmA
 dr+1erRM7odJdbl8DCkriZ6RFVSTQ9NhDpmlnoFB02ugQlfy3n+3UK7iOwgQnnln
 97B3hcipPIe9L51yV3Ud5lQYDMMvAU9arWuZgOTktLRpFw1ASWnL7P/o5BLYzdGs
 NZ9Ebv8LKkuf1/g8SFcz96o7oW/qlKe2vV3jkcWSiFr7PyvsRqT/dFONUw2FppXN
 UGvtwQ7jpnZJ5RqTAK9IjPpjdAK9QLrzcwJAH/7mqs5Wn3WGtEDOmPIcPzmFEvKr
 3CwkxT31rPxdOpd+ZDnnTZzXcYMrQUQ5oahSKMZObzH2c6DtU0PjcCxNLShTCn1C
 vAKUF9JZX71T+rtEmeThMxSr8yQ0HrkZH0Voq3/03lI1ap7oxypb9Fo+qoGxMh5l
 7pTic5JsKO+t+kSU
 =JzSX
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguSLUACgkQmmx57+YA
 GNnMAQ/+PT+s+BWkRtKVKLL+eRe7OVfPgRzo7BW678VF598iB2Ow9rY+stFbb0R0
 ZfH3an33H1XjoQX7pvWqWCH+s4d6lF+cD//6yjyYXbYCUcNrGZr22vFuHRICzgK0
 mo4w+0htSkcc2IuAwVDG7DmApXo88bUwErqGAj68GxkJFVB0tYjw3LjruxCb9+tI
 LbOS6tPXw73XBN+/9h8wFwUh9C5Wu79SZ+DPmrnlfyw0DBTKfeALz8ts7LDe6H80
 LxmcJgrBZrhcUxJlYWsJqYduTc5Si8mWdK7mEBThjNS6ufm86VyEzXoPpfilf8om
 dTlsV8sYS5mDuUJLTj5nHBwf5Ol59mbHrxi5Tu3o8+QgvkbP+gTmgRx9975xeZGS
 iTeHXOTzsoTeiccE0kYjbVGSongSvAuCuQcERKNSSuNFfF+i+NLgVBn9sXRVqjIt
 FFOSN0p4uQ6gjn9qVkaqhZacsvl+nx1uqAfET1ZKQzHpV2fyJtlQ0WhuLhih6xwk
 5Hyc1jl8jCXJ3ImmwybLmwje1sVk1ZtEwbpdq6SUepKjmthxucJbiOD5qMP7l0Vz
 45eNT6R0k+GFsQ7wK8adg6rPi004e5R95FDxMuFt8EY0yMUnSdE01Pl4Bnyqq85V
 etgyoeth/R/Tjlz5fnt1ET3hQbWfQAWBYpEkgSuT71tSUvBuL2Y=
 =W507
 -----END PGP SIGNATURE-----

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

Qualcomm Arm64 DeviceTree updates for v6.16

The Snapdragon X Plus platform and related reference device is
introduced. Devicetree for the Xiaomi Redmi Note 8 is added.

Tsens and thermal zones are added for IPQ5332 and IPQ5424. IPQ6018 gains
1.2GHz and 1.5GHz CPU frequencies. The IPQ5424 gains MMC, LEDs and
buttons, while the IPQ9574 gains NSS clock controller and SPI NAND
support.

IPQ6018 SMEM is transitioned to be described directly in the
reserved-memory node.

Display and GPU are enabled in the QCM6490-based Fairphone FP5. On
QCS6490 Rb3Gen2 ADC channels for thermal profiling are added and
Bluetooth is enabled. The USB Type-C orientation GPIO is added on the
QCS6490 Rb3Gen2 and the vision mezzanine is described.
The Fairphone FP5 gains touchscreen and USB Type-C display support, and
the QCM6490 IDP board gains a required listed of protected clocks.

The camera subsystem in SC7280 is described and UFS is transitioned to
use operating points.

On MSM8916, MSM8919 and MSM8939, and devices on these platforms, the
UART pinctrl state is cleaned up.

The MSM8953 platform gains another UART and interconnects.

On SA8775P CTCU and ETR nodes are added, and the CPUfreq throttling
interrupts are added.

Samsung Galaxy S9 SM-G9600 gains a description of the MAX77705 used for
charging, fuel gauge, haptic, and LED, as well as the PMIC used for
display and touchscreen, which then is used to enable the touchscreen.

The LPG/PWM node is added to PM8937 and Xiaomi Redmi 5A gains display
backlight control.

Display and GPU are enabled for the Nothing Phone (1).

QCS615 platform gains command DB definition.

The QCS8300 platform gains description of more QUP instances, CPUfreq,
PCIe SMMU and the SPMI controller.

On SAR2130P PCIe EP device nodes are added.

On SDM630 missing resets are added for SDCC. Then on Fairphone FP3 modem
is enabled, and firmware-path are defined on ADSP and WCNSS.

The SDM845 RB3/DragonBoard845c and the QRB5165 RB5 has the sensors DSP
enabled, and the vision mezzanine on both gets their CMA configuration
cleaned up. Xiaomi Pocophone F1 gains touchscreen support.

On the SM7325 Nothing Phone (1), display, GPU, and camera EEPROMs are
described.

On SM8450 the PCIe endpoint controller is described.

For SM8550 OPP tables are described for PCIe and QUP. SM8750 gains RPMh
sleep stats.

SM8650 gians OSM L3 scaling and variety of OPP tables and missing
interconnect definitions. The thermal trip points for CPU cores and GPU
are raised in reliance on hardware throttling.
SM8650 is also transitioned to per-CPU interrupt partitions, in order to
properly describe the PMU interrupts. Missing Coresight ETE instances
are added.

On SM8750 the cluster idle states are corrected, then audio and compute
DSPs are introduced, together with the crypto and rng blocks. Modem
support is added and enabled on MTP and QRD devices.

On SC8280XP overlays are introduced for those running Linux at EL2 on
these devices. A few more temp-alarm instances are added for the PMICs.

On the X Elite platform GPU cooling and watchdog is introduced, together
with a number of smaller fixes. Dell XPS13 gains support for USB Type-C
display, the QCP gains WiFi/BT power sequence, and a few devices learns
about HBR3. The RTC support is enabled and regulators that are feeding
resources that should be always on is marked as such on a variety of
boards.
The Lenovo Thinkpad T14s DeviceTree is split in two, in order to
describe the LCD and OLED variants.

Missing properties for the crypto BAM is introduced on a variety of
platforms, taking care of a long standing error message in the kernel
log during boot.

DSI phy clock ids are transitioned to use identifiers from the PHY
header file and VBIF region size is corrected, across a large number of
platforms.

A couple of DWC3 quirks are added across a lot of platforms.

The arm32-for-6.15 pull request was accidentally merged into the
arm64-for-6.16 branch and this wasn't discovered until a significant
number of commits would have to be rebased. As such this is kept here as
well.

* tag 'qcom-arm64-for-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (308 commits)
  arm64: dts: qcom: sdm845-xiaomi-beryllium-ebbg: introduce touchscreen support
  arm64: dts: qcom: sdm845-xiaomi-beryllium-tianma: introduce touchscreen support
  arm64: dts: qcom: sdm845-xiaomi-beryllium-common: add touchscreen related nodes
  arm64: dts: qcom: qcs8300: add the pcie smmu node
  arm64: dts: qcom: x1e80100-*: Drop useless DP3 compatible override
  arm64: dts: qcom: msm8953: Add interconnects
  arm64: dts: qcom: msm8953: Add uart_5
  arm64: dts: qcom: sm8350: Use q6asm defines for reg
  arm64: dts: qcom: sm7325-nothing-spacewar: Use q6asm defines for reg
  arm64: dts: qcom: sdm850*: Use q6asm defines for reg
  arm64: dts: qcom: sdm845*: Use q6asm defines for reg
  arm64: dts: qcom: sc7280: Use q6asm defines for reg
  arm64: dts: qcom: sc7180-acer-aspire1: Use q6asm defines for reg
  arm64: dts: qcom: qrb5165-rb5: Use q6asm defines for reg
  arm64: dts: qcom: msm8996*: Use q6asm defines for reg
  arm64: dts: qcom: msm8953: Use q6asm defines for reg
  arm64: dts: qcom: msm8916-modem-qdsp6: Use q6asm defines for reg
  arm64: dts: qcom: apq8096-db820c: Use q6asm defines for reg
  arm64: dts: qcom: qcm6490-fairphone-fp5: Hook up DisplayPort over USB-C
  arm64: dts: qcom: qcm6490-fairphone-fp5: Add OCP96011 audio switch
  ...

Link: https://lore.kernel.org/r/20250511235241.15192-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 23:42:13 +02:00
Arnd Bergmann
c307e9c1a4 Nuvoton ARM devicetree updates for v6.16
- MMC, OHCI, UDC and EDAC blocks added to the NPCM7XX DTSI
 - Fixes for GPIO hog names in the NPCM730 and RunBMC Olympus platforms
 -----BEGIN PGP SIGNATURE-----
 
 iJIEABYIADoWIQSoUT1x3bOSX/nAa8ajM9GZTrjhpgUCaCV6mRwcYW5kcmV3QGNv
 ZGVjb25zdHJ1Y3QuY29tLmF1AAoJEKMz0ZlOuOGmjQ8A/3ArLL49N17FV7UiNrvN
 3TPgTxMnQMdl6aIL8VuoHIEUAP4sNLpe90w/rFBTGUsrOhg7nqBmPuP3JPPwIoLw
 o5yMBg==
 =GB0J
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguRckACgkQmmx57+YA
 GNkKPQ//eDRQK5SxmruzNzcgZX8T5cdeNWtkD9zj57nKhOfWEXrRqLAoCtmPofDF
 jpGcyaJVVIgAKZzR0Pq+wG/SSk7QZm7bK0Q/1+cgQ08LifX8mc9Vh64yv5h+UiE3
 gKqnW5tB21GIZZ35Soj7W69BmN8Uep1iZeRZYpqY9DnVWoIh4ZG94i1rHeS8uquX
 y79yBKDo9zu3Q4vjhRg9M0umK5oRoZC2aQTG1YLQ8hu/qldoHRTCRLq/skJ99FkS
 RaWre8HWeWeblGODQTB9xiTFK3XkDwli7NKyl5Vlhst+wgGjb9eOpioCJtnjyA3s
 IdWDYLQtMsYpXggNUx01w4Lbf4QI9FRxX+EfrxCC+1lShph79SM1x0RjyfjpWTXW
 trtqsQPf8foQw0wCMV8/tSq5KlWPxITe+3c43FbtPhrkgBDeolcXIHXkJErFWSxw
 gzLxvuezVVRPiddZ1UfX8ZI/YMeURRyHOisehzIA0hTS/ryyEYh4lXGa26qoqXdt
 zSNje8cJy74Z4G1dOxnUak+lBLvdKwHKuHHvy6aOAdyoqqNo7+MzhIpGMwF9FEVX
 pqMEDGwhPfgQIhvwBg1rdlBu4ACjeTQEiwi48YVreM+Kk45Tmxbxl81ItBKzXcdA
 nI8dbEQO2DGU3milmh1EceV7PFFrwZOb1Px9Y3y8rvftwpGFhOM=
 =pUrd
 -----END PGP SIGNATURE-----

Merge tag 'nuvoton-arm-6.16-devicetree' of https://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc into soc/dt

Nuvoton ARM devicetree updates for v6.16

- MMC, OHCI, UDC and EDAC blocks added to the NPCM7XX DTSI
- Fixes for GPIO hog names in the NPCM730 and RunBMC Olympus platforms

* tag 'nuvoton-arm-6.16-devicetree' of https://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc:
  ARM: dts: nuvoton: Add MMC Nodes
  ARM: dts: nuvoton: Add OHCI node
  ARM: dts: nuvoton: Add UDC nodes
  ARM: dts: nuvoton: Add EDAC node
  ARM: dts: nuvoton: Align GPIO hog name with bindings

Link: https://lore.kernel.org/r/CACPK8Xe=f_hNNWUGL670x4-OeKgDB+2P+mxp5BaTLW==T5jE_A@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 23:29:44 +02:00
Joel Stanley
e4f59f873c
ARM: aspeed: Don't select SRAM
The ASPEED devices have SRAM, but don't require it for basic function
(or any function; there's no known users of the driver).

Fixes: 8c2ed9bcfb ("arm: Add Aspeed machine")
Signed-off-by: Joel Stanley <joel@jms.id.au>
Link: https://patch.msgid.link/20250115103942.421429-1-joel@jms.id.au
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 23:07:08 +02:00
Andy Shevchenko
acda1d3a0e ARM: s3c: stop including gpio.h
The driver does not use legacy GPIO API, stop including this header.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20250331093650.4028999-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250513101023.21552-8-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 19:14:46 +02:00
Arnd Bergmann
709c8afa15 Amlogic ARM DT for v6.16:
- UART RX/TX pull-up pinconf properties for all SoCs
 - New Boards:
   - Meson8 TCU Fernsehfee 3.0
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmgjGgkACgkQd9zb2sjI
 SdH1zBAAjgDUyWG1UTpAHZ/3W+gW6SvKgEHhkYTaDLCIEcnSVrNha6mIfpK9UWyE
 0FWdcwj6tKkF0p+Ot2g5W2A+G/ZjWSNUTpsZbAEJGoxKOsl5/rrXSUp5bkZl/1sl
 iAlfKNMC6o+wUEQtVLlNON5yvPrh97EyF0xtUw7U3d47E01Xn7JTIS9VxTBYtnYB
 /wZupt4HoMtMU+sQmzL6z5nZXVdGAngbN+/tUFr6VsAIPhOMYEXc8obsCmkqtOTR
 bcXFVO9t/zcS64TPNyLu2Z3/D08mJMxWjtheKSfpyuCINdabOebkxAvgJ0l+ElAY
 OHZ5uQ7ZiLVaVSvYEQaTfewTpjPpZ4z9iPEChxHRteADT2f2+OEC0UFCsC+baphU
 n9fn9hsPiwqIEVn/Jl+/zx/rXhFDVKBHKGw0OZo3VkKeHjc4uB529+ShuBEqVlAr
 C7DVWgWYQP4PE0Fpt2e1BKJiiubuEBgThBZVjVfIarVSL6n5Y73fkcpVfe2B60vp
 ya1LE6tsM59QVRd/NX2GDRp3ZRYQwDVcIKGTOos8WsMwm0vTXfmTahsC5tT4xHce
 MEq5qDvOY0xspY0oQ4fJSaKI8EjxZrDdHtUUh8k9CsYla2mayYu+4Cyu8hB0ekeB
 tBPUkN4VGHNCFnYOsIZZoAbH+UZyemsGYs6B//GOF4MNsn+WuYU=
 =MyHJ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguCNsACgkQmmx57+YA
 GNkc6w/+K3xUODX7CMgeOKBfbJhIWCO2zQaa/OwGGoW7J2hDC/8e9vvr/OLQ3N9T
 TKb8/j86wi60pH1lLwW5oM1NdYG737t2+oM73egTDk29oQl2xxtnjLBGtzaBbzCX
 DKKmA6oYczrT3qPQll5Gwvb2bIGMOpEGRbti9S5P+gntdDna7ewnzqs2SHxctSOj
 JbdmW6MynUPFCPuZe2PVyRjpv/4Z2f9JbkGoc4xr2umLK+w1XwcQ6WtjN7PvotGd
 9Pn5J/I6udkx2l4jQK40MzY+BwsgvlXaUDzAO56phr6NEpfIStm52uUcdGO7Xvol
 OiUdW9y961YjMCDy7tdy2Tf95Eewt45G7h0624FKMZl/fIRJunP6CNI0DjoD7K3g
 lt6tCgRrznrkpn0qiQrZRnhutt9exRZMi1jpltmZqz4IKFoJ84olyrubMIuir05l
 J/XXu6XCs3ZL1Pl2+P4hgxjVBE3UlqP/reSeQPugxdXg0/HiWNQfLo1Le7p3C3sy
 WRObilgITUc/W2y6rSQuNf7jdjAlkszfnXb1tp/GBJp0C2Rc/8QXO/FHZqqkn0Il
 XLqY/muffv4PkqZcK3GYUI/UulPJ7il0DjRdMoe9K0mSHJ5+KR3N/VjdaG2yPJ/5
 Acjwwo0IHPZ4FTQ8hShw5rsNDstf/igUEKDh4iAKBslOSOEJNfY=
 =VPeq
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-arm-dt-for-v6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt

Amlogic ARM DT for v6.16:
- UART RX/TX pull-up pinconf properties for all SoCs
- New Boards:
  - Meson8 TCU Fernsehfee 3.0

* tag 'amlogic-arm-dt-for-v6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  ARM: dts: amlogic: meson8-fernsehfee3: Describe regulators
  ARM: dts: amlogic: Add TCU Fernsehfee 3.0
  dt-bindings: arm: amlogic: Add TCU Fernsehfee 3.0 board
  dt-bindings: vendor-prefixes: Add TC Unterhaltungselektronik AG
  ARM: dts: amlogic: meson8b: enable UART RX and TX pull up by default
  ARM: dts: amlogic: meson8: enable UART RX and TX pull up by default

Link: https://lore.kernel.org/r/838c5305-5c5b-4232-b7fe-86598dc50ace@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 19:09:47 +02:00
Krzysztof Kozlowski
87901f6940
ARM: dts: samsung: sp5v210-aries: Align wifi node name with bindings
Recently DT bindings expect 'wifi' as node name:

  s5pv210-fascinate4g.dtb: wlan@1: $nodename:0: 'wlan@1' does not match '^wifi(@.*)?$'

Link: https://lore.kernel.org/r/20250424084655.105011-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250513101023.21552-7-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 19:01:39 +02:00
Pali Rohár
46550e2b87 include: pe.h: Fix PE definitions
* Rename constants to their standard PE names:
  - MZ_MAGIC -> IMAGE_DOS_SIGNATURE
  - PE_MAGIC -> IMAGE_NT_SIGNATURE
  - PE_OPT_MAGIC_PE32_ROM -> IMAGE_ROM_OPTIONAL_HDR_MAGIC
  - PE_OPT_MAGIC_PE32 -> IMAGE_NT_OPTIONAL_HDR32_MAGIC
  - PE_OPT_MAGIC_PE32PLUS -> IMAGE_NT_OPTIONAL_HDR64_MAGIC
  - IMAGE_DLL_CHARACTERISTICS_NX_COMPAT -> IMAGE_DLLCHARACTERISTICS_NX_COMPAT

* Import constants and their description from readpe and file projects
  which contains current up-to-date information:
  - IMAGE_FILE_MACHINE_*
  - IMAGE_FILE_*
  - IMAGE_SUBSYSTEM_*
  - IMAGE_DLLCHARACTERISTICS_*
  - IMAGE_DLLCHARACTERISTICS_EX_*
  - IMAGE_DEBUG_TYPE_*

* Add missing IMAGE_SCN_* constants and update their incorrect description

* Fix incorrect value of IMAGE_SCN_MEM_PURGEABLE constant

* Add description for win32_version and loader_flags PE fields

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-05-21 16:46:37 +02:00
Dmitry Baryshkov
b2c547cffe ARM: dts: qcom: apq8064-ifc6410: drop HDMI HPD GPIO
There is no need to specify separate HPD gpio for the HDMI block. Use
built-in HPD in order to detect if the monitor is plugged or not.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250209-fd-hdmi-hpd-v4-16-6224568ed87f@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-05-17 17:32:35 -05:00
Jiri Slaby (SUSE)
4dcb0045a3 ARM: Switch to irq_domain_create_*()
irq_domain_add_*() interfaces are going away as being obsolete now.
Switch to the preferred irq_domain_create_*() ones. Those differ in the
node parameter: They take more generic struct fwnode_handle instead of
struct device_node. Therefore, of_fwnode_handle() is added around the
original parameter.

Note some of the users can likely use dev->fwnode directly instead of
indirect of_fwnode_handle(dev->of_node). But dev->fwnode is not
guaranteed to be set for all, so this has to be investigated on case to
case basis (by people who can actually test with the HW).

[ tglx: Fix up subject prefix ]

Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250319092951.37667-15-jirislaby@kernel.org
2025-05-16 21:06:08 +02:00
Mihai Sain
36e9e1ab59 ARM: dts: microchip: sama7g54_curiosity: Add fixed-partitions for spi-nor flash
Add fixed-partitions for spi-nor flash to match the at91 boot flow
and layout of the nand flash.
Partitions can be listed from /proc/mtd:

[root@sama7g54 ~]$ cat /proc/mtd | grep qspi
mtd6: 00040000 00001000 "qspi1: at91bootstrap"
mtd7: 00100000 00001000 "qspi1: u-boot"
mtd8: 00040000 00001000 "qspi1: u-boot env"
mtd9: 00080000 00001000 "qspi1: device tree"
mtd10: 00600000 00001000 "qspi1: kernel"

[root@sama7g54 ~]$ mtdinfo /dev/mtd10
mtd10
Name:                           qspi1: kernel
Type:                           nor
Eraseblock size:                4096 bytes, 4.0 KiB
Amount of eraseblocks:          1536 (6291456 bytes, 6.0 MiB)
Minimum input/output unit size: 1 byte
Sub-page size:                  1 byte
Character device major/minor:   90:20
Bad blocks are allowed:         false
Device is writable:             true

Signed-off-by: Mihai Sain <mihai.sain@microchip.com>
Link: https://lore.kernel.org/r/20250429064547.5807-1-mihai.sain@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-05-16 08:31:29 +03:00
Ryan Wanner
e634fd7166 ARM: dts: microchip: sama7d65: Add RTT timer to curiosity board
Add RTT timer with backup register for SAMA7D65_Curiosity board.

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Link: https://lore.kernel.org/r/463581224a07bf122c6907d34a0c5c71b1cc73e1.1744666011.git.Ryan.Wanner@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-05-16 08:31:29 +03:00
Ryan Wanner
4b3d951f28 ARM: dts: microchip: sama7d65: Add RTT and GPBR Support for sama7d65 SoC
Add RTT support for SAMA7D65 SoC. The GPBR is added so the SoC is able
to store the RTT time data.

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Link: https://lore.kernel.org/r/e8868ef06102241b47883ba10edaed751831be6d.1744666011.git.Ryan.Wanner@microchip.com
[claudiu.beznea: keep nodes sorted by their address]
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-05-16 08:31:29 +03:00
Ryan Wanner
f5b56abe58 ARM: dts: microchip: sama7d65: Add SRAM and DRAM components support
Add SRAM, secumod, UDDRC, and DDR3phy to enable support for low power modes.

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Link: https://lore.kernel.org/r/354ecd628fdd292d2125570a6b10a93cbecb7706.1744666011.git.Ryan.Wanner@microchip.com
[claudiu.beznea: keep nodes sorted by their address]
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-05-16 08:31:28 +03:00
Ryan Wanner
0bbc54da32 ARM: dts: microchip: sama7d65_curiosity: add EEPROM
If the MAC address is not fetched and loaded by U-boot then Linux will
have to load the address. The EEPROM and nvmem-layout to describe
EUI48 MAC address regions.

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Link: https://lore.kernel.org/r/96ee6832d9b55acfae8d3560f625798025dfd89c.1743523114.git.Ryan.Wanner@microchip.com
[claudiu.beznea: added nvmem properties in gmac0 node before the status
 one]
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-05-16 08:31:28 +03:00
Ryan Wanner
e65a13a290 ARM: dts: microchip: sama7d65: Add MCP16502 to sama7d65 curiosity
Add MCP16502 to the sama7d65_curiosity board to control voltages in the
MPU. The device is connected to twi 10 interface

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Link: https://lore.kernel.org/r/60f6b7764227bb42c74404e8ca1388477183b7b5.1743523114.git.Ryan.Wanner@microchip.com
[claudiu.beznea: drop regulator-suspend-voltage for ldo2 as it is not
 needed]
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-05-16 08:31:28 +03:00
Ryan Wanner
7116fb2f15 ARM: dts: microchip: sama7d65: Enable GMAC interface
Enable GMAC0 interface for sama7d65_curiosity board.

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Link: https://lore.kernel.org/r/fca0c1deb74006cdedbdd71061dec9dabf1e9b9a.1743523114.git.Ryan.Wanner@microchip.com
[claudiu.beznea: move gmac0 node to keep the nodes alphanumerically
 sorted, dropped status property on the PHY node, added missing blank
 line]
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-05-16 08:31:28 +03:00