linux-stable/drivers/firmware/arm_scmi
Cristian Marussi edc5c66d15 firmware: arm_scmi: Add SCMI PM driver remove routine
[ Upstream commit dea796fcab ]

Currently, when removing the SCMI PM driver not all the resources
registered with genpd subsystem are properly de-registered.

As a side effect of this after a driver unload/load cycle you get a
splat with a few warnings like this:

 | debugfs: Directory 'BIG_CPU0' with parent 'pm_genpd' already present!
 | debugfs: Directory 'BIG_CPU1' with parent 'pm_genpd' already present!
 | debugfs: Directory 'LITTLE_CPU0' with parent 'pm_genpd' already present!
 | debugfs: Directory 'LITTLE_CPU1' with parent 'pm_genpd' already present!
 | debugfs: Directory 'LITTLE_CPU2' with parent 'pm_genpd' already present!
 | debugfs: Directory 'LITTLE_CPU3' with parent 'pm_genpd' already present!
 | debugfs: Directory 'BIG_SSTOP' with parent 'pm_genpd' already present!
 | debugfs: Directory 'LITTLE_SSTOP' with parent 'pm_genpd' already present!
 | debugfs: Directory 'DBGSYS' with parent 'pm_genpd' already present!
 | debugfs: Directory 'GPUTOP' with parent 'pm_genpd' already present!

Add a proper scmi_pm_domain_remove callback to the driver in order to
take care of all the needed cleanups not handled by devres framework.

Link: https://lore.kernel.org/r/20220817172731.1185305-7-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-12 09:51:23 +02:00
..
base.c firmware: arm_scmi: Avoid using extended string-buffers sizes if not necessary 2022-06-10 17:55:29 +01:00
bus.c firmware: arm_scmi: Remove usage of the deprecated ida_simple_xxx API 2022-06-27 16:58:14 +01:00
clock.c firmware: arm_scmi: Improve checks in the info_get operations 2022-10-12 09:51:23 +02:00
common.h firmware: arm_scmi: Split protocol specific definitions in a dedicated header 2022-04-28 18:22:51 +01:00
driver.c firmware: arm_scmi: Relax CLOCK_DESCRIBE_RATES out-of-spec checks 2022-06-20 10:17:33 +01:00
Kconfig firmware: arm_scmi: Support optee shared memory in the optee transport 2022-04-28 18:22:53 +01:00
mailbox.c firmware: arm_scmi: Add new parameter to mark_txdone 2021-12-21 10:59:38 +00:00
Makefile firmware: arm_scmi: Disable ftrace for Clang Thumb2 builds 2022-02-08 23:06:40 +00:00
msg.c firmware: arm_scmi: Add message passing abstractions for transports 2021-08-05 10:23:23 +01:00
notify.c firmware: arm_scmi: Fix kernel doc warnings about return values 2021-07-13 11:39:54 +01:00
notify.h firmware: arm_scmi: Remove duplicate declaration of struct scmi_protocol_handle 2021-04-27 11:57:26 +01:00
optee.c firmware: arm_scmi: Fix response size warning for OPTEE transport 2022-06-27 11:59:24 +01:00
perf.c firmware: arm_scmi: Avoid using extended string-buffers sizes if not necessary 2022-06-10 17:55:29 +01:00
power.c firmware: arm_scmi: Avoid using extended string-buffers sizes if not necessary 2022-06-10 17:55:29 +01:00
protocols.h firmware: arm_scmi: Relax CLOCK_DESCRIBE_RATES out-of-spec checks 2022-06-20 10:17:33 +01:00
reset.c firmware: arm_scmi: Fix the asynchronous reset requests 2022-09-28 11:32:08 +02:00
scmi_pm_domain.c firmware: arm_scmi: Add SCMI PM driver remove routine 2022-10-12 09:51:23 +02:00
sensors.c firmware: arm_scmi: Harden accesses to the sensor domains 2022-10-12 09:51:23 +02:00
shmem.c firmware: arm_scmi: Rename .clear_notification() transport_ops 2020-04-20 17:25:26 +01:00
smc.c firmware: arm_scmi: Add new parameter to mark_txdone 2021-12-21 10:59:38 +00:00
system.c firmware: arm_scmi: Split protocol specific definitions in a dedicated header 2022-04-28 18:22:51 +01:00
virtio.c firmware: arm_scmi: Add atomic mode support to virtio transport 2022-02-21 10:36:48 +00:00
voltage.c firmware: arm_scmi: Fix incorrect error propagation in scmi_voltage_descriptors_get 2022-06-12 19:59:55 +01:00