2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/drivers/bus
Johan Hovold 32ce5d87d5 bus: simple-pm-bus: fix forced runtime PM use
The simple-pm-bus driver only enables runtime PM for some buses
('simple-pm-bus') yet has started calling pm_runtime_force_suspend() and
pm_runtime_force_resume() during system suspend unconditionally.

This currently works, but that is not obvious and depends on
implementation details which may change at some point.

Add dedicated system sleep ops and only call pm_runtime_force_suspend()
and pm_runtime_force_resume() for buses that use runtime PM to avoid any
future surprises.

Fixes: c45839309c ("drivers: bus: simple-pm-bus: Use clocks")
Cc: Liu Ying <victor.liu@nxp.com>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Liu Ying <victor.liu@nxp.com>
Acked-by: Rafael J. Wysocki <rafael@kernel.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20250214102130.3000-1-johan+linaro@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-02-20 15:22:02 +01:00
..
fsl-mc bus: fsl-mc: constify the struct device_type usage 2025-01-10 15:25:01 +01:00
mhi bus: mhi: host: pci_generic: Use pci_try_reset_function() to avoid deadlock 2025-02-19 19:50:23 +05:30
arm-cci.c bus: arm-cci: remove unnecessary unreachable() 2018-05-14 01:22:49 -07:00
arm-integrator-lm.c bus: integrator-lm: fix OF node leak in probe() 2024-09-02 10:18:43 +02:00
brcmstb_gisb.c bus: brcmstb_gisb: fix module autoloading 2024-04-10 10:55:05 -07:00
bt1-apb.c bus: bt1-apb: change to use devm_clk_get_enabled() helper 2024-08-29 10:45:13 +02:00
bt1-axi.c bus: bt1-axi: change to use devm_clk_get_enabled() helper 2024-08-29 10:44:53 +02:00
da8xx-mstpri.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
hisi_lpc.c bus: Switch back to struct platform_driver::remove() 2024-11-12 15:53:37 +01:00
imx-weim.c bus: imx-weim: change to use devm_clk_get_enabled() helper 2024-09-01 17:06:33 +08:00
intel-ixp4xx-eb.c bus: ixp4xx: fix IXP4XX_EXP_T1_MASK 2023-07-05 22:22:55 +02:00
Kconfig bus: imx-weim: support compile test 2024-09-01 17:06:33 +08:00
Makefile bus: etzpc: introduce ETZPC firewall controller driver 2024-04-25 14:44:39 +02:00
mips_cdmm.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
moxtet.c genirq: Remove leading space from irq_chip::irq_print_chip() callbacks 2025-02-07 08:56:01 +01:00
mvebu-mbus.c bus: mvebu-mbus: Remove open coded "ranges" parsing 2023-04-18 11:18:24 -05:00
omap_l3_noc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE 2022-06-10 14:51:36 +02:00
omap_l3_noc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE 2022-06-10 14:51:36 +02:00
omap_l3_smx.c bus: Switch back to struct platform_driver::remove() 2024-11-12 15:53:37 +01:00
omap_l3_smx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
omap-ocp2scp.c bus: Switch back to struct platform_driver::remove() 2024-11-12 15:53:37 +01:00
qcom-ebi2.c bus: qcom: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:50 -07:00
qcom-ssc-block-bus.c bus: Switch back to struct platform_driver::remove() 2024-11-12 15:53:37 +01:00
simple-pm-bus.c bus: simple-pm-bus: fix forced runtime PM use 2025-02-20 15:22:02 +01:00
stm32_etzpc.c bus: etzpc: introduce ETZPC firewall controller driver 2024-04-25 14:44:39 +02:00
stm32_firewall.c bus: stm32_firewall: fix off by one in stm32_firewall_get_firewall() 2024-04-25 14:44:39 +02:00
stm32_firewall.h firewall: introduce stm32_firewall framework 2024-04-05 16:49:14 +02:00
stm32_rifsc.c bus: rifsc: introduce RIFSC firewall controller driver 2024-04-24 14:30:35 +02:00
sun50i-de2.c bus: Switch back to struct platform_driver::remove() 2024-11-12 15:53:37 +01:00
sunxi-rsb.c bus: Switch back to struct platform_driver::remove() 2024-11-12 15:53:37 +01:00
tegra-aconnect.c bus: Switch back to struct platform_driver::remove() 2024-11-12 15:53:37 +01:00
tegra-gmi.c bus: Switch back to struct platform_driver::remove() 2024-11-12 15:53:37 +01:00
ti-pwmss.c bus: Switch back to struct platform_driver::remove() 2024-11-12 15:53:37 +01:00
ti-sysc.c bus: Switch back to struct platform_driver::remove() 2024-11-12 15:53:37 +01:00
ts-nbus.c bus: Switch back to struct platform_driver::remove() 2024-11-12 15:53:37 +01:00
uniphier-system-bus.c bus: uniphier-system-bus: Remove open coded "ranges" parsing 2023-03-30 13:37:21 -05:00
vexpress-config.c bus: vexpress-config: Add missing MODULE_DESCRIPTION() macro 2024-06-20 09:43:33 +01:00