linux/drivers/soc/samsung
Marek Szyprowski 1f11f4e8b7 soc: samsung: exynos-pmu: Fix structure initialization
[ Upstream commit 2224ea67c7 ]

Commit 78b72897a5 ("soc: samsung: exynos-pmu: Enable CPU Idle for
gs101") added system wide suspend/resume callbacks to Exynos PMU driver,
but some items used by these callbacks are initialized only on
GS101-compatible boards. Move that initialization to exynos_pmu_probe()
to avoid potential lockdep warnings like below observed during system
suspend/resume cycle:

INFO: trying to register non-static key.
The code is fine but needs lockdep annotation, or maybe
you didn't initialize this object before use?
turning off the locking correctness validator.
CPU: 0 UID: 0 PID: 2134 Comm: rtcwake Not tainted 6.18.0-rc7-next-20251126-00039-g1d656a1af243 #11794 PREEMPT
Hardware name: Samsung Exynos (Flattened Device Tree)
Call trace:
 unwind_backtrace from show_stack+0x10/0x14
 show_stack from dump_stack_lvl+0x68/0x88
 dump_stack_lvl from register_lock_class+0x970/0x988
 register_lock_class from __lock_acquire+0xc8/0x29ec
 __lock_acquire from lock_acquire+0x134/0x39c
 lock_acquire from _raw_spin_lock+0x38/0x48
 _raw_spin_lock from exynos_cpupm_suspend_noirq+0x18/0x34
 exynos_cpupm_suspend_noirq from dpm_run_callback+0x98/0x2b8
 dpm_run_callback from device_suspend_noirq+0x8c/0x310

Fixes: 78b72897a5 ("soc: samsung: exynos-pmu: Enable CPU Idle for gs101")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://patch.msgid.link/20251126110038.3326768-1-m.szyprowski@samsung.com
[krzk: include calltrace into commit msg]
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-12-18 14:03:25 +01:00
..
exynos-asv.c soc: samsung: include linux/array_size.h where needed 2025-03-06 19:10:17 +01:00
exynos-asv.h soc: samsung: exynos-chipid: convert to driver and merge exynos-asv 2021-01-03 17:08:45 +01:00
exynos-chipid.c Samsung mach/soc changes for v6.15 2025-03-19 22:39:12 +01:00
exynos-pmu.c soc: samsung: exynos-pmu: Fix structure initialization 2025-12-18 14:03:25 +01:00
exynos-pmu.h soc: samsung: exynos-pmu: enable CPU hotplug support for gs101 2025-05-13 10:02:29 +02:00
exynos-regulator-coupler.c soc: samsung: exynos-regulator-coupler: Add simple voltage coupler for Exynos5800 2020-07-22 22:33:57 +02:00
exynos-usi.c soc: samsung: usi: prevent wrong bits inversion during unconfiguring 2025-04-14 08:51:18 +02:00
exynos4-pmu.c soc: samsung: exynos-pmu: Re-introduce Exynos4212 support 2023-05-09 19:49:37 +02:00
exynos3250-pmu.c soc: samsung: include linux/array_size.h where needed 2025-03-06 19:10:17 +01:00
exynos5250-pmu.c soc: samsung: include linux/array_size.h where needed 2025-03-06 19:10:17 +01:00
exynos5420-pmu.c soc: samsung: include linux/array_size.h where needed 2025-03-06 19:10:17 +01:00
exynos5422-asv.c soc: samsung: exynos-chipid: convert to a module 2021-09-29 15:50:34 +02:00
exynos5422-asv.h soc: samsung: Add Exynos Adaptive Supply Voltage driver 2019-10-28 17:59:33 +01:00
Kconfig soc: samsung: exynos-pmu: Add regmap support for SoCs that protect PMU regs 2024-02-25 11:39:23 +01:00
Makefile soc: samsung: Move power-domain driver to the genpd dir 2023-07-14 10:40:56 +02:00
s3c-pm-check.c soc: samsung: s3c-pm-check: Fix incorrectly named variable 'val' 2020-11-03 21:37:45 +01:00