linux/drivers/soc
Stephen Boyd 37b3829702 soc: qcom: stats: Populate all subsystem debugfs files
[ Upstream commit acdbf5f9b2 ]

This driver relies on SMEM to populate items for each subsystem before
the device probes. The items in SMEM that are being looked for are
populated by the subsystems lazily, and therefore may not exist until
the device has booted. For example, if I build this driver into the
kernel on Trogdor Lazor and boot up, I don't see a 'modem' debugfs file
populated, because the modem boots and populates the SMEM item after
this driver probes.

Always populate the files for the subsystems if they're in SMEM, and
make the qcom_subsystem_sleep_stats_show() function return 0 if the SMEM
items still isn't there. This way we can run a simple command like

	grep ^ /sys/kernel/debug/qcom_stats/*

and collect the subsystem sleep stats without interspersed errors or
missing details entirely because this driver probed first.

Fixes: 1d77246903 ("soc: qcom: Add Sleep stats driver")
Cc: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230119032329.2909383-1-swboyd@chromium.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2023-03-11 13:50:27 +01:00
..
actions soc: actions: include header to fix missing prototype 2020-09-22 12:45:16 +05:30
amlogic soc: amlogic: meson-pwrc: Hold reference returned by of_get_parent() 2022-09-05 09:23:54 +02:00
apple soc: apple: rtkit: Stop casting function pointer signatures 2022-11-28 20:34:09 +09:00
aspeed soc: aspeed: lpc-ctrl: Block error printing on probe defer cases 2022-02-08 09:52:59 +01:00
atmel ARM: at91: fix soc detection for SAM9X60 SiPs 2022-06-28 12:55:32 +03:00
bcm ARM updates for 6.2 2022-12-13 15:22:14 -08:00
canaan riscv: canaan: remove useless select of non-existing config SYSCON 2022-01-20 09:35:11 -08:00
dove treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
fsl Pin control changes for the v6.2 kernel cycle: 2022-12-13 13:03:06 -08:00
fujitsu soc: a64fx-diag: disable modular build 2022-07-20 17:58:18 +02:00
gemini soc: Add SoC driver for Gemini 2018-01-04 17:01:53 +01:00
imx soc: imx8m: Fix incorrect check for of_clk_get_by_name() 2023-01-02 21:16:05 +08:00
ixp4xx soc: ixp4xx/npe: Fix unused match warning 2022-07-01 15:14:26 +02:00
lantiq soc: lantiq: convert to devm_platform_ioremap_resource 2020-01-10 11:44:52 -08:00
litex drivers/soc/litex: remove 8-bit subregister option 2021-06-11 04:35:40 +09:00
loongson soc: loongson: add GUTS driver for loongson-2 platforms 2022-11-14 16:01:32 +01:00
mediatek soc: mediatek: mtk-svs: Use pm_runtime_resume_and_get() in svs_init01() 2023-03-11 13:50:23 +01:00
microchip ARM driver updates for 5.18 2022-03-23 18:23:13 -07:00
pxa pxa: Remove dev_err() after platform_get_irq() 2022-12-04 13:10:57 +01:00
qcom soc: qcom: stats: Populate all subsystem debugfs files 2023-03-11 13:50:27 +01:00
renesas soc: renesas: Identify RZ/V2M SoC 2022-11-17 20:20:42 +01:00
rockchip soc: rockchip: power-domain: add power domain support for rk3588 2022-09-09 19:06:41 +02:00
samsung MAINTAINERS: update Krzysztof Kozlowski's email 2022-03-07 23:46:03 +01:00
sifive soc: sifive: ccache: fix missing of_node_put() in sifive_ccache_init() 2022-11-09 22:01:31 +00:00
sunxi soc: sunxi: sram: Add support for the D1 system control 2022-09-18 22:54:38 +02:00
tegra ARM: SoC fixes for 6.2 2022-12-19 16:07:59 -06:00
ti Updates for the interrupt core and driver subsystem: 2022-12-12 11:21:29 -08:00
ux500 ARM: ux500: do not directly dereference __iomem 2022-11-08 21:13:56 +01:00
versatile soc: integrator: Drop pointless static qualifier in integrator_soc_init() 2020-08-20 08:57:05 +02:00
xilinx driver: soc: xilinx: fix memory leak in xlnx_add_cb_for_notify_event() 2023-03-11 13:50:21 +01:00
Kconfig soc: loongson: add GUTS driver for loongson-2 platforms 2022-11-14 16:01:32 +01:00
Makefile soc: loongson: add GUTS driver for loongson-2 platforms 2022-11-14 16:01:32 +01:00