Commit graph

1,323,830 commits

Author SHA1 Message Date
Colin Ian King
b615615e49 thermal/drivers/renesas: Remove trailing space after \n newline
There is a extraneous space after a newline in a dev_err message.
Remove it.

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Link: https://lore.kernel.org/r/20240901162719.144406-1-colin.i.king@gmail.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2024-09-02 13:11:07 +02:00
Yan Zhen
b779bbb9df thermal/drivers/brcmstb_thermal: Simplify with dev_err_probe()
dev_err_probe() is used to log an error message during the probe process
of a device.

It can simplify the error path and unify a message template.

Using this helper is totally fine even if err is known to never
be -EPROBE_DEFER.

The benefit compared to a normal dev_err() is the standardized format
of the error code, it being emitted symbolically and the fact that
the error code is returned which allows more compact error paths.

Signed-off-by: Yan Zhen <yanzhen@vivo.com>
Link: https://lore.kernel.org/r/20240830103918.501234-1-yanzhen@vivo.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2024-09-02 13:09:49 +02:00
Raphael Gallais-Pou
8e12f1f881 thermal/drivers/sti: Depend on THERMAL_OF subsystem
Switch to thermal_of_zone to handle thermal-zones. Replace
thermal_zone_device_register() by devm_thermal_of_zone_register() and
remove ops st_thermal_get_trip_type, st_thermal_get_trip_temp.

Signed-off-by: Raphael Gallais-Pou <rgallaispou@gmail.com>
Link: https://lore.kernel.org/r/20240716-thermal-v4-2-947b327e165c@gmail.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2024-09-02 12:43:27 +02:00
Raphael Gallais-Pou
27fec3cc9e thermal/drivers/st: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr()
Letting the compiler remove these functions when the kernel is built
without CONFIG_PM_SLEEP support is simpler and less error prone than the
use of #ifdef based kernel configuration guards.

Remove those guards on every ST thermal related drivers.

Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Raphael Gallais-Pou <rgallaispou@gmail.com>
Link: https://lore.kernel.org/r/20240716-thermal-v4-1-947b327e165c@gmail.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2024-09-02 12:43:20 +02:00
George Stark
77545bdfe4 dt-bindings: thermal: amlogic,thermal: add optional power-domains
On newer SoCs, the thermal hardware can require a power domain to
operate so add corresponding optional property.

Signed-off-by: George Stark <gnstark@salutedevices.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240710223214.2348418-3-gnstark@salutedevices.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2024-09-02 12:43:20 +02:00
Nicolin Chen
db184a1ced iommu/tegra241-cmdqv: Fix -Wformat-truncation warnings in lvcmdq_error_header
Kernel test robot reported a few trucation warnings at the snprintf:
drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c:
	In function ‘tegra241_vintf_free_lvcmdq’:
drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c:239:56:
	warning: ‘%u’ directive output may be truncated writing between 1 and
	5 bytes into a region of size between 3 and 11 [-Wformat-truncation=]
  239 |         snprintf(header, hlen, "VINTF%u: VCMDQ%u/LVCMDQ%u: ",
      |                                                        ^~
drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c:239:32: note: directive argument
	in the range [0, 65535]
  239 |         snprintf(header, hlen, "VINTF%u: VCMDQ%u/LVCMDQ%u: ",
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c:239:9: note: ‘snprintf’ output
	between 25 and 37 bytes into a destination of size 32
  239 |         snprintf(header, hlen, "VINTF%u: VCMDQ%u/LVCMDQ%u: ",
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                  vcmdq->vintf->idx, vcmdq->idx, vcmdq->lidx);

Fix by bumping up the size of the header to hold more characters.

Fixes: 918eb5c856 ("iommu/arm-smmu-v3: Add in-kernel support for NVIDIA Tegra241 (Grace) CMDQV")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202409020406.7ed5uojF-lkp@intel.com/
Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
Link: https://lore.kernel.org/r/20240902055745.629456-1-nicolinc@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-02 11:38:22 +01:00
Martyn Welch
e9482dc50a gpio: mpc8xxx: Add wake on GPIO support
The mpc8xxx GPIO can generate an interrupt on state change. This
interrupt can be used to wake up the device from its sleep state if
enabled to do so. Add required support to the driver so that the GPIO
can be used in this way.

In order for the GPIO to actually function in this way, it is necessary
to also set the GPIO bit in the RCPM. This can be done via the device
tree fsl,rcpm-wakeup property.

Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
Link: https://lore.kernel.org/r/20240820143328.1987442-1-martyn.welch@collabora.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:36:01 +02:00
Dhruva Gole
c10c762f76 gpio: syscon: fix excess struct member build warning
Fix the build warning with W=1 flag,
"Excess struct member 'compatible' description in 'syscon_gpio_data' "
by removing the documentation for the non existent member.

Signed-off-by: Dhruva Gole <d-gole@ti.com>
Link: https://lore.kernel.org/r/20240902-b4-gpio-fix-v1-1-49a997994fa5@ti.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:35:59 +02:00
Rong Qianfeng
ece70e7986 gpio: stp-xway: Simplify using devm_clk_get_enabled()
Use devm_clk_get_enabled() simplify xway_stp_probe().

Signed-off-by: Rong Qianfeng <rongqianfeng@vivo.com>
Link: https://lore.kernel.org/r/20240820121651.29706-2-rongqianfeng@vivo.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:31:48 +02:00
Andy Shevchenko
d25f9ab17d gpiolib: legacy: Consolidate devm_gpio_*() with other legacy APIs
There is no reason to keep deprecated legacy API implementations
in the gpiolib-devres.c. Consolidate devm_gpio_*() with other legacy
APIs. While at it, clean up header inclusion block in gpiolib-devres.c.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240828151357.2677340-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:36 +02:00
Andy Shevchenko
94bd9ce160 gpiolib: Update the kernel documentation - add Return sections
$ scripts/kernel-doc -v -none -Wall drivers/gpio/gpiolib* 2>&1 | grep -w warning | wc -l
67

Fix these by adding Return sections. While at it, make sure all of
Return sections use the same style.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240828164449.2777666-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:36 +02:00
Andy Shevchenko
1e3d42f508 gpio: ixp4xx: Replace of_node_to_fwnode() with more suitable API
of_node_to_fwnode() is a IRQ domain specific implementation of
of_fwnode_handle(). Replace the former with more suitable API.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20240822223332.705560-1-andy.shevchenko@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:36 +02:00
Andy Shevchenko
35ea26245e gpio: visconti: Replace of_node_to_fwnode() with more suitable API
of_node_to_fwnode() is a IRQ domain specific implementation of
of_fwnode_handle(). Replace the former with more suitable API.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20240822225818.707550-1-andy.shevchenko@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:36 +02:00
Andy Shevchenko
6d6395cd50 gpio: thunderx: Replace of_node_to_fwnode() with more suitable API
of_node_to_fwnode() is a IRQ domain specific implementation of
of_fwnode_handle(). Replace the former with more suitable API.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20240822225300.707178-1-andy.shevchenko@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:36 +02:00
Andy Shevchenko
5482f1a5c2 gpio: tegra186: Replace of_node_to_fwnode() with more suitable API
of_node_to_fwnode() is a IRQ domain specific implementation of
of_fwnode_handle(). Replace the former with more suitable API.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20240822224737.706870-1-andy.shevchenko@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:36 +02:00
Andy Shevchenko
9f12737342 gpio: uniphier: Replace of_node_to_fwnode() with more suitable API
of_node_to_fwnode() is a IRQ domain specific implementation of
of_fwnode_handle(). Replace the former with more suitable API.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20240822225629.707365-1-andy.shevchenko@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:36 +02:00
Andy Shevchenko
f5c4a495b1 gpio: msc313: Replace of_node_to_fwnode() with more suitable API
of_node_to_fwnode() is a IRQ domain specific implementation of
of_fwnode_handle(). Replace the former with more suitable API.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20240822224130.706564-1-andy.shevchenko@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:36 +02:00
Andy Shevchenko
c1e4e5dc9b gpio: tegra: Replace of_node_to_fwnode() with more suitable API
of_node_to_fwnode() is a IRQ domain specific implementation of
of_fwnode_handle(). Replace the former with more suitable API.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20240822223845.706346-1-andy.shevchenko@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:36 +02:00
Hongbo Li
30a32e9311 gpio: Use IS_ERR_OR_NULL() helper function
Use the IS_ERR_OR_NULL() helper instead of open-coding a
NULL and an error pointer checks to simplify the code and
improve readability.

No functional changes are intended.

Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
Link: https://lore.kernel.org/r/20240828122039.3697037-1-lihongbo22@huawei.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:35 +02:00
zhangjiao
931a36c413 tools: gpio: rm .*.cmd on make clean
rm .*.cmd when calling make clean

Signed-off-by: zhangjiao <zhangjiao2@cmss.chinamobile.com>
Link: https://lore.kernel.org/r/20240829062942.11487-1-zhangjiao2@cmss.chinamobile.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:35 +02:00
Krzysztof Kozlowski
a0c479bfff dt-bindings: gpio: simplify GPIO hog nodes schema
The core schema in dtschema already strictly defines contents of nodes
with "gpio-hog" property (with additionalProperties: false), thus the
only thing device schema should do is: define "type: object" and
required "gpio-hog".  Make the code a bit simpler by removing redundant
parts.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240828-dt-bindings-gpio-hog-v1-3-63b83e47d804@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:29 +02:00
Krzysztof Kozlowski
0cbda0499a dt-bindings: gpio: fcs,fxl6408: add missing type to GPIO hogs
GPIO hog nodes should define type, otherwise "dummy-hog" boolean
properties would be allowed.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20240828-dt-bindings-gpio-hog-v1-1-63b83e47d804@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 12:27:24 +02:00
Andy Shevchenko
f999995361 drm/i915/fence: Mark debug_fence_free() with __maybe_unused
When debug_fence_free() is unused
(CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS=n), it prevents kernel builds
with clang, `make W=1` and CONFIG_WERROR=y:

.../i915_sw_fence.c:118:20: error: unused function 'debug_fence_free' [-Werror,-Wunused-function]
  118 | static inline void debug_fence_free(struct i915_sw_fence *fence)
      |                    ^~~~~~~~~~~~~~~~

Fix this by marking debug_fence_free() with __maybe_unused.

See also commit 6863f5643d ("kbuild: allow Clang to find unused static
inline functions for W=1 build").

Fixes: fc1584059d ("drm/i915: Integrate i915_sw_fence with debugobjects")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240829155950.1141978-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
(cherry picked from commit 8be4dce5ea)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2024-09-02 13:25:31 +03:00
Andy Shevchenko
fcd9e8afd5 drm/i915/fence: Mark debug_fence_init_onstack() with __maybe_unused
When debug_fence_init_onstack() is unused (CONFIG_DRM_I915_SELFTEST=n),
it prevents kernel builds with clang, `make W=1` and CONFIG_WERROR=y:

.../i915_sw_fence.c:97:20: error: unused function 'debug_fence_init_onstack' [-Werror,-Wunused-function]
   97 | static inline void debug_fence_init_onstack(struct i915_sw_fence *fence)
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~

Fix this by marking debug_fence_init_onstack() with __maybe_unused.

See also commit 6863f5643d ("kbuild: allow Clang to find unused static
inline functions for W=1 build").

Fixes: 214707fc2c ("drm/i915/selftests: Wrap a timer into a i915_sw_fence")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240829155950.1141978-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
(cherry picked from commit 5bf472058f)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2024-09-02 13:25:27 +03:00
Ville Syrjälä
e870563243 drm/i915: Fix readout degamma_lut mismatch on ilk/snb
On ilk/snb the pipe may be configured to place the LUT before or
after the CSC depending on various factors, but as there is only
one LUT (no split mode like on IVB+) we only advertise a gamma_lut
and no degamma_lut in the uapi to avoid confusing userspace.

This can cause a problem during readout if the VBIOS/GOP enabled
the LUT in the pre CSC configuration. The current code blindly
assigns the results of the readout to the degamma_lut, which will
cause a failure during the next atomic_check() as we aren't expecting
anything to be in degamma_lut since it's not visible to userspace.

Fix the problem by assigning whatever LUT we read out from the
hardware into gamma_lut.

Cc: stable@vger.kernel.org
Fixes: d2559299d3 ("drm/i915: Make ilk_read_luts() capable of degamma readout")
Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11608
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240710124137.16773-1-ville.syrjala@linux.intel.com
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
(cherry picked from commit 33eca84db6)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2024-09-02 13:25:18 +03:00
Daniele Ceraolo Spurio
59d3cfdd7f drm/i915: Do not attempt to load the GSC multiple times
If the GSC FW fails to load the GSC HW hangs permanently; the only ways
to recover it are FLR or D3cold entry, with the former only being
supported on driver unload and the latter only on DGFX, for which we
don't need to load the GSC. Therefore, if GSC fails to load there is no
need to try again because the HW is stuck in the error state and the
submission to load the FW would just hang the GSCCS.

Note that, due to wa_14015076503, on MTL the GuC escalates all GSCCS
hangs to full GT resets, which would trigger a new attempt to load the
GSC FW in the post-reset HW re-init; this issue is also fixed by not
attempting to load the GSC FW after an error.

Fixes: 15bd4a67e9 ("drm/i915/gsc: GSC firmware loading")
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: <stable@vger.kernel.org> # v6.3+
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240820215952.2290807-1-daniele.ceraolospurio@intel.com
(cherry picked from commit 03ded4d432)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2024-09-02 13:25:13 +03:00
Arnd Bergmann
ec62e2e825 firmware: tegra: Changes for v6.12-rc1
The changes in this set remove some unused code and simplify error paths
 using scoped helpers.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmbR0NUACgkQ3SOs138+
 s6Evng/+K0MSYAKl6BlO2jVBReatt23DNPimrV6MNEUmjSvBvR7CLgyTvRqZpXCG
 NGhcvzlRkSKhxy+jy1dvzrhmL2DGoryENdjD08dU7GxGYesoM4wRO73P36Youyvp
 1FXrZ0cWc9VdhHCLUiTSQfhGM5epkRi4DGVZ7pb/dUeEcVBPDhSa/Ou1TlEI3or2
 vzmKVREaqvDDX0SQCWFwpwF8+FoRAz96Bg6tCUyPFAjsD9fPNUB8jPgMokSy/x8c
 XJLd48iweQlZZVVKWysbPzL26A340iT/WpXL09D5NhnG0ucuLhSM5q9PEqNlRH0h
 tIJq6gKI4oO1EDq2NxHtGkAvbJZt9DZ3CTRqAKQ29MKzLNZGNrG/MP0EeqSuM5T/
 000T/ff8eU5YlIl2DY0znW2kt6Fes5tR9zbn+BHNm5cXW/xJgso/mncPEc6V4wDg
 lntV1TpSaY1qtJjlH03rTpL8gJb4inkdhf6kv2LENlTiapT/P+K34rwg0xJz+Mbg
 jiW8/QIMji44EF8E3PZmt9mqgr0CK7mMWGhk/GcmTDDnm0Zc95ZBhq8dcQkJj3D1
 A3maDFvSC/ryDc/25XMlsbXY7ZWa+s8u5eysVwToqdQpJ1im0M/iAT3du6a1GY02
 xZiJzQMbC0GVmvCQdN2jRP+GjYUH5L6eIujPFKC5v/RqWQ1/oHU=
 =pomi
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbVkhoACgkQYKtH/8kJ
 Uif6bRAAlcEY2OiiJ0Jn4gmFHzGX0est8Tt3jil5t9/khbMEWMecpIOwXRjuvrqU
 3zVfPlOGnZv7CwsKrzsL/DakQitNmFjgffvbcBVj/1yJKhaGlXNYILhc/t3WSMkk
 RwSh9s5K0v2jXwMN1zHWtko/RVZuBhEm+dmiBhY49MHpLBTg7lHPd0533efmfQIz
 0xVkR6LN492IRftrON9Q5fSw0ImrmfU6i8Rn9xSoTlewW7bRNdgw1aZi87yNvRdq
 bKE5gt0dKbk/UZMwozHBEA3ZylaRzKdxxCuvtyNpCYfHwOlO7PCOG6eQVxvhckcw
 XK99Ir5Opvfj040kgNIuUmd2cdyyXYt3BJ4l8fo93GZcoNlNIWkNRdgE07g+4SQZ
 GeO4UNBQz3tgFZ8yUKt3atf5W9snu+c6O5SE8it/aXkR3/gAZ58Out2UYOgDDgA0
 fFpngQKilDPYx+v3fy9y0XJDvIhDOY6JFvp9+KrYA5rJ6097TjTlywWyyCLvW4bK
 wKQ15cWuPdVgKXlxknQPUaIhKWhQx2PzEFpwXm+tYFv5Tj7s7XgpDWsUx12V1wzZ
 Ntp8iVoULdkqGxcV7FaU6abGy3cQV7Vzpe08GNvyPiOYltj4KlhYtF8n+YMwMZsl
 /hvOh7GZXcViRaTLfL9ApdW7+yg/1TvxDLEHvNIbcmjdKKoYxdU=
 =aNb0
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.12-firmware' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

firmware: tegra: Changes for v6.12-rc1

The changes in this set remove some unused code and simplify error paths
using scoped helpers.

* tag 'tegra-for-6.12-firmware' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  firmware: tegra: bpmp: Use scoped device node handling to simplify error paths
  firmware: tegra: bpmp: Drop unused mbox_client_to_bpmp()

Link: https://lore.kernel.org/r/20240830141004.3195210-2-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-02 10:23:22 +00:00
Arnd Bergmann
e99769bf7a soc/tegra: Changes for v6.12-rc1
This is a single patch that simplifies code a little by employing the
 new scoped OF helpers.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmbR0JYACgkQ3SOs138+
 s6EA/A/8Dl0CPn7xL0Ud3onZqptXt5pKW7RWT4nNPIReNpzQ/1llTx626ZadfHtj
 HqCVPIDaP3+cHiLt/du9u+BxZezx+GUtL12eICVAWMhmX1raueZsrYrB2QohNnOT
 jW7AcvaG1Z6BKWHR01iaZsU3hrDCbVzjgJltLDsiLfVUOfpUoe52dv5Xv13jwspK
 U4Uf7kfR0zsPy9afmA+eXLRjyYSe68+3BFb/fh0RxdI/uHKvyDk+G3VliZc70EjZ
 Y/Nx4eZjmhOeHACZYiz37xYatu0lyjXajInYZVE1oYsd38gIueXVtxTA43OXnF5h
 DS6McDxPPGbxxdvoq5xVq9mhc2Ys+1QXeiQBb4Xo0pmG/1Frmg6CU4ud5dL1tHOR
 3Zg5aGCOAN+AEasMMJwu2/BebkzTqTo80Xbm+K1bUDiFtMkju3WNCQqgPegxFDtt
 xzRIreAH1hE7kj0iSZsJuoQYDa4qCWGQ9YZtG1FsJKflsQijS58WOh4wZh2G1ex6
 ar/awTUV3kO0H7HntYqosXDaKzG8FjHivdAe1raDRGDagIG/84ahbmFqGn0eHyIW
 X6Bf32apLcR+ERA0yGMNq8fngltbWKhma9xaRKppdHnDaQsvqZIPyYsSxVr6j0Xr
 TzCaOYUTmamUFJov4sGPOClIb+Ew0xeAhz1KKNJeHcJNX4h8ni0=
 =oeVs
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbVkdwACgkQYKtH/8kJ
 UifxWg/9Hb59ZiGcIAnH+UTGgiXpxszBkp0JOTo54BxKfFJC6Cbhw3sJf6PeUZbz
 6803b40BlTvYb/C+XFCMeBJEuVgjuUw/jCU17Nn51Xw/qKsH+HrOJdUqeAf/7MYk
 Ce/7e2QtYF+SbWaXFohQtpM95/j4B4AiyPMFF7cshxcr9PofYvs0WmT1nhd06qwo
 wPEya+eeghrRV9ajlo4t4gV049Y9174QRfs3vWFli8HsJv76T6Ex/KUtDTQOQPoV
 RBNDhjXauk6PP8la/NDxZbS2apJlHPbnOD2F3g3QOuf40aYcuXOYBAi+Q7vWw2gr
 oJxwF0DtHIrlFWpfKzJVT0NMxWdKcb/WMl6iU+KpnWedQJpHbiSEUJbg6YxSGaTJ
 1JHaW/R+Im6kbKB3S6mkbsFbP70qW8JqSqxbgh01vLFwgUgFlHfqXkwM2ESH/qZ5
 f4BCDp3MDNX17hH4NQ+FQV+V2s9DaASLH9S3g8lS5+SNabT/2jPyU7YnwgFtbp3h
 Ik8Lp6X2tNp75iTlS9j9b5Vil6VfwfPmt8acRXVwNIs001t2CpgLEVR5oGdMzfq4
 x7CQf5bTxRWIBkUdeJO7ubAxxes7yL6vq14zOlukBWxmwcQTLppOHdoW3c44k8Vs
 cLXe9DYyfa/HXnAGnfOxj2wOlKsToNlxOuitenwjso9Bm+aKalU=
 =Fjd+
 -----END PGP SIGNATURE-----

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

soc/tegra: Changes for v6.12-rc1

This is a single patch that simplifies code a little by employing the
new scoped OF helpers.

* tag 'tegra-for-6.12-soc' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: pmc: Simplify with scoped for each OF child loop

Link: https://lore.kernel.org/r/20240830141004.3195210-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-02 10:22:20 +00:00
Arnd Bergmann
cdcf626314 Arm SCMI updates for v6.12
Few main features include:
 
 1. SCMI transport as stand-alone drivers
 
     Currently the SCMI transport layer is being built embedded into in
     the core SCMI stack. Some of these transports, despite being currently
     part of the main SCMI module, are indeed also registered with different
     subsystems like optee or virtio, and actively probed also by those.
     This leads to a few awkward and convoluted tricks to properly handle
     such interactions at boot time in the SCMI stack.
 
     This change adds the new logic to the core SCMI stack so that each
     existing transport is transitioned to be a standi-alone driver. With
     that all the probe deferral and awkward retries between the SCMI
     core stack and the transports has been removed, since no more needed.
 
 2. Support for obtaining transport descriptors from the devicetree
 
     SCMI platform firmwares might have different designs depending on
     the platform. Some of the transport descriptors rely on such design.
     E.g. the maximum receive channel timeout value might vary depending
     on the specific underlying hardware and firmware design choices.
 
     This change adds support for max-rx-timeout-ms property to describe
     the transport needs of a specific platform design. It will be extended
     in the future to obtain other such hardware/firmware dependent
     transport related descriptors.
 
 3. NXP i.MX95 specific SCMI vendor protocol extensions
 
     SCMI specification allows vendor or platform-specific extensions to
     the interface. NXP i.MX95 System Manager(SM) that implements SCMI
     extends the interface to implement couple of vendor/platform specific
     protocol, namely:
     a. Battery Backed Module(BBM) Protocol
 
        This protocol is intended provide access to the battery-backed
        module. This contains persistent storage (GPR), an RTC, and the
        ON/OFF button. The protocol can also provide access to similar
        functions implemented via external board components.
 
     b. MISC Protocol for misc settings
 
         This includes controls that are misc settings/actions that must
 	be exposed from the SM to agents. They are device specific and
 	are usually define to access bit fields in various mix block
 	control modules, IOMUX_GPR, and other GPR/CSR owned by the SM.
 
 4. SCMI debug/tracking metrics
 
     Since SCMI involves interaction with the entity(software, firmware
     and/or hardware) providing services or features, it is quite useful
     to track certain metrics(for pure debugging purposes) like how many
     messages were sent or received, were there any failures, what kind
     of failures, ..etc. This feature adds support for the same via debugfs.
 
 Apart from these main features, there are some miscellaneous updates, fixes
 and cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmbRy5cACgkQAEG6vDF+
 4pimmRAAy+JMVqmgw33e9zvQ6mXsncTO2YXWYVgM3g+IypwpIwdPryUt9NA9xR8w
 BHc0hlsCVsLmww4epb5fnztqN7YmvP5NUQhe4ZNRE72Bak5fidThdsNhCOBtlt25
 WwK0447UglHU/aF8VT2ufRhnMYIJDixazsvz0vp7wJpIPbfuS7r2WZXzw8fBXizH
 oXiYZLsgcv2WAKY5Q9DQhfYzosYhp9BPNYSV2luyYPZNPUbal2WNoAp1tLOQaLNY
 a+vtgOiyZPvltFewWVTNk2q6EhSyuiA/qHlM2Lp3aVuscA+h7Wa+RjHFN1YQHw/b
 +hNmljDyUGDBsbNLR9EdmV2dutsLE3Sk0/4H5V+sXEuB+q2gaOUVfpsDW52o7LLW
 s6DCDX47/9t+7y0uaApQnzUlskJonEBGq1Qm1siNiCpRR6SbABjcXFl654Tu61dr
 bv31uEOjxYzqQXXsYdQvAIDAg1VSlUcyr4ITHMifj9mBZrQMvrizjlbpRGSOQsJv
 NNIxPcvEsCq07tHvD0sQqaNLZN/5VEVCqdNqGBDBsLCPDVKIqc2DxK2udUt8exVE
 WCHLJb+DT1Gd6eQ00KQKx8umJeXPLehtBCvBdlDTHPKZWrFenQFPkKZsnqeNuneS
 IDIdyfbWrMgalwzDTgOZWxDcydkxXKNhpn7k2x/BzWGGhwtfHSI=
 =fUHS
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbVkXIACgkQYKtH/8kJ
 UicZlA//eDFRRTxL5MOHhVY5hpn8Sn0a59Wz0S1x+xy5WnGxxh6EMnyLGr8vxmGp
 FREvraghX0/ftPIvDMRD2WgR93R96Q0d10tmLf9Es7iG9WskXqNsWBkTijCdvst4
 1iEC/wSu8ab2HGhtoUIM1Wt9R+RlkS7UE0TPRzchGQTM9FdytVv9qECtX9JGi7Wn
 CvCgcFGifKyOzigm3a4kf3FPtB8Y/ggPLOoDyIHOlM8lrdGmDh5PXuzbeKMxwSt1
 YBZS4T5QaWvwaT8ZOraAMYjNN+PmiL587JbY9L+H+VwPV5VpoxlNmNo3wjkAb1q/
 hg4huRJlN7BvN1wTQtsnDpzt4VgnIDOh+RXJ/ulUKSGLQ3TosV88FFIGfAO+KTBP
 PaQI4taxcyhsnhl4ab040jumfUbeK8DHwCc1P/HsejYy6H9bmjwFV8WCbSZTNH6g
 if6fcGRYIzw8MzeqtTH1qjLwhqYt/iXUahHzzONWzskvzR/kPV1x/mSPQNVcJ51e
 rL6D485CjZh85pY7Pvn4+Ylur9uIe9wealipfSFzWlAgo57sTY6xrilO20UHnR6t
 n+202dPG8TAoDrpomLsF04rbuV4uhv0gWhtIyCzaJHYfgCUgAQvzniR2T6IaOTM3
 ks/SZ0j+sv65/KJd8rO1tZHwgEVwmDElRzO9CPF3pQxMrzKG5iw=
 =28qZ
 -----END PGP SIGNATURE-----

Merge tag 'scmi-updates-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm SCMI updates for v6.12

Few main features include:

1. SCMI transport as stand-alone drivers

    Currently the SCMI transport layer is being built embedded into in
    the core SCMI stack. Some of these transports, despite being currently
    part of the main SCMI module, are indeed also registered with different
    subsystems like optee or virtio, and actively probed also by those.
    This leads to a few awkward and convoluted tricks to properly handle
    such interactions at boot time in the SCMI stack.

    This change adds the new logic to the core SCMI stack so that each
    existing transport is transitioned to be a standi-alone driver. With
    that all the probe deferral and awkward retries between the SCMI
    core stack and the transports has been removed, since no more needed.

2. Support for obtaining transport descriptors from the devicetree

    SCMI platform firmwares might have different designs depending on
    the platform. Some of the transport descriptors rely on such design.
    E.g. the maximum receive channel timeout value might vary depending
    on the specific underlying hardware and firmware design choices.

    This change adds support for max-rx-timeout-ms property to describe
    the transport needs of a specific platform design. It will be extended
    in the future to obtain other such hardware/firmware dependent
    transport related descriptors.

3. NXP i.MX95 specific SCMI vendor protocol extensions

    SCMI specification allows vendor or platform-specific extensions to
    the interface. NXP i.MX95 System Manager(SM) that implements SCMI
    extends the interface to implement couple of vendor/platform specific
    protocol, namely:
    a. Battery Backed Module(BBM) Protocol

       This protocol is intended provide access to the battery-backed
       module. This contains persistent storage (GPR), an RTC, and the
       ON/OFF button. The protocol can also provide access to similar
       functions implemented via external board components.

    b. MISC Protocol for misc settings

        This includes controls that are misc settings/actions that must
	be exposed from the SM to agents. They are device specific and
	are usually define to access bit fields in various mix block
	control modules, IOMUX_GPR, and other GPR/CSR owned by the SM.

4. SCMI debug/tracking metrics

    Since SCMI involves interaction with the entity(software, firmware
    and/or hardware) providing services or features, it is quite useful
    to track certain metrics(for pure debugging purposes) like how many
    messages were sent or received, were there any failures, what kind
    of failures, ..etc. This feature adds support for the same via debugfs.

Apart from these main features, there are some miscellaneous updates, fixes
and cleanups.

* tag 'scmi-updates-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: (31 commits)
  rtc: support i.MX95 BBM RTC
  input: keyboard: support i.MX95 BBM module
  firmware: imx: Add i.MX95 MISC driver
  firmware: arm_scmi: Add initial support for i.MX MISC protocol
  firmware: arm_scmi: Add initial support for i.MX BBM protocol
  firmware: arm_scmi: Add NXP i.MX95 SCMI documentation
  dt-bindings: firmware: Add i.MX95 SCMI Extension protocol
  firmware: arm_scmi: Replace comma with the semicolon
  firmware: arm_scmi: Replace the use of of_node_put() to __free(device_node)
  firmware: arm_scmi: Fix trivial whitespace/coding style issues
  firmware: arm_scmi: Use max-rx-timeout-ms from devicetree
  dt-bindings: firmware: arm,scmi: Introduce property max-rx-timeout-ms
  firmware: arm_scmi: Remove const from transport descriptors
  firmware: arm_scmi: Simplify with scoped for each OF child loop
  firmware: arm_scmi: Update various protocols versions
  firmware: arm_scmi: Remove legacy transport-layer code
  firmware: arm_scmi: Make VirtIO transport a standalone driver
  firmware: arm_scmi: Make OPTEE transport a standalone driver
  firmware: arm_scmi: Make SMC transport a standalone driver
  firmware: arm_scmi: Make MBOX transport a standalone driver
  ...

Link: https://lore.kernel.org/r/20240830135918.2383664-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-02 10:20:34 +00:00
Arnd Bergmann
74f19eb2ff Arm FF-A updates for v6.12
The main addition this time is the basic support for FF-A v1.2
 specification which includes support for newly added:
 1. FFA_MSG_SEND_DIRECT_{REQ,RESP}2
 2. FFA_PARTITION_INFO_GET_REGS
 3. FFA_YIELD support in direct messaging
 
 Apart from these, the changes include support to fetch the Rx/Tx buffer
 size using FFA_FEATURES, addition of the FF-A FIDs for v1.2 and some
 coding style cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmbRpoMACgkQAEG6vDF+
 4phihQ/9ES+9WgORUITCUd1qW+RtazSY0BjsL7Cji44IOHUzRacAluI3ITbd6N0b
 rTjVAMXc3j2Fu++HItKaXWUdhp+ZaKwSK07YUrU/czYHoq9Xf6uuauK/8omZZX5D
 JreqvIZfV+qZ30uIMu/U4tClT0rNHMkwOd+DypRhXg0iZC+qCZA7fXMiHt9CcA/U
 OfKLywsiv81m6Hb/BqQ+KVFZM9HIc/5Dpmdts9PB9wzZXMnE7WdOwKgGLtqKjhrC
 fr1ZW+7KzXX5+mPYH530ySwveL+3vNedIJYD0IHvP8HRj5N3VtLdPGHMcrcROeLQ
 +G+OtnTSZ1iS15/U77+drGW33fjMIzjMlLE4qCLZhnuqBAdV86YOPL/UtjokPEf6
 5jNZ4C2famsNtMgETeyrAvBLbzRdDgYe9YwhG6UmMAgllakSV/bUHDaCBeAaBJ6L
 zy+p0ORYLMIhUFikVZnos5siu2HOLnYdfvUcF2Npr8ri9g+M5usT2Mxar8o+UK3w
 xVzMcxVcSVg+ah3B8d2k8cms+d7rov3ZtxWNjDSJ8GMTyNMINnN2jyXQ4nMT8Oe7
 sY54+1h1EXhXMGs/hxb9svAe1XEB7Y6ZP7YK/gLyy3e/BOXkcq4n8aVYDenhnmPB
 4x6Fv+F3RdORRDoMi2TRmYwrzjAjD+ReoO8hya0MZq/hLhNpD3o=
 =BpAd
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbVkQcACgkQYKtH/8kJ
 Uie7LxAAoOfhZZQVy7z9fCQa9562H7tCZPCk1hHzw/EgDJLU/9OB+x5QiKoqywFf
 4JIAzyJZrWjr+s4zOKYb5szuUCLMYjIvgZqVGu7z9pjcHgWr5fTK180Jhi5K4oXW
 lYSBKhjhIdVl1oCdF6WD9uNp3tta85CCOiDcMEi6Flm3+d0WZUO8baZbu2xL0os8
 zPvM106bTPU/Afuh/Jd4w1TEta7MKbTW19Rm85F6m7y4DRR+V/FOVGCllwtKwgyH
 qfRpkLZQG3jdUOyFNfXcwK/N7t6RRNOio0XycGkDNOa73C6KKF7kgWppHqItyaNy
 x1PPsPJbba0kUwz9jzMPS8SXNm83tUIB/q0BGuIq22ucLHSq6Vbpw/vFxrYnVR65
 bAIGjU6SyZ2gyqTnnd5o95P2eayIS2hFWZ6TjqzlYN27scMVoYPvRJMdS4ruuJvM
 8Oin5/3AenbD8F6gtMy6SRejLlKJBscSfbpm/Ksxt51NHi4WLOJqFWQnjE2l/Yrv
 i3aCCuH/+9eLmJHtGzJpQLjN0bo5rq9OPaeGa3v4rJYnw58s6PK6zAyaF6CXspDn
 w7Ta5dz5Ldk3D/mcoClfym/joFcA0BApZLxP9Oi7qkLHpc5QTf/BD+1KWUB9CvmX
 KAEknA5nw+s6p/zL32p1pFH9GoRJLRUV9+jnXRFWS5N5F/0Whok=
 =/d2i
 -----END PGP SIGNATURE-----

Merge tag 'ffa-updates-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm FF-A updates for v6.12

The main addition this time is the basic support for FF-A v1.2
specification which includes support for newly added:
1. FFA_MSG_SEND_DIRECT_{REQ,RESP}2
2. FFA_PARTITION_INFO_GET_REGS
3. FFA_YIELD support in direct messaging

Apart from these, the changes include support to fetch the Rx/Tx buffer
size using FFA_FEATURES, addition of the FF-A FIDs for v1.2 and some
coding style cleanups.

* tag 'ffa-updates-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_ffa: Fetch the Rx/Tx buffer size using ffa_features()
  firmware: arm_ffa: Add support for FFA_YIELD in direct messaging
  firmware: arm_ffa: Add support for FFA_MSG_SEND_DIRECT_{REQ,RESP}2
  firmware: arm_ffa: Add support for FFA_PARTITION_INFO_GET_REGS
  firmware: arm_ffa: Move the function ffa_features() earlier
  firmware: arm_ffa: Update the FF-A command list with v1.2 additions
  firmware: arm_ffa: Some coding style fixes

Link: https://lore.kernel.org/r/20240830135759.2383431-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-02 10:18:47 +00:00
Arnd Bergmann
ef5651a4a0 Some long due cleanups and modernizations of the Versatile
SoC drivers from Krzysztof:
 
 - Put OF handle
 - Use devres to avoid memory leaks
 - Enable compile testing
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmbRzGsACgkQQRCzN7AZ
 XXMVOg//StcurySV+cz7OpeqCrVvk3qZfu1rFR7o+U1yc8e9ZWLuJgE5Ah/ZmQo5
 hx8cHLO2yo1NkhNjCYcJ7diZvnq2mRsjRU+R8Hw3Ae7iN/BjDml3qGc0Xmkk3i+y
 G1I8o2z4oKhMW7ZutUQQGKCcazWH/E4SW7GBJu+jbytzQ5gue/tope54ifN08kYF
 ZOkxUdwXVmzxqMRj3WzHM+M3Execk/PQKEF0E1ihonfa1dAW6PRhZORjvC5ZO+r5
 JQCyUbUokD5vW9DyuqB6TgHhrUlA8wevG4V62bEXIc+a9SmHdmcXYc8gvrLtvDW0
 mvIfLhL38R2C/QbKCf46GzVHUt+TefvHduC8pB/ilvP9QPqk/FsJon/CocGii21b
 QEHRHmo9IxWiwTxu6n15e3rtPaubCLyZDwdXgmFpdb7/jT/QHh/DrBvo/L/Q5837
 oKbzbC3sum+VSWWPyjltzKHG+jyTzMYzYYWAKnl5gTIl0cS+GnKQRM7c2LXJUwf7
 1Hec1oalbLIvSlGblyAZlj+TlInG7T9SPVRejUaRQQuuvkjuh9boD27C0SHJmA+g
 oEsUeQMe6cm9rUTjeYTz0hififzy32jEth0SBDxT/ES80C/XRErBMCjdbHbQ8gBn
 IldZDCbAUX3vQ9LZi3mramPnDee1WRSXvzROfmeFTrzUzbIY6OA=
 =LG/2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbVkMcACgkQYKtH/8kJ
 UicwUg//dVujh6bjjb1DpY4XdZyHBPbp0ab9drj6ld78Yqk7xSRKteGT7w4pBMA3
 3Up1r2gDDbCtZVfkVkKMAkrFIYUJe3rwSoiEcU+rH2ZNvwV1Bv+kNrKwxpHJaK6C
 1PhuIIT4aX/Oz3bcuwFMxQ9bN1JCGIe7TlgrA/t7M4ykSPQtYU1aZY1gBg5uba0A
 tgBO2Fs2E3m5h4xyihjHrfaGsJkIidXPQdEzsqqjoB0dFTpMYzFs0LcoplfSdSF9
 AqGtwUVJHzqgrrFCy9SArtzUBAkg4M4xUe+3+WYgpq5nZ23coCVjliPU2bcatMRQ
 xLopfCeaalvXDeKyu0TpU4o/IG5a8ZJcYW83AjGs5xG1GPFqHZhgB6YIDsSx2qLo
 lfzfeSwNfaQ865W2G9caam7RY9ziSuhWtbcIrlpa9KYKoTZcIHNy30BsJaF3pgUZ
 wz57jd8+5PGsXc607YjYmv/2TEdj6apKK3GP1nAHjD3qbOmtldZ4t+m50pi0Vga3
 G9pQW17dl4/rx4H/x91JqqzZhUUbXq4qgyC8MrObOVdO//wbFDW8/jvWP8LQfiXi
 aVpfJd3tkIwn2yS2CGDl+ZQFLnmB8koKFh1OASvvQEJzSXl8SYkYTjAchpD2HK1U
 JoFIcwB7x2OsNWnZ8RMCvnOUJ7SuHszsRZkV+s8LF+3iziHg1S4=
 =/uxG
 -----END PGP SIGNATURE-----

Merge tag 'versatile-soc-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into soc/drivers

Some long due cleanups and modernizations of the Versatile
SoC drivers from Krzysztof:

- Put OF handle
- Use devres to avoid memory leaks
- Enable compile testing

* tag 'versatile-soc-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  soc: versatile: enable compile testing
  soc: versatile: realview: fix soc_dev leak during device remove
  soc: versatile: realview: fix memory leak during device remove
  soc: versatile: integrator: fix OF node leak in probe() error path

Link: https://lore.kernel.org/r/CACRpkda244rFHnnXPDPOhmKiJsRP08tNCcfFzpH5zR2cx1DFpw@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-02 10:17:43 +00:00
Théo Lebrun
487b1b32e3 reset: eyeq: add platform driver
Add Mobileye EyeQ reset controller driver, for EyeQ5, EyeQ6L and EyeQ6H
SoCs. Instances belong to a shared register region called OLB and gets
spawned as auxiliary device to the platform driver for clock.

There is one OLB instance for EyeQ5 and EyeQ6L. There are seven OLB
instances on EyeQ6H; three have a reset controller embedded:
 - West and east get handled by the same compatible.
 - Acc (accelerator) is another one.

Each instance vary in the number and types of reset domains.
Instances with single domain expect a single cell, others two.

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Link: https://lore.kernel.org/r/20240730-mbly-reset-v2-2-00b870a6a2ff@bootlin.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2024-09-02 12:12:41 +02:00
Théo Lebrun
ce50a775bd Revert "dt-bindings: reset: mobileye,eyeq5-reset: add bindings"
Switch from one sub-node per functionality in the system-controller to a
single node representing the entire OLB instance. This is the
recommended approach for controllers handling many different
functionalities; it is a single controller and should be represented by
a single devicetree node.

The reset bindings is removed and all properties will be described by:
soc/mobileye/mobileye,eyeq5-olb.yaml

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20240730-mbly-reset-v2-1-00b870a6a2ff@bootlin.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2024-09-02 12:12:05 +02:00
Zelong Dong
b062ef2907 reset: reset-meson: Add support for Amlogic T7 SoC reset controller
There are 7 sets of Reset Source in Amlogic T7 SoC reset controller,
and the offset between base and level registers is 0x40.
Add a new compatible string and struct meson_reset_param to support
the reset controller on T7 SoC.

Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
Signed-off-by: Kelvin Zhang <kelvin.zhang@amlogic.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240422-t7-reset-v2-2-cb82271d3296@amlogic.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2024-09-02 12:09:17 +02:00
Zelong Dong
47c270a9bf dt-bindings: reset: Add Amlogic T7 reset controller
Add a new compatible for Amlogic T7 reset controller.

Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
Signed-off-by: Kelvin Zhang <kelvin.zhang@amlogic.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20240422-t7-reset-v2-1-cb82271d3296@amlogic.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2024-09-02 12:09:17 +02:00
Clément Léger
a05f87270e reset: core: add get_device()/put_device on rcdev
Since the rcdev structure is allocated by the reset controller drivers
themselves, they need to exists as long as there is a consumer. A call to
module_get() is already existing but that does not work when using
device-tree overlays. In order to guarantee that the underlying reset
controller device does not vanish while using it, add a get_device() call
when retrieving a reset control from a reset controller device and a
put_device() when releasing that control.

Signed-off-by: Clément Léger <clement.leger@bootlin.com>
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Steen Hegelund <Steen.Hegelund@microchip.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240808154658.247873-8-herve.codina@bootlin.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2024-09-02 12:02:41 +02:00
Thomas Gleixner
342123d691 - Remove percpu irq related code in the timer-of initialization
routine as it is broken but also unused (Daniel Lezcano)
 
 - Fix return -ETIME when delta exceeds INT_MAX and the next event not
   taking effect sometimes (Jacky Bai)
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEGn3N4YVz0WNVyHskqDIjiipP6E8FAmbVf98ACgkQqDIjiipP
 6E+K3wf/RixAgb3Hy9qRoJxu6sAwOvgxERCAsZae/byvZoaY9JG9FV4uDO0tqewl
 7ph0A3yoVm/8xUHm04tLfvxtU1KzcpHzjc3zF3tlQr91zpbOxxKOvGLWGZmTwqPI
 eAkp7+VSWkxV6Apa0pOZkPc3udNKAlzgw3CRYdFt8P88kMlNfgN7akG4ChsHaD7M
 mE7s6kXiyxz3dkv6joaVVMfrSPKnsBOfxktroQPy/R6OQkDZTV0sFg7MPR9jEhQl
 U5aUtgYMJfz88nFv4/h/j6KAejByFxWof0D7Bv2veQDl0baUq84zmRstHDsKc7IL
 r1GsVZZedAV+MDu9DEST6xtUXfpX0Q==
 =W07G
 -----END PGP SIGNATURE-----

Merge tag 'timers-v6.11-rc7' of https://git.linaro.org/people/daniel.lezcano/linux into timers/urgent

Pull clocksource driver fixes from Daniel Lezcano:

  - Remove percpu irq related code in the timer-of initialization
    routine as it is broken but also unused (Daniel Lezcano)

  - Fix return -ETIME when delta exceeds INT_MAX and the next event not
    taking effect sometimes (Jacky Bai)

Link: https://lore.kernel.org/all/d0e93dbd-b796-4726-b38c-089b685591c9@linaro.org
2024-09-02 11:56:59 +02:00
Krzysztof Kozlowski
0fa8ce76b7 reset: lpc18xx: simplify with devm_clk_get_enabled()
Use devm_clk_get_enabled() to drop clock prepare/unprepare parts and
make the code simpler.  Change to dev_err_probe() in handling
reset_controller_register() error to make it even simpler.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Acked-by: Vladimir Zapolskiy <vz@mleia.com>
Reviewed-by: Vladimir Zapolskiy <vz@mleia.com>
Link: https://lore.kernel.org/r/20240825-reset-cleanup-scoped-v1-5-03f6d834f8c0@linaro.org
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2024-09-02 11:56:15 +02:00
Andy Shevchenko
e8653e63e8
drm/panel: ili9341: Remove duplicate code
Remove duplicate code that is handled by tinyDRM,
i.e. drivers/gpu/drm/tiny/ili9341.c.

Suggested-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240813091258.1625646-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Maxime Ripard <mripard@kernel.org>
2024-09-02 11:53:49 +02:00
Krzysztof Kozlowski
ece222e91f reset: lpc18xx: simplify with dev_err_probe()
Use dev_err_probe() to avoid dmesg flood on actual defer.  This makes
the code also simpler.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Acked-by: Vladimir Zapolskiy <vz@mleia.com>
Reviewed-by: Vladimir Zapolskiy <vz@mleia.com>
Link: https://lore.kernel.org/r/20240825-reset-cleanup-scoped-v1-4-03f6d834f8c0@linaro.org
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2024-09-02 11:51:54 +02:00
Krzysztof Kozlowski
3ec21e7fa8 reset: simplify locking with guard()
Simplify error handling (less gotos) over locks with guard().

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Link: https://lore.kernel.org/r/20240825-reset-cleanup-scoped-v1-3-03f6d834f8c0@linaro.org
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2024-09-02 11:51:44 +02:00
Krzysztof Kozlowski
b14e40f5dc reset: k210: fix OF node leak in probe() error path
Driver is leaking OF node reference on memory allocation failure.
Acquire the OF node reference after memory allocation to fix this and
keep it simple.

Fixes: 5a2308da9f ("riscv: Add Canaan Kendryte K210 reset controller")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Link: https://lore.kernel.org/r/20240825-reset-cleanup-scoped-v1-2-03f6d834f8c0@linaro.org
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2024-09-02 11:51:19 +02:00
Krzysztof Kozlowski
5f58a88cc9 reset: berlin: fix OF node leak in probe() error path
Driver is leaking OF node reference on memory allocation failure.
Acquire the OF node reference after memory allocation to fix this and
keep it simple.

Fixes: aed6f3cadc ("reset: berlin: convert to a platform driver")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Link: https://lore.kernel.org/r/20240825-reset-cleanup-scoped-v1-1-03f6d834f8c0@linaro.org
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2024-09-02 11:51:19 +02:00
Arnd Bergmann
9a2f5cbf8f rk3308 io-domains, and some default settings for bits in the general
register files for rk3128 and the new rk3576 soc.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmbU3/wQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgTtZCACdufbwkqdabyJXm0FK81HUpHCWADzsgNwk
 j5F7X7V4xXLqSjD7jWEeqhT6ZH8un2Nd2cOFh0E2RrPfuBi6Jl/DVyFWQE5s19j+
 duso5cw7E1MiJUDB9TjXD7RAJj2HQYzHFgqeEaigE7j0V7LFug72O4fOg27GUmH4
 soFA5VOVuWB4GzPgqCBFd6Pv7Zi+oikg8gTugyKeNrFUWqunFgVTBNN1t0eoE26Q
 Ycxfth8ovd6CI3o6SxeZu1Yge/Aum6jjhRn6CBcQIBDOyMCJaV1eM5c9LzkB+4sc
 aMVVe2ko/nZ74xiCEUuhrH2VJQ5f/HeSaVvrdOHApoyKUQ69eKq+
 =QvOa
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbVicMACgkQYKtH/8kJ
 UicAlA/+Iv8qCNc33YNV6bQctYW9E6cJU6EViasPu8fK8E7ZKMqOPkULP5uY09Ck
 LHlq6hpYzwwhCZbgBjiN8+yAXHsp99qRLrWOXHveYAwFH5Wy1xox98819gnvpFwu
 w5YkebSnrcHFVDFnYtXBtxKHdRLxaAFoFLXGE8YW9WkqVe2ZamErup7mo/3QVXVF
 cTh5rYkuyMc0M9ZbIfBsO8aBKZmi/yxornW9u5et/5cuCp820ZdskzKHIXUFd8ub
 I9gf/kiLQYhrqPj/IlVxHB+MhrPHWdDfM64CsO2mFi+TdDHbJm0uv/WBR8ftQzga
 FzODKHN+bIOU4WFjm0O5fS4RYiHnh1Aek0yCDzzatr+CMELho2uAQKhrgRzGGC9M
 KDtNtzacpfweO/XypMbhZ08ty7MUFDH/EyWWUnZtNS8/C3VSHe5PS7kyjotwZVp6
 R/jbGWN1jY0D2zcUaH3D3Q8kMaihdP5EYDZtd+vVxb3HNNb85DMqd3ljRIDjQMW/
 RUW+Dwu9G+uU4DfBAvcuz9RtyoACEYuKrxWnUo3PePCrWual9XBXtbOJfeNRXEec
 cEC6O9EuE44KFUwpK0d+Ak2SmtbJ2TP0v1yacgLRB11R8ymhsApb0VfdqqE7NAuH
 ZbwWgqehwWiPnBrbtr4uVmAeY2ad0a2wDRLpdWD3uwVXl07qc9M=
 =XanP
 -----END PGP SIGNATURE-----

Merge tag 'v6.12-rockchip-drivers-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/drivers

rk3308 io-domains, and some default settings for bits in the general
register files for rk3128 and the new rk3576 soc.

* tag 'v6.12-rockchip-drivers-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  soc: rockchip: grf: Add rk3576 default GRF values
  dt-bindings: soc: rockchip: Add rk3576 syscon compatibles
  soc: rockchip: grf: Set RK3128's vpu main clock
  soc: rockchip: io-domain: Add RK3308 IO voltage domains
  dt-bindings: power: rockchip: Document RK3308 IO voltage domains

Link: https://lore.kernel.org/r/23316481.ssLaC8jLEa@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-02 09:47:47 +00:00
Andy Shevchenko
8c045ca534 gpiolib: legacy: Kill GPIOF_DIR_* definitions
Besides the fact that (old) drivers use wrong definitions, e.g.,
GPIOF_DIR_IN instead of GPIOF_IN, shrink the legacy definitions
by killing those GPIOF_DIR_* completely.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Reviewed-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Link: https://lore.kernel.org/r/20240828142554.2424189-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 11:47:06 +02:00
Andy Shevchenko
4b2b0a2ce8 gpiolib: legacy: Kill GPIOF_INIT_* definitions
Besides the fact that (old) drivers use wrong definitions, e.g.,
GPIOF_INIT_HIGH instead of GPIOF_OUT_INIT_HIGH, shrink the legacy
definitions by killing those GPIOF_INIT_* completely.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Reviewed-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Link: https://lore.kernel.org/r/20240828142554.2424189-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 11:47:06 +02:00
Arnd Bergmann
3a059ee655 Memory controller drivers for v6.12
1. Tegra210 EMC: Driver refactoring and rework.
 2. Tegra186 EMC: Drop unused function.
 3. FSL WEIM: Correct fsl,weim-cs-timing property to properly validate it
    as an array.
 4. TI AEMIF: Drop platform data support.
 5. TI EMIF: Switch to of_property_read_bool().
 
 6. Several cleanups in multiple drivers: TI AEMIF and EMIF, Tegra
    EMC/MC, Atmel EBI, Samsung Exynos5422 DMC, STM32 FMC2 EBI, OMAP GPMC,
    PL172 and PL1353 SMC.  These are mostly code simplifying around
    probe() like using
     - devm_clk_get_enabled(),
     - dev_err_probe(),
     - scoped device node handling (cleanup.h),
     - scoped for each OF child loops,
     - scoped/guard locks.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmbNxnEQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD14y6D/4j64Gb8oH5YimxYQz/97B9tTsI0wzWoiPX
 P+pUY1lWDGuN5CwD7LZrBtK2DKk6QJQcQTu7tav5iV0gt1eMYwzHLz+hBuL1TmHH
 SFqApBh1qxib8dyTuu/IFnwqXPJ9vfRwYqWEnUQ66mDe54qlhnlDVgty5ls9LFlA
 cSF4VU+ZctZsUlIy1zAQYq/GLaKh7JA4nn8XkbcoVaDVJ7j+dikovMFE6Thcgcn1
 55nukbaArxjJk/3bwoUNccNy6hiazxTvBjGkFuS5YhWAcLyJfkBGOPpx0vxMSjl0
 n5R+cN/r6dLnNnRXhD6H8ztlq5xWcO1ziUwIOtHCPGgyOcDZ93cKGcHaUiwd5ZlT
 /afYHQSQupty4ntpqK7OasyXyfniprXC/KUbpiodmi63Q1YGdEJYp6Q42g/1Xj73
 XKch3aOshFePdb2QAZuWXISTucu3cQw7iL7j/FJp6spLSR5W/30lEIUwjAcVrPrF
 V4S2WiwQxqZZQqFtmijnoC76bdLS76MqlRkZlFx0wpM6ILnQgjqLGmENYaMm8rqV
 myIrc/cQ3LJX0+kKisVdfbHNs1KWVh3s6GCDrvLlUnqRcjrzvTxV1uwkJVcN3U2g
 OOpsbJYujYzpw4JMdsFK481HE3+gOhN/jYIc0vUooXw3LkKtx4Rk7cPnAmDfju7C
 AKhEikLr+g==
 =/0oc
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbViXcACgkQYKtH/8kJ
 UifDtw//VhTtafBj9zQgOCUcdUhYVEbVI/CvHsmtFI87b+ovC0JyzJQL/TP0bTcH
 xrk3pN1/+T1A0hTPR59b93uJVNd082iz0LA+1L5Um6bMf4wziLF8MwPg7oORNVCh
 dM2B/5UYEdz74lJDda2FThHQ0LBP3to+GzERMOWUN4kQApHiM63q4uU1Lz5O/v/X
 ULCe6mwAqn8ugW0LmPUiZwXPxYraK/MQniWlK+IfxJuYeRrc4dciSEAwvjt3yG0Q
 2yDuIRn2Va6+q0uE9N/gY3Yc2t1idBpnaD/nxFO6jmTk3a+x4zI6fIbvLLvzWBbb
 aVQlqWoNsvSJ7msNLIZH0O7J2vszRbphiTDRTkT9sHqNnJ4A4szd7C+b5/g3EGsZ
 LOSVsvEMeVHmNAL9CJEbgA2UtdoPJL5mPIWLaC2XIR6h0eWd3+p56bg4msToLsj/
 gkIJkwXjltxjQJ6NfCHfJC3BbbtHYnNeA+xWGbCVVaCEjEu88rnWlRpOKhEKc2cH
 tWYF13sSGmZqVNDXarItrLL6xCOD30l+QkjO3l8R/gphqfNAS8dXBviDxjxMiwp5
 vjA7cUROgu9I5P6sCYFFohBmYWTcH1/Kl4Gks0JAAD48gd8e8LaZP8pyuVP21dEh
 9f7e1FhsDKCQYZMq/WCJZR1fGGvD2OZYi+qfo8aTUDbuH9fCK4Q=
 =W0Pq
 -----END PGP SIGNATURE-----

Merge tag 'memory-controller-drv-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers

Memory controller drivers for v6.12

1. Tegra210 EMC: Driver refactoring and rework.
2. Tegra186 EMC: Drop unused function.
3. FSL WEIM: Correct fsl,weim-cs-timing property to properly validate it
   as an array.
4. TI AEMIF: Drop platform data support.
5. TI EMIF: Switch to of_property_read_bool().

6. Several cleanups in multiple drivers: TI AEMIF and EMIF, Tegra
   EMC/MC, Atmel EBI, Samsung Exynos5422 DMC, STM32 FMC2 EBI, OMAP GPMC,
   PL172 and PL1353 SMC.  These are mostly code simplifying around
   probe() like using
    - devm_clk_get_enabled(),
    - dev_err_probe(),
    - scoped device node handling (cleanup.h),
    - scoped for each OF child loops,
    - scoped/guard locks.

* tag 'memory-controller-drv-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl: (35 commits)
  memory: mtk-smi: Use devm_clk_get_enabled()
  memory: pl353-smc: simplify with devm_clk_get_enabled()
  memory: pl353-smc: simplify with dev_err_probe()
  memory: pl172: simplify with devm_clk_get_enabled()
  memory: pl172: simplify with dev_err_probe()
  memory: omap-gpmc: simplify locking with guard()
  memory: emif: simplify locking with guard()
  memory: emif: drop unused 'irq_state' member
  memory: ti-aemif: Revert "memory: ti-aemif: don't needlessly iterate over child nodes"
  memory: ti-aemif: simplify with scoped for each OF child loop
  memory: ti-aemif: simplify with dev_err_probe()
  memory: tegra30-emc: simplify with scoped for each OF child loop
  memory: tegra20-emc: simplify with scoped for each OF child loop
  memory: tegra124-emc: simplify with scoped for each OF child loop
  memory: tegra-mc: simplify with scoped for each OF child loop
  memory: stm32-fmc2-ebi: simplify with dev_err_probe()
  memory: stm32-fmc2-ebi: simplify with scoped for each OF child loop
  memory: samsung: exynos5422-dmc: use scoped device node handling to simplify error paths
  memory: samsung: exynos5422-dmc: simplify dmc->dev usage
  memory: atmel-ebi: simplify with scoped for each OF child loop
  ...

Link: https://lore.kernel.org/r/20240827122926.30794-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-02 09:46:31 +00:00
Shen Lichuan
1882e76936 gpio: stmpe: Simplify with dev_err_probe()
Use dev_err_probe() to simplify the error path and unify a message
template.

Using this helper is totally fine even if err is known to never
be -EPROBE_DEFER.

The benefit compared to a normal dev_err() is the standardized format
of the error code, it being emitted symbolically and the fact that
the error code is returned which allows more compact error paths.

Signed-off-by: Shen Lichuan <shenlichuan@vivo.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20240829131051.43200-1-shenlichuan@vivo.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-09-02 11:45:05 +02:00
Arnd Bergmann
8f99d776b9 Samsung SoC drivers for v6.12
1. Improve Samsung USI (Universal Serial Interface) DT binding,
 2. Cleanup old Samsung MFC TXT binding.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmbNwzAQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1wwWD/4ho/LXAb1Z4gdXdOaDTFNBh1Ek4X4pjHG3
 EWARURF4fsWSasrpKX626djNnfmEQ3zYz1Mu4vF1EgLZKgujFQL9NouuBal8R32L
 XmcRHBku0M7LZ36bWfoiYIC/4dnDuzl1yd/Db1ENrjSX3vGB7r342XCLpELMKRju
 7b72D6kxkb2AW5alZjRSElNYAkldlb5IcHuUh5uspmatn6LLt+mmzjQ1DLCm1OVq
 miwKPigWBFUAsTITFyGq67+a1HmrdhD7ryLzmZgdTLY4C/YFpCGcd+uYbamxMAXp
 E2TswWLhwAnK/VqxnKKg5p7k02Ubkadbtl8ZtBK9cXv/7wbygWfA9DbegeS3uf/r
 fTwxf/u1u96JIxGk5nYhrAtdIouSM3ojj509fkvcRrMlnwbKTCdA0sCDl+CBqHLh
 nADaBYFXxAaiSlPigpxKiGQBoz4F5wmYF4MbuXYGBimsUUbeTT3MCeW/C8yo2hdR
 NxGEEmsj7T/4uIgr4pS+CdE1U5EL5ii+gVFmp2HonNBuuJu/x6yo4INeNsjcnTH8
 JYimS9CBdMsc68yUXfuZDoAOAX51k1lNOdBxoQEbhXa/SWtLC8AWZVhlOCbAFk++
 JYuM2aksyEyDSTjvZ855gWm+FYGiItQT9CDZdSARBCe57FzHkHhiZHf3MeRoXyQn
 ty2PJ5wecg==
 =fXcr
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbViPYACgkQYKtH/8kJ
 UicdDg//VFsETriXe9/wodwiCIOXZOqHTy4hA4AxNmvcaKZj4/PkbEpJYEX/ztQ9
 cDiKqL7r4rK1avBhSswLIgKlKjo0MmqPcyTRhM99sX13L8xH77Ol/l9OP7bGGzUw
 dmNnS1i5jXvWaAcnDGDrcMut0kUwsr9du8Cf0b1afr89I6P7bgPgcz+bJle7bZuD
 X33yvB0fuhSYtow8MO+qtn7GD9DedzQPAHUNdqxLyTFCSt0UhoS3OheeNR6n61jO
 DVptFTnVtzgGqOPQDYSw4DH9Sue5uIun/PJWL0z+by0H9dXwNMzidw3cBuLWT0eR
 9nsuLomQsVqxU3OOboCxH2YCiXkRWt+lIWZeyF10Cu8T1C41IHUmeXVQOOQwJHZZ
 mc2YJUQBaVAtGy+k6FFAoMkvv0pcG1GBu2OnwP1wERKZjJaX2x6+HNubOmcX3I8n
 hWxcRpR4pIVrw3ybf+/lpqEuKOpx+ezyv1i6Y1mtzvHMBEvWB96YUpfwPB9fgzJd
 wArNtjpM30L/EnlGtMuHaQ09BMZF5zfLsTsA19Da18S4czKlC9VtRtM9VGokL2aU
 4dpf/2N0vMXMyC/O8xTqURFGD/Dk98PfG1R8/gCw2PprXVQ/Gl8H7jRoikVmzfZf
 nFlrtWlwY4eeB5i5hyFKHOWnC4cyQ0yeWbb6MYboTqfqicku3xg=
 =FV3l
 -----END PGP SIGNATURE-----

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

Samsung SoC drivers for v6.12

1. Improve Samsung USI (Universal Serial Interface) DT binding,
2. Cleanup old Samsung MFC TXT binding.

* tag 'samsung-drivers-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  dt-bindings: media: s5p-mfc: Remove s5p-mfc.txt binding
  dt-bindings: samsung: exynos-usi: add missing constraints

Link: https://lore.kernel.org/r/20240827121638.29707-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-02 09:44:22 +00:00
Jinjie Ruan
9b79594aa4 drm/panthor: Use the BITS_PER_LONG macro
sizeof(unsigned long) * 8 is the number of bits in an unsigned long
variable, replace it with BITS_PER_LONG macro to make them simpler.

And fix the warning:
	WARNING: Comparisons should place the constant on the right side of the test
	#23: FILE: drivers/gpu/drm/panthor/panthor_mmu.c:2696:
	+       if (BITS_PER_LONG < va_bits) {

Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240902094404.1943710-1-ruanjinjie@huawei.com
2024-09-02 10:43:54 +01:00